mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 06:00:56 +02:00

* 🚀 feat: Introduce data schemas and refactor models to use @librechat/data-schemas * 🚀 feat: Add installation step for Data Schemas Package in backend review workflow * chore: Add `data-schemas` package to update/rebuild packages scripts * chore: Update Dockerfile to include data-schemas package build process * fix: add missing @rollup/plugin-typescript package * chore: Add GitHub Actions workflow for publishing data-schemas package --------- Co-authored-by: Danny Avila <danny@librechat.ai>
36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
const { execSync } = require('child_process');
|
|
|
|
const { deleteNodeModules } = require('./helpers');
|
|
|
|
// Set the directories
|
|
const rootDir = path.resolve(__dirname, '..');
|
|
const directories = [
|
|
rootDir,
|
|
path.resolve(rootDir, 'packages', 'data-provider'),
|
|
path.resolve(rootDir, 'packages', 'data-schemas'),
|
|
path.resolve(rootDir, 'packages', 'mcp'),
|
|
path.resolve(rootDir, 'client'),
|
|
path.resolve(rootDir, 'api'),
|
|
];
|
|
|
|
// Delete package-lock.json if it exists
|
|
const packageLockPath = path.resolve(rootDir, 'package-lock.json');
|
|
if (fs.existsSync(packageLockPath)) {
|
|
console.purple('Deleting package-lock.json...');
|
|
fs.unlinkSync(packageLockPath);
|
|
}
|
|
|
|
(async () => {
|
|
// Delete all node_modules
|
|
directories.forEach(deleteNodeModules);
|
|
|
|
// Run npm cache clean --force
|
|
console.purple('Cleaning npm cache...');
|
|
execSync('npm cache clean --force', { stdio: 'inherit' });
|
|
|
|
// Install dependencies
|
|
console.purple('Installing dependencies...');
|
|
execSync('npm install', { stdio: 'inherit' });
|
|
})();
|