parent
5613aaffb1
commit
5dd5bbbd3c
3 changed files with 40 additions and 22 deletions
@ -0,0 +1,39 @@ |
|||||||
|
#!/usr/bin/env node |
||||||
|
|
||||||
|
const fs = require('fs'); |
||||||
|
const path = require('path'); |
||||||
|
const manifest = require('../manifest'); |
||||||
|
const JSZip = require('jszip'); |
||||||
|
|
||||||
|
const resources = () => { |
||||||
|
return [ |
||||||
|
'manifest.json', |
||||||
|
'resources/disabled_32x32.png', |
||||||
|
'resources/enabled_32x32.png', |
||||||
|
manifest.options_ui.page, |
||||||
|
'build/settings.js', |
||||||
|
].concat( |
||||||
|
Object.values(manifest.icons), |
||||||
|
manifest.background.scripts, |
||||||
|
manifest.content_scripts.map(cs => cs.js).reduce((a1, a2) => a1.concat(a2), []), |
||||||
|
manifest.web_accessible_resources, |
||||||
|
).sort(); |
||||||
|
}; |
||||||
|
|
||||||
|
const output = `vim-vixen-${manifest.version}.zip` |
||||||
|
|
||||||
|
let basedir = path.join(__dirname, '..'); |
||||||
|
let zip = new JSZip(); |
||||||
|
|
||||||
|
for (let r of resources()) { |
||||||
|
console.log(` adding: ${r}`) |
||||||
|
let data = fs.readFileSync(path.join(basedir, r)); |
||||||
|
zip.file(r, data); |
||||||
|
} |
||||||
|
|
||||||
|
zip |
||||||
|
.generateNodeStream({ type: 'nodebuffer', streamFiles: true }) |
||||||
|
.pipe(fs.createWriteStream(output)) |
||||||
|
.on('finish', function () { |
||||||
|
console.log(`${output} created`); |
||||||
|
}); |
@ -1,21 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
|
|
||||||
MANIFEST="manifest.json" |
|
||||||
|
|
||||||
version=$(jq -r '.version' $MANIFEST) |
|
||||||
|
|
||||||
icons=$(jq -r '.icons[]' $MANIFEST) |
|
||||||
toolbar_icons="resources/disabled_32x32.png resources/enabled_32x32.png" |
|
||||||
content_scripts=$(jq -r '.content_scripts[].js[]' $MANIFEST) |
|
||||||
background_scripts=$(jq -r '.background.scripts[]' $MANIFEST) |
|
||||||
web_accessible_resources=$(jq -r '.web_accessible_resources[]' $MANIFEST) |
|
||||||
options_ui=$(jq -r '.options_ui.page' $MANIFEST) |
|
||||||
options_scripts="" |
|
||||||
for html in $options_ui; do |
|
||||||
scripts=$(grep -Po "(?<=src=['\"])[^'\"]*" "$html") |
|
||||||
for js in $scripts; do |
|
||||||
options_scripts="$options_scripts $(dirname $html)/$js" |
|
||||||
done |
|
||||||
done |
|
||||||
|
|
||||||
zip ${version}.zip $MANIFEST $icons $toolbar_icons $content_scripts $background_scripts $web_accessible_resources $options_ui $options_scripts |
|
Reference in new issue