Update files

This commit is contained in:
Mohamed Boudra
2026-02-10 16:26:51 +07:00
parent 7e5537bcc5
commit ec7ea4b55a
15 changed files with 712 additions and 446 deletions

View File

@@ -0,0 +1,73 @@
import { existsSync, readFileSync, writeFileSync } from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const rootDir = path.resolve(__dirname, '..')
const rootPackagePath = path.join(rootDir, 'package.json')
const rootPackage = JSON.parse(readFileSync(rootPackagePath, 'utf8'))
const rootVersion = rootPackage.version
const workspacePaths = Array.isArray(rootPackage.workspaces) ? rootPackage.workspaces : []
if (typeof rootVersion !== 'string' || rootVersion.length === 0) {
throw new Error('Root package.json must contain a valid "version"')
}
const dependencySections = [
'dependencies',
'devDependencies',
'peerDependencies',
'optionalDependencies',
]
const touched = []
for (const workspacePath of workspacePaths) {
const packagePath = path.join(rootDir, workspacePath, 'package.json')
if (!existsSync(packagePath)) {
continue
}
const pkg = JSON.parse(readFileSync(packagePath, 'utf8'))
let changed = false
if (pkg.version !== rootVersion) {
pkg.version = rootVersion
changed = true
}
for (const section of dependencySections) {
const deps = pkg[section]
if (!deps || typeof deps !== 'object') {
continue
}
for (const name of Object.keys(deps)) {
if (!name.startsWith('@getpaseo/')) {
continue
}
if (name === pkg.name) {
continue
}
if (deps[name] !== rootVersion) {
deps[name] = rootVersion
changed = true
}
}
}
if (changed) {
writeFileSync(packagePath, `${JSON.stringify(pkg, null, 2)}\n`)
touched.push(path.relative(rootDir, packagePath))
}
}
if (touched.length === 0) {
console.log(`Workspace versions and internal deps already synced to ${rootVersion}`)
} else {
console.log(`Synced to ${rootVersion}:`)
for (const file of touched) {
console.log(`- ${file}`)
}
}