UNPKG

aem-clientlib-generator

Version:

Creates configuration files for AEM ClientLibs and synchronizes assets.

55 lines (45 loc) 1.53 kB
#!/usr/bin/env node import url from 'node:url'; var DEFAULT_FILE = "clientlib.config.js"; import clientlib from "../lib/clientlib.js"; import path from "node:path"; import fs from "fs"; import yargs from "yargs" import { hideBin } from "yargs/helpers" var argv = yargs(hideBin(process.argv)) .usage("aem-clientlib-generator " + process.env.npm_package_version + "\n" + "Usage with config file: clientlib [path] [options]" + "\n\n" + "Default config path: " + DEFAULT_FILE) .help("help") .alias("help", "h") .version() .alias("version", "v") .options({ "dry": { type: "boolean", describe: "'Dry run' without write operations." }, "verbose": { type: "boolean", describe: "Prints more details" } }).argv; var configPath = path.resolve(process.cwd(), DEFAULT_FILE); if (argv._ && argv._.length > 0) { configPath = argv._[0]; if (!path.isAbsolute(configPath)) { configPath = path.resolve(process.cwd(), configPath); } } if (!fs.existsSync(configPath)) { console.error("Could not find config file: " + configPath); process.exit(1); } import(path.isAbsolute(configPath) ? url.pathToFileURL(configPath).toString() : configPath ).then(conf => { var libs = Array.isArray(conf.default.libs) ? [...conf.default.libs] : [conf.default.libs]; var clientLibConf = conf.default; delete conf.default.libs; clientLibConf.dry = argv.dry; clientLibConf.verbose = argv.verbose || argv.dry; clientlib(libs, clientLibConf); }).catch(err => console.error(err));