osr-discourse/lib/sync/osrl.js
2024-09-11 20:47:11 +02:00

75 lines
5.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createContent = exports.fileAsBuffer = void 0;
const path = require("path");
const Engine_1 = require("@plastichub/osrl/Engine");
const options_1 = require("@plastichub/osrl/options");
const glob_1 = require("@plastichub/osr-cli-commons/glob");
const fs_1 = require("@plastichub/osr-cli-commons/fs");
const index_1 = require("../../index");
const git_1 = require("../git");
const moment = require("moment");
const read_1 = require("@plastichub/fs/read");
const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-");
exports.fileAsBuffer = fileAsBuffer;
const variable_extras = async (component, rel, options) => {
const root = path.resolve((0, fs_1.resolve)('${OSR_LIBRARY_MACHINES}'));
const gitStats = await (0, git_1.git_status)(root, rel);
const latest = gitStats.latest;
return {
"GIT_LAST": moment(latest.date).format('LLLL'),
"GIT_AUTHOR": latest.author_name,
"GIT_MESSAGE": latest.message,
"GIT_COMMIT": latest.hash
};
};
const createContent = async (component, _options) => {
const parts = path.parse(component);
const rel = (0, glob_1.forward_slash)(path.relative(_options.root, component));
const extras = await variable_extras(component, rel, _options);
const variables = {
root: _options.root,
cwd: _options.cwd,
..._options.variables,
product: rel,
product_rel: rel,
product_rel_min: rel,
...extras
};
const defaults = {
language: _options.language,
debug: false,
profile: _options.profile,
// output: output,
plugins: [],
env: _options.env || 'forum',
cwd: _options.cwd,
source: _options.src,
variables
};
const options = (0, options_1.parse)(defaults, defaults);
const eOptions = {
...options,
root: [
...options.profile.includes,
component
],
toHTML: false,
cache: false,
keepOutputType: true,
trimTagRight: false,
trimTagLeft: false,
trimOutputRight: false,
trimOutputLeft: false,
greedy: false
};
const Engine = new Engine_1.Engine(eOptions);
options.debug && index_1.logger.info('Compile file ' + component, eOptions);
let content = await Engine.render(options.source, {
...options.variables,
...extras
});
return content;
};
exports.createContent = createContent;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NybC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvc3luYy9vc3JsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUU1QixvREFBMEQ7QUFDMUQsc0RBQWdEO0FBRWhELDJEQUFnRTtBQUVoRSx1REFBd0Q7QUFHeEQsdUNBQW9DO0FBQ3BDLGdDQUFtQztBQUNuQyxpQ0FBZ0M7QUFDaEMsOENBQWtEO0FBRTNDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFBLFdBQUksRUFBQyxJQUFJLEVBQUUsUUFBUSxDQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFuRixRQUFBLFlBQVksZ0JBQXVFO0FBQ2hHLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQThCLEVBQUUsRUFBRTtJQUM3RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUEsWUFBTyxFQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsZ0JBQVUsRUFBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDNUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtJQUM5QixPQUFPO1FBQ0gsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxZQUFZLEVBQUcsTUFBTSxDQUFDLFdBQVc7UUFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQzdCLFlBQVksRUFBRyxNQUFNLENBQUMsSUFBSTtLQUM3QixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBRU0sTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUErQixFQUFFLEVBQUU7SUFFOUUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDbEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsU0FBUyxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFNBQVMsR0FBRztRQUNkLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNuQixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUc7UUFDakIsR0FBRyxRQUFRLENBQUMsU0FBUztRQUNyQixPQUFPLEVBQUUsR0FBRztRQUNaLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLGVBQWUsRUFBRSxHQUFHO1FBQ3BCLEdBQUcsTUFBTTtLQUNaLENBQUE7SUFDRCxNQUFNLFFBQVEsR0FBUTtRQUNsQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsS0FBSyxFQUFFLEtBQUs7UUFDWixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87UUFDN0IscUJBQXFCO1FBQ2pCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUksT0FBTztRQUM1QixHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUc7UUFDakIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHO1FBQ3BCLFNBQVM7S0FDWixDQUFBO0lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBQSxlQUFLLEVBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sUUFBUSxHQUFHO1FBQ2IsR0FBRyxPQUFPO1FBQ1YsSUFBSSxFQUFFO1lBQ0YsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDM0IsU0FBUztTQUNaO1FBQ0QsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsS0FBSztRQUNaLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFlBQVksRUFBRSxLQUFLO1FBQ25CLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLE1BQU0sRUFBRSxLQUFLO0tBQ0osQ0FBQTtJQUViLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sQ0FBQyxLQUFLLElBQUksY0FBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBRW5FLElBQUksT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzlDLEdBQUcsT0FBTyxDQUFDLFNBQVM7UUFDcEIsR0FBRyxNQUFNO0tBQ1osQ0FBQyxDQUFBO0lBQ0YsT0FBTyxPQUFPLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBbkRZLFFBQUEsYUFBYSxpQkFtRHpCIn0=