From 445bbd1bc45244c30acb3f681b73dc5d414886f3 Mon Sep 17 00:00:00 2001 From: GyuYong Jung Date: Tue, 16 Jan 2018 04:54:37 +0900 Subject: [PATCH] fix babel.js that only build on macOS (#461) use gulp-crx-pack library for chrome extension packaging Fixes #452 --- chrome_test_key.pem | 27 +++++++++++++++++++++++++++ gulpfile.babel.js | 17 +++++++++-------- package.json | 1 + 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 chrome_test_key.pem diff --git a/chrome_test_key.pem b/chrome_test_key.pem new file mode 100644 index 0000000..f9886de --- /dev/null +++ b/chrome_test_key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA7pVSB0UiadYCxCjf8zngckEBVtOASXjxdJKVlTtbBxApg873 +0wujcqSZRQrs39m4rV/C0qoqWAnGpfYL7ACqrsZn/FSFfdiGFU9wxQnbPbNIm3zy +xVWuD2sHbp7UtAwIZknQxjkwHV3qoPTRGoXkQ6brLH/khi6B7Ps7y2xURyoCyDmb +f2XjhCSbVRGhsPSZpfekVz4WGiLDMZV0av6d1RuXoXJXjb1sKuDF1xwTUEc+Q8BL +eY3cfzuIvo5KoyB2F0x1mzJrg8KBcTbtXZSJ8PqQlIHeJfiv/NEYHSNy4qpnhp/5 +IbsvuOr3XpXPlcd4GUsYswsNrLWgTvedtyuhMwIDAQABAoIBAFT9WFVCqXmuRRn/ +vZd1fKD2yzVU7pQ9wzXVqfeZR1oCxecwaVQDB1ylifvwYmVzt7f7LvnAqIjoIp2o +QqL1sdfE0fIvYcZsxYb935wxYKpgHXNWVV06omDXrbQYXIku6CcYEIksghlUBWsF +CyA5phD7ezdE7/Fky9/Rt4FFu9gFTRi2KlrQc5oE7kXbSk84IUKKgnJaiEWTHpRm +n4EFeq7NhQrHuEs/EUV9M4jreP3WqrUE3UwVS0jmxLbVzNbahjv9WuU9vCq8pbHZ +pLZC0RmLBcyxL0KFZJbsU0ZjEg7i0Wlp4N4L415/dCUUm+hVo7ZxycnyZ8OgJXzk +dnY8hBECgYEA9zffVrDE82T09DMBLtgaiiPIUsu1nLe59OKvtg6khxTqyVac1Bd0 +KE1a7tHJ9V/AAv7AmJD9i287/R/xwHEd/4SfOX7wzHPiZAzTT4f2wHFcHM4j9jK+ +OA5S6uOoZJPrhdtUSdVdqrOQBgYExsSG242IDdP11mHsZA1l2Nc1U30CgYEA9w7s +mjIOBJmkiqh2QBJDIGNUnLygMlOzTbt24jjE5VZT5aU/OxnrhsrgVnXQxOhO0bKG +1XuxJ3qxFKYEvMLOA6vKybvig2bjdywIqagBURf40KI2vOcjJMm0Y0bJ+wJDRoFO +P2Kux7sLTe69zn4d+2V51ZqiXePosa9bNkANhm8CgYBo7l0spaEjEiHqmM+Su4Ug +RynbAr4WQ+F5MNKV+scY0ucJCGtOlpnmFVdYcNFBBiAw5UKIP1pu2Yrj2LA7F4g9 +EWSn+dppXXKlNtBmPHaenj8TtueKs2UL1ACb1H+AGUzppvuyzw6PyuGBvQI//+Ch +xgQOon4BPdUhbpJhJI9s3QKBgQCLAImcg/chHXTXUssdZ2j/KwPrH7GePzuNy6Cq +zTfytKyFc4Ds9rtuXmz0GFt6vh3CnAiCypI03TIOpQ3bSltw81IoSJ68QcJPRaYm +FlGPV8Z1VB8qD33Vb+sfRC/WG0LQw2XMAfDGjXVhxqZiLNEfpctzpAoge19rwXa3 +QjiZ3wKBgQCZ3qAbCWKf5GHoBfs+MpsfbAmzkenkbEGa/JZO3TJLkz34b+aB2irj +zblnQT3o3ljtXroF/Mgw4dF+fozAWi4NjDLAlX/tImwB/jBF02xukaa51tDbchqv +gtU/3j05xaH5H46zSD9sE7qR1PSudI3etvKxFQcAYT5c/qVeKe5S/Q== +-----END RSA PRIVATE KEY----- diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 368e356..d406f84 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -1,5 +1,6 @@ import gulp from 'gulp' import fs from 'fs' +import os from 'os' import path from 'path' import {merge} from 'event-stream' import map from 'map-stream' @@ -80,15 +81,15 @@ gulp.task('chrome:zip', () => { return pipe('./tmp/chrome/**/*', $.zip('chrome.zip'), './dist') }) -gulp.task('chrome:_crx', (cb) => { - $.run('"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"' + - ' --pack-extension=' + path.join(__dirname, './tmp/chrome') + - ' --pack-extension-key=' + path.join(process.env.HOME, '.ssh/chrome.pem') - ).exec(cb) -}) +gulp.task('chrome:crx', () => { + const real = path.join(os.homedir() + '.ssh/chrome.pem') + const test = './chrome_test_key.pem' + const privateKey = fs.existsSync(real) ? fs.readFileSync(real) : fs.readFileSync(test) -gulp.task('chrome:crx', ['chrome:_crx'], () => { - return pipe('./tmp/chrome.crx', './dist') + return pipe('./tmp/chrome', $.crxPack({ + privateKey: privateKey, + filename: 'chrome.crx' + }), './dist') }) // Opera diff --git a/package.json b/package.json index d2ee4fc..54f393a 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "gulp-babel": "^6.1.0", "gulp-clean": "^0.3.1", "gulp-concat": "*", + "gulp-crx-pack": "^1.0.1", "gulp-exit": "0.0.2", "gulp-less": "^1.3.1", "gulp-load-plugins": "^0.5.3",