Skip to content

Commit e217feb

Browse files
authored
feat(cli): 添加获取@jdtaro相关依赖包的功能 (#18106)
新增getJdtaroPackages函数用于从package.json中筛选出@jdtaro/开头的依赖包,并将其合并到info命令的输出中
1 parent ee1b31e commit e217feb

File tree

1 file changed

+29
-1
lines changed
  • packages/taro-cli/src/presets/commands

1 file changed

+29
-1
lines changed

packages/taro-cli/src/presets/commands/info.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,36 @@ export default (ctx: IPluginContext) => {
3535
})
3636
}
3737

38+
// 单独function获取@jdtaro相关的包
39+
function getJdtaroPackages(ctx) {
40+
try {
41+
const { appPath } = ctx.paths
42+
const fs = ctx.helper.fs
43+
const packageJsonPath = path.join(appPath, 'package.json')
44+
45+
if (fs.existsSync(packageJsonPath)) {
46+
const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8')
47+
const packageJson = JSON.parse(packageJsonContent)
48+
const dependencies = Object.assign({}, packageJson.dependencies || {}, packageJson.devDependencies || {})
49+
50+
// 筛选出@jdtaro相关的包
51+
return Object.keys(dependencies).filter(pkg => pkg.startsWith('@jdtaro/'))
52+
}
53+
} catch (error) {
54+
// 记录错误但不中断程序执行(添加trycatch)
55+
console.error('读取或解析package.json时发生错误:', error.message)
56+
}
57+
58+
return []
59+
}
60+
3861
async function info (options, ctx) {
39-
const npmPackages = ctx.helper.UPDATE_PACKAGE_LIST.concat(['react', 'react-native', 'expo', 'taro-ui'])
62+
let npmPackages = ctx.helper.UPDATE_PACKAGE_LIST.concat(['react', 'react-native', 'expo', 'taro-ui'])
63+
64+
// 调用新函数获取@jdtaro相关包
65+
const jdtaroPackages = getJdtaroPackages(ctx)
66+
npmPackages = npmPackages.concat(jdtaroPackages)
67+
4068
const info = await envinfo.run(Object.assign({}, {
4169
System: ['OS', 'Shell'],
4270
Binaries: ['Node', 'Yarn', 'npm'],

0 commit comments

Comments
 (0)