Move package ignore list computation to a separate script (#285)

Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
This commit is contained in:
Juan Cruz Viotti 2016-04-11 12:30:00 -04:00
parent 2f65bd512f
commit 2b1ef3d980
3 changed files with 42 additions and 14 deletions

View File

@ -1,7 +1,7 @@
ELECTRON_PACKAGER=./node_modules/.bin/electron-packager
ELECTRON_BUILDER=./node_modules/.bin/electron-builder
ELECTRON_OSX_SIGN=./node_modules/.bin/electron-osx-sign
ELECTRON_IGNORE=$(shell node -e "console.log(require('./package.json').packageIgnore.join('|'))")
ELECTRON_IGNORE=$(shell node scripts/packageignore.js)
ELECTRON_VERSION=0.36.11
ETCHER_VERSION=$(shell node -e "console.log(require('./package.json').version)")
APPLICATION_NAME=$(shell node -e "console.log(require('./package.json').displayName)")

View File

@ -21,25 +21,16 @@
"packageIgnore": [
"LICENSE",
"Makefile",
"(.*)\\.md",
"(.*)\\.pem",
"(.*)\\.log",
"assets/osx",
"appveyor.yml",
"bower.json",
"gulpfile.js",
"screenshot.png",
"tests",
"etcher-release",
"lib/scss",
"node_modules/electron-mocha",
"node_modules/electron-builder",
"node_modules/electron-osx-sign",
"node_modules/angular-mocks",
"node_modules/browserify",
"node_modules/gulp*",
"node_modules/jshint-stylish",
"node_modules/mochainon",
"node_modules/vinyl-*",
"node_modules/rindle",
"node_modules/tmp"
"lib/scss"
],
"builder": {
"win": {

37
scripts/packageignore.js Normal file
View File

@ -0,0 +1,37 @@
/**
* This script is in charge of building a regex of files to ignore
* when packaging for `electron-packager`'s `ignore` option.
*
* See https://github.com/electron-userland/electron-packager/blob/master/usage.txt
*
* Usage:
*
* node scripts/packageignore.js
*/
const _ = require('lodash');
const fs = require('fs');
const path = require('path');
const packageJSON = require('../package.json');
const topLevelFiles = fs.readdirSync(path.join(__dirname, '..'));
console.log(_.flatten([
packageJSON.packageIgnore,
// Development dependencies
_.map(_.keys(packageJSON.devDependencies), function(dependency) {
return path.join('node_modules', dependency);
}),
// Top level hidden files
_.filter(topLevelFiles, function(file) {
return _.startsWith(file, '.');
}),
// Top level markdown files
_.filter(topLevelFiles, function(file) {
return _.endsWith(file, '.md');
})
]).join('|'));