fix: quiet resolved dependency reference logs
electron-builder listed shared, successfully resolved production dependencies as duplicate references during every package build. All desktop packaging entry points now lower only that non-actionable summary to debug while unresolved reference failures remain visible. Move Renderer-bundled AntV G6 to development dependencies so its transitive graph is not copied into desktop packages. Release note: 桌面打包不再显示无需处理的重复依赖引用摘要,也不再把已由 Renderer 打包的 AntV G6 依赖树重复复制到安装包中。
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import { createRequire } from 'node:module'
|
||||
import { describe, expect, it } from 'vitest'
|
||||
|
||||
interface ElectronBuilderLogModule {
|
||||
LogMessageByKey: {
|
||||
PKG_DUPLICATE_REF: string
|
||||
PKG_DUPLICATE_REF_UNRESOLVED: string
|
||||
}
|
||||
logMessageLevelByKey: Record<string, string>
|
||||
}
|
||||
|
||||
interface ElectronBuilderWrapper {
|
||||
configureElectronBuilderLogLevels: (
|
||||
moduleManager?: ElectronBuilderLogModule
|
||||
) => void
|
||||
}
|
||||
|
||||
const require = createRequire(import.meta.url)
|
||||
const { configureElectronBuilderLogLevels } = require(
|
||||
'../build/run-electron-builder.cjs'
|
||||
) as ElectronBuilderWrapper
|
||||
|
||||
describe('electron-builder logging', () => {
|
||||
it('keeps unresolved dependencies visible while hiding resolved duplicate references', () => {
|
||||
const moduleManager: ElectronBuilderLogModule = {
|
||||
LogMessageByKey: {
|
||||
PKG_DUPLICATE_REF: 'duplicate dependency references',
|
||||
PKG_DUPLICATE_REF_UNRESOLVED:
|
||||
'unresolved duplicate dependency references'
|
||||
},
|
||||
logMessageLevelByKey: {
|
||||
'duplicate dependency references': 'info',
|
||||
'unresolved duplicate dependency references': 'warn'
|
||||
}
|
||||
}
|
||||
|
||||
configureElectronBuilderLogLevels(moduleManager)
|
||||
|
||||
expect(
|
||||
moduleManager.logMessageLevelByKey[
|
||||
'duplicate dependency references'
|
||||
]
|
||||
).toBe('debug')
|
||||
expect(
|
||||
moduleManager.logMessageLevelByKey[
|
||||
'unresolved duplicate dependency references'
|
||||
]
|
||||
).toBe('warn')
|
||||
})
|
||||
|
||||
it('fails clearly when the installed builder contract changes', () => {
|
||||
expect(() =>
|
||||
configureElectronBuilderLogLevels({
|
||||
LogMessageByKey: {
|
||||
PKG_DUPLICATE_REF: '',
|
||||
PKG_DUPLICATE_REF_UNRESOLVED:
|
||||
'unresolved duplicate dependency references'
|
||||
},
|
||||
logMessageLevelByKey: {}
|
||||
})
|
||||
).toThrow(
|
||||
'当前 electron-builder 不支持依赖引用日志级别配置'
|
||||
)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user