UNPKG

tateru-cli

Version:

Simple CLI static site builder tool with Twig.

78 lines 7.94 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.core = void 0; const path_1 = __importDefault(require("path")); const getTemplateBase_1 = require("./core/utils/getTemplateBase"); const iterateKeys_1 = require("./core/utils/iterateKeys"); const readJson_1 = require("./utils/readJson"); const composeData_1 = require("./core/utils/composeData"); const getFileType_1 = require("./core/utils/getFileType"); const getTemplateFile_1 = require("./core/utils/getTemplateFile"); const buildTemplate_1 = require("./core/services/buildTemplate"); const minifyContents_1 = require("./minify/minifyContents"); const defines_1 = require("./definition/defines"); const loopTranslations = (_a) => __awaiter(void 0, [_a], void 0, function* ({ config, lang, cwd, }) { return Promise.all(Array.from((0, iterateKeys_1.iterateKeys)(config.translations, lang)).map((translationKey) => __awaiter(void 0, void 0, void 0, function* () { const translationConfig = Object.assign({}, config.translations[translationKey]); const translationData = yield (0, readJson_1.readJson)(cwd, translationConfig.src); return { translationKey: String(translationKey), translationConfig, translationData, }; }))); }); const core = (_a) => __awaiter(void 0, [_a], void 0, function* ({ config, env = defines_1.ENV_DEVELOPMENT, lang, page, cwd = '.', formatter, minify, }) { var _b; const files = []; const templateBase = (0, getTemplateBase_1.getTemplateBase)(cwd, config.options.src); const translations = yield loopTranslations({ config, lang, cwd }); for (const { translationKey, translationConfig, translationData } of translations) { const pagesConfig = Object.assign({}, config.pages[translationKey]); const envConfig = Object.assign({}, config.env[env]); for (const pageKey of (0, iterateKeys_1.iterateKeys)(pagesConfig, page)) { const pageConfig = Object.assign({}, pagesConfig[pageKey]); const pageData = (0, composeData_1.composeData)(translationKey, config.options.data, envConfig.data, pageConfig.data, pagesConfig); const relativeFilePath = path_1.default.join(config.options.ext, translationConfig.ext, pageConfig.ext); const file = { cwd, base: path_1.default.dirname(relativeFilePath), path: relativeFilePath, ext: pageConfig.ext, type: (_b = (0, getFileType_1.getFileType)(pageConfig.ext)) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase().trim(), contents: '', }; const templateFile = (0, getTemplateFile_1.getTemplateFile)(templateBase, pageConfig.src); file.contents = (0, buildTemplate_1.buildTemplate)(pageData, translationData, templateBase, templateFile); if (typeof formatter === 'function') { file.contents = yield formatter(file.contents, file.type); } if ((pageConfig.minify || []).includes(env)) { if (typeof minify === 'function') { file.contents = yield minify(file.contents, file.type); } else { file.contents = yield (0, minifyContents_1.minifyContents)(file.contents, file.type); } } files.push(file); } ; } ; return files; }); exports.core = core; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixrRUFBK0Q7QUFDL0QsMERBQXVEO0FBQ3ZELCtDQUE0QztBQUM1QywwREFBdUQ7QUFDdkQsMERBQXVEO0FBQ3ZELGtFQUErRDtBQUMvRCxpRUFBOEQ7QUFDOUQsNERBQXlEO0FBQ3pELGtEQUF1RDtBQUd2RCxNQUFNLGdCQUFnQixHQUFHLEtBUXRCLEVBQUUsNENBUjJCLEVBQzVCLE1BQU0sRUFDTixJQUFJLEVBQ0osR0FBRyxHQUtOO0lBQ0csT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNkLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBQSx5QkFBVyxFQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBTyxjQUFjLEVBQUUsRUFBRTtRQUM1RSxNQUFNLGlCQUFpQixxQkFDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FDekMsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxPQUFPO1lBQ0gsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUM7WUFDdEMsaUJBQWlCO1lBQ2pCLGVBQWU7U0FDbEIsQ0FBQztJQUNOLENBQUMsQ0FBQSxDQUFDLENBQ0wsQ0FBQztBQUNOLENBQUMsQ0FBQSxDQUFDO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FRaUIsRUFBRSw0Q0FSWixFQUN2QixNQUFNLEVBQ04sR0FBRyxHQUFHLHlCQUFlLEVBQ3JCLElBQUksRUFDSixJQUFJLEVBQ0osR0FBRyxHQUFHLEdBQUcsRUFDVCxTQUFTLEVBQ1QsTUFBTSxHQUNJOztJQUNWLE1BQU0sS0FBSyxHQUFlLEVBQUUsQ0FBQztJQUU3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