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 依赖树重复复制到安装包中。
66 lines
1.8 KiB
TypeScript
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 不支持依赖引用日志级别配置'
|
|
)
|
|
})
|
|
})
|