UNPKG

@aichatkit/utils

Version:

Shared TypeScript utilities for AI chat applications

46 lines (45 loc) 1.59 kB
import fs from 'fs'; import path from 'path'; const version = process.env.VERSION; const startPath = process.env.START_PATH; const shouldIgnoreWorkspace = process.env.IGNORE_WORKSPACE; function updatePackageJsonVersion(filePath, version) { const content = fs.readFileSync(filePath, 'utf-8'); const json = JSON.parse(content); json.version = version; const updatedContent = JSON.stringify(json, function (key, value) { if (key === 'version' || (String(value).includes('workspace:^') && !shouldIgnoreWorkspace)) { return version; } return value; }, 2); fs.writeFileSync(filePath, updatedContent); } export function searchAndReplace(rootDir, version) { const entries = fs.readdirSync(rootDir, { withFileTypes: true }); for (const entry of entries) { const fullPath = path.join(rootDir, entry.name); if (fullPath.includes('node_modules')) continue; if (entry.isDirectory()) { searchAndReplace(fullPath, version); } else if (entry.isFile() && entry.name === 'package.json') { updatePackageJsonVersion(fullPath, version); } } } if (!version) { console.error('Please set the VERSION environment variable.'); process.exit(1); } if (!version.includes('alpha')) { console.error('Please set the VERSION environment variable to an alpha version.'); process.exit(1); } if (!startPath) { console.error('Please set the START_PATH environment variable.'); process.exit(1); } searchAndReplace(startPath, version);