diff --git a/.gitignore b/.gitignore index d49756d..2515a99 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules/ /build/ +*.zip diff --git a/manifest.json b/manifest.json index 216023b..360b166 100644 --- a/manifest.json +++ b/manifest.json @@ -3,6 +3,15 @@ "name": "Vim Vixen", "description": "Vim Vixen", "version": "0.0.1", + "icons": { + "48": "resources/icon_48x48.png", + "96": "resources/icon_96x96.png" + }, + "applications": { + "gecko": { + "id": "vim-vixen@i-beam.org" + } + }, "content_scripts": [ { "matches": [ "http://*/*", "https://*/*" ], @@ -21,7 +30,8 @@ "tabs" ], "web_accessible_resources": [ - "build/console.html" + "build/console.html", + "build/console.js" ], "options_ui": { "page": "build/settings.html" diff --git a/package.json b/package.json index f2fe0ca..49b191a 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "start": "webpack -w -d", "lint": "eslint --ext .jsx,.js src", "build": "NODE_ENV=production webpack --progress --display-error-details", + "package": "npm run build && ./package.sh", "lint": "eslint src", "test": "karma start" }, diff --git a/package.sh b/package.sh new file mode 100755 index 0000000..34535ba --- /dev/null +++ b/package.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +MANIFEST="manifest.json" + +version=$(jq -r '.version' $MANIFEST) + +icons=$(jq -r '.icons[]' $MANIFEST) +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 $content_scripts $background_scripts $web_accessible_resources $options_ui $options_scripts