@smartimpact-it/json-merge-shopify
Version:
The library handles merging JSON objects and arrays.
33 lines (32 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const glob_1 = require("glob");
const fs_1 = require("fs");
const formatter_1 = require("./formatter");
// Get the glob patterns from the command line arguments - e.g. "npm run format-json -- templates/*.json locales/*.json config/*.json"
let globPatterns = process.argv.slice(2);
if (globPatterns.length === 0) {
console.log('No glob patterns specified. Using default glob patterns.');
globPatterns = ['templates/*.json', 'locales/*.json', 'config/*.json'];
}
console.log('Formatting JSON files using the following glob patterns:');
console.log(globPatterns);
const files = globPatterns.reduce((acc, pattern) => {
return [
...acc,
...(0, glob_1.sync)(pattern, {
ignore: ['node_modules/**/*', 'build/**/*', 'dist/**/*'],
}),
];
}, []);
files.forEach((file) => {
try {
const source = (0, fs_1.readFileSync)(file, 'utf8');
const formatted = (0, formatter_1.formatter)(JSON.parse(source));
(0, fs_1.writeFileSync)(file, formatted, 'utf8');
console.log(`Formatted ${file}...`);
}
catch (e) {
console.error(`Error formatting ${file}: ${e}`);
}
});