compass-docgen
Version:
This is a package that will help you to create your documentation for yours components
57 lines (56 loc) • 2.48 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_extra_1 = __importDefault(require("fs-extra"));
const child_process_1 = require("child_process");
const cli_progress_1 = require("cli-progress");
const updateDependencies = async () => {
try {
// Read the package.json file
const packageJsonContent = await fs_extra_1.default.readFile('package.json', 'utf-8');
const packageJson = JSON.parse(packageJsonContent);
// Get a list of all dependencies and devDependencies
const allDependencies = Object.keys(packageJson.dependencies || {});
const allDevDependencies = Object.keys(packageJson.devDependencies || {});
const totalUpdates = allDependencies.length + allDevDependencies.length;
// Create a loading bar
const progressBar = new cli_progress_1.SingleBar({
format: 'Updating dependencies |{bar}| {percentage}% | ETA: {eta}s | {value}/{total}',
clearOnComplete: true,
hideCursor: true,
}, cli_progress_1.Presets.shades_classic);
progressBar.start(totalUpdates, 0);
// Function to update a single dependency or devDependency
const updateDependency = async (dependency, dev) => {
return new Promise((resolve, reject) => {
const command = `npm install ${dev ? '--save-dev' : '--save'} ${dependency}@latest --legacy-peer-deps`;
(0, child_process_1.exec)(command, (error) => {
if (error) {
reject(error);
}
else {
progressBar.increment();
resolve(true);
}
});
});
};
// Update all dependencies
for (const dependency of allDependencies) {
await updateDependency(dependency, false);
}
// Update all devDependencies
for (const devDependency of allDevDependencies) {
await updateDependency(devDependency, true);
}
progressBar.stop();
console.log('Dependencies updated successfully!');
}
catch (error) {
console.error('Error updating dependencies:', error);
}
};
// Call the function to update the dependencies
updateDependencies();