#!/usr/bin/node // Reads the package.json of a Stripes module, and writes out a // corresponding ModuleDescriptor.md // e.g. node package2md.js ../../ui-users/package.json const fs = require('fs'); const argv1 = process.argv[1].replace(/.*\//, ''); const filename = process.argv[2]; if (!filename) { console.log(`Usage: ${argv1} <package-file>`); process.exit(1); } fs.readFile(filename, 'utf8', (err, data) => { if (err) { return console.log(`${argv1}: cannot read file '${filename}': ${err}`); } const json = JSON.parse(data); const interfaces = json.stripes.okapiInterfaces || []; const md = { id: `${json.name}-${json.version}`, name: json.description, requires: Object.keys(interfaces).map(key => ({ id: key, version: interfaces[key] })), permissionSets: json.stripes.permissionsets || [], }; console.log(JSON.stringify(md, undefined, 2)); });