02-read-derived-variables.js 865 B

123456789101112131415161718192021222324252627282930313233
  1. module.exports = plugin;
  2. const utils = require('./utils');
  3. const fs = require('fs');
  4. let initial_variables = JSON.parse(fs.readFileSync(utils.files.initial_variables));
  5. function plugin() {
  6. return (files, metalsmith, done) => {
  7. setImmediate(done);
  8. Object.keys(files).forEach(file_path => {
  9. const {file_name, lines} = utils.getLines(files, file_path);
  10. let variables = {
  11. by_name: {},
  12. list: [],
  13. file_path,
  14. };
  15. lines.forEach(line => {
  16. const variable = utils.parseLine(line);
  17. if (variable != false) {
  18. variable.computed_value = utils.getInitialValue(variable.value, variable.type, initial_variables);
  19. variables.by_name[variable.name] = variable;
  20. variables.list.push(variable.name);
  21. }
  22. });
  23. utils.writeFile(file_path, variables);
  24. });
  25. };
  26. }