From dfc30830ffce970ca829a68860761f191b230c95 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 20 Apr 2015 16:23:41 -0700 Subject: [PATCH] Recurse into .asar files --- build/tasks/output-build-filetypes.coffee | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/build/tasks/output-build-filetypes.coffee b/build/tasks/output-build-filetypes.coffee index 64b952bbe..9d51ca30c 100644 --- a/build/tasks/output-build-filetypes.coffee +++ b/build/tasks/output-build-filetypes.coffee @@ -1,3 +1,4 @@ +asar = require 'asar' path = require 'path' module.exports = (grunt) -> @@ -5,11 +6,19 @@ module.exports = (grunt) -> shellAppDir = grunt.config.get('atom.shellAppDir') types = {} - grunt.file.recurse shellAppDir, (absolutePath, rootPath, relativePath, fileName) -> - extension = path.extname(fileName) or fileName + registerFile = (filePath) -> + extension = path.extname(filePath) or path.basename(filePath) types[extension] ?= 0 types[extension]++ + if extension is '.asar' + asar.listPackage(filePath).forEach (archivePath) -> + archivePath = archivePath.substring(1) + unless asar.statFile(filePath, archivePath, true).files + registerFile(archivePath) + + grunt.file.recurse shellAppDir, (absolutePath, rootPath, relativePath, fileName) -> registerFile(absolutePath) + extensions = Object.keys(types).sort (extension1, extension2) -> diff = types[extension2] - types[extension1] if diff is 0