UNPKG

tateru-cli

Version:

Simple CLI static site builder tool with Twig.

77 lines 7.64 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 = ({ config, lang, cwd, }) => __awaiter(void 0, void 0, void 0, function* () { return Promise.all(Array.from(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 readJson_1.readJson(cwd, translationConfig.src); return { translationKey, translationConfig, translationData, }; }))); }); exports.core = ({ config, env = defines_1.ENV_DEVELOPMENT, lang, page, cwd = '.', formatter, minify, }) => __awaiter(void 0, void 0, void 0, function* () { var _a; const files = []; const templateBase = 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 iterateKeys_1.iterateKeys(pagesConfig, page)) { const pageConfig = Object.assign({}, pagesConfig[pageKey]); const pageData = 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: (_a = getFileType_1.getFileType(pageConfig.ext)) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().trim(), contents: '', }; const templateFile = getTemplateFile_1.getTemplateFile(templateBase, pageConfig.src); file.contents = 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 minifyContents_1.minifyContents(file.contents, file.type); } } files.push(file); } ; } ; return files; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixrRUFBK0Q7QUFDL0QsMERBQXVEO0FBQ3ZELCtDQUE0QztBQUM1QywwREFBdUQ7QUFDdkQsMERBQXVEO0FBQ3ZELGtFQUErRDtBQUMvRCxpRUFBOEQ7QUFDOUQsNERBQXlEO0FBQ3pELGtEQUF1RDtBQUd2RCxNQUFNLGdCQUFnQixHQUFHLENBQU8sRUFDNUIsTUFBTSxFQUNOLElBQUksRUFDSixHQUFHLEdBS04sRUFBRSxFQUFFO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNkLEtBQUssQ0FBQyxJQUFJLENBQUMseUJBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQU8sY0FBYyxFQUFFLEVBQUU7UUFDNUUsTUFBTSxpQkFBaUIscUJBQ2hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQ3pDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLG1CQUFRLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5FLE9BQU87WUFDSCxjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGVBQWU7U0FDbEIsQ0FBQztJQUNOLENBQUMsQ0FBQSxDQUFDLENBQ0wsQ0FBQztBQUNOLENBQUMsQ0FBQSxDQUFDO0FBRVcsUUFBQSxJQUFJLEdBQUcsQ0FBTyxFQUN2QixNQUFNLEVBQ04sR0FBRyxHQUFHLHlCQUFlLEVBQ3JCLElBQUksRUFDSixJQUFJLEVBQ0osR0FBRyxHQUFHLEdBQUcsRUFDVCxTQUFTLEVBQ1QsTUFBTSxHQUNJLEVBQXVCLEVBQUU7O0lBQ25DLE1BQU0sS0FBSyxHQUFlLEVBQUUsQ0FBQztJQUU3QixNQUFNLFlBQVksR0FBRyxpQ0FBZSxDQUFDLEdBQUcsRUFBRSxN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