Skip to content

Commit 0fbad33

Browse files
committed
fix: Use of extraResources prevents node_modules from being included in asar
Close #867
1 parent b0ce309 commit 0fbad33

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

packages/electron-builder/src/fileMatcher.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import BluebirdPromise from "bluebird-lst"
22
import { FilePattern, PlatformSpecificBuildOptions } from "electron-builder-core"
3-
import { asArray } from "electron-builder-util"
3+
import { asArray, debug } from "electron-builder-util"
44
import { copyDir, copyFile, Filter, statOrNull } from "electron-builder-util/out/fs"
55
import { warn } from "electron-builder-util/out/log"
66
import { mkdirs } from "fs-extra-p"
@@ -80,6 +80,10 @@ export class FileMatcher {
8080
this.computeParsedPatterns(parsedPatterns)
8181
return createFilter(this.from, parsedPatterns, ignoreFiles, rawFilter, excludePatterns)
8282
}
83+
84+
toString() {
85+
return `from: ${this.from}, to: ${this.to}, patterns: ${this.patterns.join(", ")}`
86+
}
8387
}
8488

8589
export function createFileMatcher(info: BuildInfo, appDir: string, resourcesPath: string, macroExpander: (pattern: string) => string, platformSpecificBuildOptions: PlatformSpecificBuildOptions, buildResourceDir: string) {
@@ -190,6 +194,9 @@ export function copyFiles(patterns: Array<FileMatcher> | null): Promise<any> {
190194
if (pattern.isEmpty() || pattern.containsOnlyIgnore()) {
191195
pattern.addAllPattern()
192196
}
197+
if (debug.enabled) {
198+
debug(`Copying files using pattern: ${pattern}`)
199+
}
193200
return await copyDir(pattern.from, pattern.to, pattern.createFilter())
194201
})
195202
}

packages/electron-builder/src/util/filter.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { Filter } from "electron-builder-util/out/fs"
12
import { Stats } from "fs-extra-p"
23
import { Minimatch } from "minimatch"
34
import * as path from "path"
4-
import { Filter } from "electron-builder-util/out/fs"
55

66
export function hasMagic(pattern: Minimatch) {
77
const set = pattern.set
@@ -38,7 +38,8 @@ export function createFilter(src: string, patterns: Array<Minimatch>, ignoreFile
3838
relative = relative.replace(/\\/g, "/")
3939
}
4040

41-
return minimatchAll(relative, patterns, stat) && (excludePatterns == null || !minimatchAll(relative, excludePatterns, stat))
41+
// https://github.com/electron-userland/electron-builder/issues/867
42+
return minimatchAll(relative, patterns, stat) && (excludePatterns == null || stat.isDirectory() || !minimatchAll(relative, excludePatterns, stat))
4243
}
4344
}
4445

0 commit comments

Comments
 (0)