UNPKG

@ipp/cli

Version:

An image build orchestrator for the modern web

85 lines (84 loc) 4.58 kB
"use strict"; /** * Image Processing Pipeline - Copyright (c) Marcus Cemes * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Summary = void 0; const figures_1 = __importDefault(require("figures")); const ink_1 = require("ink"); const react_1 = __importStar(require("react")); const state_1 = require("../../lib/state"); const constants_1 = require("./constants"); const Notice = ({ children }) => (react_1.default.createElement(ink_1.Box, { marginTop: 1 }, react_1.default.createElement(ink_1.Box, { marginRight: 1 }, react_1.default.createElement(ink_1.Text, { color: "whiteBright" }, figures_1.default.bullet)), children)); const CompletionSummary = ({ completed, failed, }) => (react_1.default.createElement(ink_1.Box, { width: constants_1.TERMINAL_WIDTH, justifyContent: "center" }, react_1.default.createElement(ink_1.Box, { borderStyle: "single", paddingX: 2, flexDirection: "column" }, react_1.default.createElement(ink_1.Box, { marginBottom: 1, justifyContent: "center" }, react_1.default.createElement(ink_1.Text, { bold: true }, "\uD83C\uDF89 All done!")), react_1.default.createElement(ink_1.Box, null, react_1.default.createElement(ink_1.Box, null, react_1.default.createElement(ink_1.Text, null, react_1.default.createElement(ink_1.Text, { color: "green" }, figures_1.default.tick), " ", react_1.default.createElement(ink_1.Text, { bold: true }, completed), " completed")), !!failed && (react_1.default.createElement(ink_1.Box, { marginLeft: 4 }, react_1.default.createElement(ink_1.Text, null, react_1.default.createElement(ink_1.Text, { color: "red", bold: true }, figures_1.default.cross), " ", react_1.default.createElement(ink_1.Text, { bold: true }, failed), " failed"))))))); const Notices = ({ manifest, failed }) => (react_1.default.createElement(ink_1.Box, { paddingLeft: 4, width: constants_1.TERMINAL_WIDTH * 1.5, flexDirection: "column" }, manifest && (react_1.default.createElement(Notice, null, react_1.default.createElement(ink_1.Text, null, "A ", react_1.default.createElement(ink_1.Text, { color: "whiteBright" }, "manifest.json"), " file has been generated."))), failed && (react_1.default.createElement(Notice, null, react_1.default.createElement(ink_1.Text, null, "Some images have failed, see ", react_1.default.createElement(ink_1.Text, { color: "whiteBright" }, "errors.json"), " for more information."))))); const Summary = ({ state }) => { const app = (0, ink_1.useApp)(); (0, react_1.useEffect)(() => { app.exit(); }, []); if (state.status === state_1.Status.ERROR) return null; return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(CompletionSummary, { completed: state.images.completed, failed: state.images.failed }), react_1.default.createElement(Notices, { manifest: !!state.manifest, failed: !!state.images.failed }))); }; exports.Summary = Summary;