@ibnumardini/wilayah-indonesia
Version:
Wilayah Indonesia - A CLI tool to manage and transform Indonesian administrative data.
47 lines (39 loc) • 1.3 kB
JavaScript
const { program } = require("commander");
const pkg = require("../package.json");
const logger = require("./helper/logger");
const fetchData = require("./fetch-data");
const transformData = require("./transform-data");
program
.version(pkg.version)
.description(pkg.description)
.option("-f, --fetch", "Fetch latest raw data from BPS API")
.option("-t, --transform <type>", "Transform raw data into relational format (json, csv, sql)")
.action(async (options) => {
if (options.fetch) {
try {
await fetchData();
logger.info("Data fetched successfully", true);
} catch (error) {
logger.info(error.message, true);
logger.error("Error fetching data:", error);
} finally {
logger.info("Fetching complete", true);
}
}
if (options.transform) {
try {
await transformData({ to: options.transform });
logger.info("Data transformed successfully", true);
} catch (error) {
logger.info(error.message, true);
logger.error("Error transforming data:", error);
} finally {
logger.info("Transformation complete", true);
}
}
if (!options.fetch && !options.transform) {
program.help();
}
});
program.parse(process.argv);