Skip to content

Commit 1642620

Browse files
authored
feat: add dependencies for Electron >= 10 (#80)
1 parent df99154 commit 1642620

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

src/dependencies.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,13 @@ function getXcbDri3Depends (version, dependencyMap) {
6868
return semver.gte(version, '9.0.0-beta.1') ? [dependencyMap.xcbDri3] : []
6969
}
7070

71+
/**
72+
* Determine whether libXss is a necessary dependency, given the Electron version.
73+
*/
74+
function getXssDepends (version, dependencyMap) {
75+
return semver.lt(version, '10.0.0-beta.1') ? [dependencyMap.xss] : []
76+
}
77+
7178
module.exports = {
7279
/**
7380
* Determine the default dependencies for an Electron application.
@@ -77,7 +84,6 @@ module.exports = {
7784
getGTKDepends(version, dependencyMap),
7885
dependencyMap.notify,
7986
dependencyMap.nss,
80-
dependencyMap.xss,
8187
dependencyMap.xtst,
8288
dependencyMap.xdgUtils
8389
].concat(getATSPIDepends(version, dependencyMap))
@@ -86,6 +92,7 @@ module.exports = {
8692
.concat(getGConfDepends(version, dependencyMap))
8793
.concat(getUUIDDepends(version, dependencyMap))
8894
.concat(getXcbDri3Depends(version, dependencyMap))
95+
.concat(getXssDepends(version, dependencyMap))
8996
},
9097
getATSPIDepends,
9198
getDRMDepends,
@@ -95,6 +102,7 @@ module.exports = {
95102
getTrashDepends,
96103
getUUIDDepends,
97104
getXcbDri3Depends,
105+
getXssDepends,
98106

99107
/**
100108
* Merge the user specified dependencies (from either the API or the CLI) with the respective

src/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ export function getGTKDepends(version: string, dependencyMap: DependencyMap): st
7777
export function getTrashDepends(version: string, dependencyMap: DependencyMap): string[];
7878
export function getUUIDDepends(version: string, dependencyMap: DependencyMap): string[];
7979
export function getXcbDri3Depends(version: string, dependencyMap: DependencyMap): string[];
80+
export function getXssDepends(version: string, dependencyMap: DependencyMap): string[];
8081
export function hasSandboxHelper(appDir: string): boolean;
8182
export function mergeUserSpecified(data: Record<string, unknown>, dependencyKey: string, defaults: Record<string, unknown>): Record<string, unknown>;
8283
export function readElectronVersion(appDir: string): Promise<string>;

test/dependencies.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ test('getXcbDri3Depends: returns gbm as of 9.0', t => {
100100
t.is(dependencies.getXcbDri3Depends('9.0.0', dependencyMap)[0], dependencyMap.xcbDri3)
101101
})
102102

103+
test('getXssDepends: retuns xss pre-10.0', t => {
104+
t.is(dependencies.getXssDepends('9.0.0', dependencyMap)[0], dependencyMap.xss)
105+
})
106+
107+
test('getXssDepends: retuns nothing as of 10.0', t => {
108+
t.is(dependencies.getXssDepends('10.0.0', dependencyMap).length, 0)
109+
})
110+
103111
function testMergeUserSpecified (t, dataPath) {
104112
const defaults = {
105113
dependencies: ['lsb', 'libXScrnSaver']

test/index.test-d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ expectType<string[]>(common.getGTKDepends('8.0.0', dependencyMap));
5151
expectType<string[]>(common.getTrashDepends('8.0.0', dependencyMap));
5252
expectType<string[]>(common.getUUIDDepends('8.0.0', dependencyMap));
5353
expectType<string[]>(common.getXcbDri3Depends('8.0.0', dependencyMap));
54+
expectType<string[]>(common.getXssDepends('8.0.0', dependencyMap));
5455
const packageJSON = {
5556
dependencies: {
5657
electron: '^8.0.0'

0 commit comments

Comments
 (0)