poly-mech/osr/product_variables.osr
2024-08-18 16:34:30 +02:00

56 lines
1.4 KiB
Plaintext

[% capture config %][% js %]
const globalVariables = readJSON('${root}/osr/global.json');
addGlobal({config:globalVariables});
return globalVariables;
[%endjs%][% endcapture %]
[% capture product %][% js %]
let globalVariables = readJSON('${root}/osr/global.json');
let localVariables = readJSON('${PRODUCT_ROOT}/config.json');
localVariables['image']='${product_rel}/renderings/perspective.jpg';
localVariables['sidebar'] = {
nav: "machines"
};
let localYAML = readFile('${PRODUCT_ROOT}/config.yaml');
let defaultsYAML = fs.findUp.sync('defaults.yaml', {
cwd:PRODUCT_ROOT,
stopAt:path.resolve(root)
});
if(defaultsYAML){
defaultsYAML = readFile(defaultsYAML).trim();
localYAML = `${defaultsYAML}\n${localYAML}`;
}
let defaultsJSON = fs.findUp.sync('defaults.json', {
cwd:PRODUCT_ROOT,
stopAt:root
});
if(defaultsJSON){
defaultsJSON = readJSON(defaultsJSON);
localVariables = {
...defaultsJSON,
...localVariables
}
}
let allVariables = {
...localVariables,
...globalVariables,
...scope
}
allVariables.product_rel = product;
let all = substitute(JSON.stringify(allVariables,null,2),allVariables);
allVariables = JSON.parse(all);
resolveConfig(allVariables);
addGlobal({product:allVariables});
return allVariables;
[%endjs%][% endcapture %]