Files
goodbuddy/tests/electron-builder-wrapper.test.ts
T
mesalogo d36889d9f6 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 依赖树重复复制到安装包中。
2026-09-02 00:45:15 +08:00

66 lines
1.8 KiB
TypeScript

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 不支持依赖引用日志级别配置'
)
})
})