UNPKG

mkjs-cli

Version:
55 lines (43 loc) 1.19 kB
const H_FORMATS_GENERALIZED = { nt: 'n', nq: 'n', ttl: 't', trig: 't', }; const A_FORMAT_MODES = [ 'serializer', 'deserializer', ]; let pd_build = 'build'; let pd_packages = `${pd_build}/packages`; let a_format_build_targets = []; Object.keys(H_FORMATS_GENERALIZED).forEach((s_format) => { a_format_build_targets.push( ...A_FORMAT_MODES.map(s_mode => `${pd_build}/${s_format}-${s_mode}/index.js`)); }); module.exports = () => ({ '&format': /(\w+)-((?:de)?serializer)/, // all tasks all: 'formats standalones', // all formats x modes formats: a_format_build_targets, // build dir for package [`${pd_packages}/:package`]: { run: /* syntax: bash */ ` mkdir -p $@ cat src/aux/base-package.json | npx lamduh 'json => \ Object.assign(json, $(cat src/aux/package-descriptions.json | npx lambduh "json => json[\\'$package\\']")) \ && json' $@/package.json `, }, // an RDF file format [`${pd_packages}/(&format)/index.js`]: { deps: [ h => `src/formats/${H_FORMATS_GENERALIZED[h.format[1]]}-${h.format[2]}.js.jmacs`, `${pd_packages}/\${format[0]}`, ], run: /* syntax: bash */ ` npx jmacs -g '{FORMAT:"\${format[1]}"}' $< > $@ `, }, });