62 lines
2.0 KiB
JavaScript
Executable File
62 lines
2.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
const fs = require('node:fs')
|
|
const path = require('node:path')
|
|
|
|
// Get the directory of the script
|
|
const scriptDir = __dirname
|
|
const projectRoot = path.dirname(path.dirname(scriptDir))
|
|
|
|
// Read package.json from main project
|
|
const packageJsonPath = path.join(projectRoot, 'package.json')
|
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
|
|
|
|
// Extract versions from package.json dependencies
|
|
const getVersion = (packageName) => {
|
|
const dependencies = packageJson.dependencies || {}
|
|
const devDependencies = packageJson.devDependencies || {}
|
|
|
|
// Check both dependencies and devDependencies
|
|
return dependencies[packageName] || devDependencies[packageName] || null
|
|
}
|
|
|
|
const versions = {
|
|
realtime: getVersion('@supabase/realtime-js'),
|
|
functions: getVersion('@supabase/functions-js'),
|
|
postgrest: getVersion('@supabase/postgrest-js'),
|
|
auth: getVersion('@supabase/auth-js'),
|
|
storage: getVersion('@supabase/storage-js'),
|
|
node_fetch: getVersion('@supabase/node-fetch'),
|
|
}
|
|
|
|
// Read or create deno.json
|
|
const denoJsonPath = path.join(scriptDir, 'deno.json')
|
|
let denoJson = {
|
|
lock: false,
|
|
imports: {},
|
|
}
|
|
|
|
try {
|
|
if (fs.existsSync(denoJsonPath)) {
|
|
denoJson = JSON.parse(fs.readFileSync(denoJsonPath, 'utf8'))
|
|
}
|
|
} catch (error) {
|
|
console.warn('Warning: Could not read existing deno.json, creating new one')
|
|
}
|
|
|
|
// Update imports in deno.json
|
|
denoJson.imports = {
|
|
'@supabase/realtime-js': `npm:@supabase/realtime-js@${versions.realtime}`,
|
|
'@supabase/functions-js': `npm:@supabase/functions-js@${versions.functions}`,
|
|
'@supabase/postgrest-js': `npm:@supabase/postgrest-js@${versions.postgrest}`,
|
|
'@supabase/auth-js': `npm:@supabase/auth-js@${versions.auth}`,
|
|
'@supabase/storage-js': `npm:@supabase/storage-js@${versions.storage}`,
|
|
'@supabase/node-fetch': `npm:@supabase/node-fetch@${versions.node_fetch}`,
|
|
}
|
|
|
|
// Write updated deno.json
|
|
fs.writeFileSync(denoJsonPath, JSON.stringify(denoJson, null, 2) + '\n')
|
|
|
|
console.log('Updated deno.json with versions from package.json')
|
|
console.log('Versions used:', versions)
|