const fs = require('fs'); const path = require('path'); try { const globPackagePath = path.join(process.cwd(), 'node_modules', 'glob', 'package.json'); // 检查 glob 包是否存在 if (!fs.existsSync(globPackagePath)) { console.log('⚠ glob 包不存在,跳过修复'); return; } const packageJson = JSON.parse(fs.readFileSync(globPackagePath, 'utf8')); // 检查是否已经是正确的版本 if (packageJson.version === '13.0.0' && packageJson.main === 'dist/commonjs/index.js') { console.log('✓ glob 包已正确配置'); return; } // 检查 dist/commonjs/index.js 是否存在 const distPath = path.join(process.cwd(), 'node_modules', 'glob', 'dist', 'commonjs', 'index.js'); if (!fs.existsSync(distPath)) { console.log('⚠ glob@13.0.0 的文件结构不存在,跳过修复'); return; } // 修复 package.json packageJson.version = '13.0.0'; packageJson.main = 'dist/commonjs/index.js'; packageJson.exports = { '.': { import: './dist/esm/index.js', require: './dist/commonjs/index.js' } }; packageJson.engines = { node: '20 || >=22' }; packageJson.dependencies = { minimatch: '^10.1.1', minipass: '^7.1.2', 'path-scurry': '^2.0.0' }; // 删除旧版本的字段 delete packageJson.publishConfig; delete packageJson.files; delete packageJson.devDependencies; delete packageJson.tap; delete packageJson.scripts; fs.writeFileSync(globPackagePath, JSON.stringify(packageJson, null, 2), 'utf8'); console.log('✓ 已修复 glob 包配置'); } catch (error) { console.error('✗ 修复 glob 包失败:', error.message); // 不退出进程,因为这不是关键错误 }