()
| 113 | } |
| 114 | |
| 115 | function main() { |
| 116 | console.log(`\n📦 Updating example dependencies...\n`) |
| 117 | |
| 118 | const versions = getPackageVersions() |
| 119 | console.log(`Found ${versions.size} @tanstack packages:`) |
| 120 | for (const [name, version] of versions) { |
| 121 | console.log(` ${name}: ${version}`) |
| 122 | } |
| 123 | console.log() |
| 124 | |
| 125 | const examplesDir = join(rootDir, `examples`) |
| 126 | const examplePackageJsons = findExamplePackageJsons(examplesDir) |
| 127 | |
| 128 | let totalUpdated = 0 |
| 129 | |
| 130 | for (const packageJsonPath of examplePackageJsons) { |
| 131 | const relativePath = packageJsonPath.replace(rootDir + `/`, ``) |
| 132 | const content = readFileSync(packageJsonPath, `utf-8`) |
| 133 | const packageJson: PackageJson = JSON.parse(content) |
| 134 | |
| 135 | const depsResult = updateDependencies(packageJson.dependencies, versions) |
| 136 | const devDepsResult = updateDependencies( |
| 137 | packageJson.devDependencies, |
| 138 | versions, |
| 139 | ) |
| 140 | const peerDepsResult = updateDependencies( |
| 141 | packageJson.peerDependencies, |
| 142 | versions, |
| 143 | ) |
| 144 | |
| 145 | if (depsResult.updated || devDepsResult.updated || peerDepsResult.updated) { |
| 146 | const updatedPackageJson = { |
| 147 | ...packageJson, |
| 148 | dependencies: depsResult.deps, |
| 149 | devDependencies: devDepsResult.deps, |
| 150 | peerDependencies: peerDepsResult.deps, |
| 151 | } |
| 152 | |
| 153 | // Preserve original formatting by detecting indent |
| 154 | const indent = content.match(/^(\s+)"/m)?.[1] || ` ` |
| 155 | writeFileSync( |
| 156 | packageJsonPath, |
| 157 | JSON.stringify(updatedPackageJson, null, indent) + `\n`, |
| 158 | ) |
| 159 | |
| 160 | console.log(`✅ Updated: ${relativePath}`) |
| 161 | totalUpdated++ |
| 162 | } |
| 163 | } |
| 164 | |
| 165 | if (totalUpdated === 0) { |
| 166 | console.log(`No example dependencies needed updating.`) |
| 167 | } else { |
| 168 | console.log(`\n✅ Updated ${totalUpdated} example package(s).\n`) |
| 169 | } |
| 170 | } |
| 171 | |
| 172 | main() |
no test coverage detected