Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "communication"]
path = communication
url = https://github.com/hcengineering/communication.git
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
// "SERVER_PROVIDER":"uweb"
"SERVER_PROVIDER": "ws",
"MODEL_VERSION": "0.7.48",
// "VERSION": "0.6.289",
// "version": "0.7.0",
"ELASTIC_INDEX_NAME": "local_storage_index",
"UPLOAD_URL": "/files",
"AI_BOT_URL": "http://localhost:4010",
Expand Down Expand Up @@ -98,7 +98,7 @@
// "SERVER_PROVIDER":"uweb"
"SERVER_PROVIDER": "ws",
"MODEL_VERSION": "0.7.230",
// "VERSION": "0.6.289",
// "version": "0.7.0",
"COMMUNICATION_API_ENABLED": "true",
"ELASTIC_INDEX_NAME": "local_storage_index",
"UPLOAD_URL": "/files",
Expand Down
6,070 changes: 3,751 additions & 2,319 deletions common/config/rush/pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion common/scripts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@hcengineering/scripts",
"version": "0.1.0",
"version": "0.7.0",
"scripts": {
"format": "echo \"No format specified\""
},
Expand Down
234 changes: 234 additions & 0 deletions common/scripts/update-package-versions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
#!/usr/bin/env node

/**
* Script to update specific @hcengineering packages to a specified version
* across all package.json files in the workspace.
*
* Usage: node update-package-versions.js <version>
* Example: node update-package-versions.js 0.7.2
*/

const fs = require('fs')
const path = require('path')
const { execSync } = require('child_process')

// Packages to update
const PACKAGES_TO_UPDATE = [
'account-client',
'analytics',
'analytics-service',
'api-client',
'client',
'client-resources',
'collaborator-client',
'core',
'hulylake-client',
'model',
'platform',
'query',
'rank',
'retry',
'rpc',
'storage',
'text',
'text-core',
'text-html',
'text-markdown',
'text-ydoc',
'token'
]

// Convert to full package names
const FULL_PACKAGE_NAMES = PACKAGES_TO_UPDATE.map((pkg) => `@hcengineering/${pkg}`)

/**
* Get the target version from command line arguments
*/
function getTargetVersion() {
const version = process.argv[2]
if (!version) {
console.error('Error: Please provide a version number')
console.error('Usage: node update-package-versions.js <version>')
console.error('Example: node update-package-versions.js 0.7.2')
process.exit(1)
}

// Add ^ prefix if not present
return version.startsWith('^') ? version : `^${version}`
}

/**
* Recursively find all package.json files in a directory
*/
function findPackageJsonFiles(dir, fileList = []) {
const files = fs.readdirSync(dir)

for (const file of files) {
const filePath = path.join(dir, file)
const stat = fs.statSync(filePath)

if (stat.isDirectory()) {
// Skip node_modules, .git, and other common directories
if (!['node_modules', '.git', 'dist', 'lib', 'build', '.rush', 'temp'].includes(file)) {
findPackageJsonFiles(filePath, fileList)
}
} else if (file === 'package.json') {
fileList.push(filePath)
}
}

return fileList
}

/**
* Update package.json file with new versions
*/
function updatePackageJson(filePath, targetVersion) {
try {
const content = fs.readFileSync(filePath, 'utf8')
const packageJson = JSON.parse(content)
let updated = false

// Update in dependencies
if (packageJson.dependencies) {
for (const pkgName of FULL_PACKAGE_NAMES) {
if (packageJson.dependencies[pkgName]) {
const oldVersion = packageJson.dependencies[pkgName]
packageJson.dependencies[pkgName] = targetVersion
if (oldVersion !== targetVersion) {
console.log(` Updated ${pkgName}: ${oldVersion} -> ${targetVersion}`)
updated = true
}
}
}
}

// Update in devDependencies
if (packageJson.devDependencies) {
for (const pkgName of FULL_PACKAGE_NAMES) {
if (packageJson.devDependencies[pkgName]) {
const oldVersion = packageJson.devDependencies[pkgName]
packageJson.devDependencies[pkgName] = targetVersion
if (oldVersion !== targetVersion) {
console.log(` Updated ${pkgName} (dev): ${oldVersion} -> ${targetVersion}`)
updated = true
}
}
}
}

// Update in peerDependencies
if (packageJson.peerDependencies) {
for (const pkgName of FULL_PACKAGE_NAMES) {
if (packageJson.peerDependencies[pkgName]) {
const oldVersion = packageJson.peerDependencies[pkgName]
packageJson.peerDependencies[pkgName] = targetVersion
if (oldVersion !== targetVersion) {
console.log(` Updated ${pkgName} (peer): ${oldVersion} -> ${targetVersion}`)
updated = true
}
}
}
}

// Update in optionalDependencies
if (packageJson.optionalDependencies) {
for (const pkgName of FULL_PACKAGE_NAMES) {
if (packageJson.optionalDependencies[pkgName]) {
const oldVersion = packageJson.optionalDependencies[pkgName]
packageJson.optionalDependencies[pkgName] = targetVersion
if (oldVersion !== targetVersion) {
console.log(` Updated ${pkgName} (optional): ${oldVersion} -> ${targetVersion}`)
updated = true
}
}
}
}

// Write back to file if updated
if (updated) {
fs.writeFileSync(filePath, JSON.stringify(packageJson, null, 2) + '\n', 'utf8')
return true
}

return false
} catch (error) {
console.error(`Error updating ${filePath}:`, error.message)
return false
}
}

/**
* Main function
*/
function main() {
const targetVersion = getTargetVersion()
const workspaceRoot = path.resolve(__dirname, '../..')

console.log('='.repeat(80))
console.log('Package Version Update Script')
console.log('='.repeat(80))
console.log(`Target version: ${targetVersion}`)
console.log(`Workspace root: ${workspaceRoot}`)
console.log(`Packages to update: ${PACKAGES_TO_UPDATE.length}`)
console.log('='.repeat(80))
console.log()

// Find all package.json files
console.log('Scanning for package.json files...')
const packageJsonFiles = findPackageJsonFiles(workspaceRoot)
console.log(`Found ${packageJsonFiles.length} package.json files`)
console.log()

// Update each file
let updatedFiles = 0
let totalUpdates = 0

for (const filePath of packageJsonFiles) {
const relativePath = path.relative(workspaceRoot, filePath)
const wasUpdated = updatePackageJson(filePath, targetVersion)

if (wasUpdated) {
updatedFiles++
console.log(`✓ ${relativePath}`)
}
}

console.log()
console.log('='.repeat(80))
console.log('Summary')
console.log('='.repeat(80))
console.log(`Total package.json files scanned: ${packageJsonFiles.length}`)
console.log(`Files updated: ${updatedFiles}`)
console.log('='.repeat(80))

if (updatedFiles > 0) {
console.log()
console.log('✓ Version update completed successfully!')
console.log()
console.log('Next steps:')
console.log('1. Review the changes: git diff')
console.log('2. Run: rush update')
console.log('3. Run: rush rebuild')
} else {
console.log()
console.log('No packages were updated.')
}
// Execute rush update if there were updates
if (updatedFiles > 0) {
console.log()
console.log('Running rush update...')
console.log('='.repeat(80))
try {
execSync('rush update', { stdio: 'inherit', cwd: workspaceRoot })
console.log('='.repeat(80))
console.log('✓ rush update completed successfully!')
} catch (error) {
console.error('Failed to run rush update:', error.message)
process.exit(1)
}
}
}

// Run the script
main()
1 change: 0 additions & 1 deletion communication
Submodule communication deleted from 047325
6 changes: 3 additions & 3 deletions desktop-package/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "desktop",
"version": "0.6.435",
"version": "0.7.0",
"main": "dist/main/electron.js",
"author": "Hardcore Engineering <hey@huly.io>",
"template": "@hcengineering/default-package",
Expand All @@ -15,8 +15,8 @@
"bump": "bump-package-version"
},
"devDependencies": {
"@hcengineering/platform-rig": "^0.6.0",
"@hcengineering/desktop": "^0.6.0",
"@hcengineering/platform-rig": "^0.7.10",
"@hcengineering/desktop": "^0.7.0",
"@vercel/webpack-asset-relocator-loader": "^1.7.3",
"node-loader": "~2.0.0",
"cross-env": "~7.0.3",
Expand Down
Loading
Loading