/
package.json
110 lines (110 loc) · 11.1 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
{
"name": "talkie",
"private": true,
"version": "2.1.2",
"description": "Text-to-speech (TTS) browser extension button.",
"scripts": {
"clean": "rimraf package/ && rimraf dist/ && rimraf web-ext-artifacts/ && rimraf lib/",
"build": "npm run --silent build:webextension-polyfill && rollup --config rollup.config.background.js && rollup --config rollup.config.popup.js && rollup --config rollup.config.options.js && rollup --config rollup.config.stay-alive.js && npm run --silent build:chrome:free && npm run --silent build:webextension:free && npm run --silent build:chrome:premium && npm run --silent build:webextension:premium",
"build:webextension-polyfill": "mkdirp lib/ && cp node_modules/webextension-polyfill/dist/browser-polyfill.js node_modules/webextension-polyfill/dist/browser-polyfill.js.map lib/",
"build:chrome:free": "mkdirp package/chrome/ && rsync -a --files-from extension-files.txt . package/chrome/ && npm run --silent build:chrome:free:patch",
"build:chrome:free:patch": "npm run --silent build:patch:chrome:manifest -- package/chrome/manifest.json",
"build:chrome:premium": "mkdirp package/chrome-premium/ && npm run --silent build:patch:premium:filelist && rsync -a --files-from extension-files.premium.txt . package/chrome-premium/ && rename --force --delete '.premium' --glob 'package/chrome-premium/_locales/*/messages.premium.json' && npm run --silent build:chrome:premium:patch",
"build:chrome:premium:patch": "npm run --silent build:patch:chrome:manifest -- package/chrome-premium/manifest.json && npm run --silent build:patch:premium:manifest -- package/chrome-premium/manifest.json",
"build:webextension:free": "mkdirp package/webextension/ && rsync -a --files-from extension-files.txt . package/webextension/ && npm run --silent build:webextension:free:patch -- package/webextension/manifest.json",
"build:webextension:free:patch": "npm run --silent build:patch:webextension:manifest -- ",
"build:webextension:premium": "mkdirp package/webextension-premium/ && npm run --silent build:patch:premium:filelist && rsync -a --files-from extension-files.premium.txt . package/webextension-premium/ && rename --force --delete '.premium' --glob 'package/webextension-premium/_locales/*/messages.premium.json' && npm run --silent build:webextension:premium:patch",
"build:webextension:premium:patch": "npm run --silent build:webextension:free:patch -- package/webextension-premium/manifest.json && npm run --silent build:patch:premium:manifest -- package/webextension-premium/manifest.json",
"build:patch:chrome:manifest": "json -Ie \"this.version_name=this.version_name.replace(/ (Free|Premium) /, ' \\$1 Chrome Extension '); ['open-website-main', 'open-website-store-free', 'open-website-store-premium', 'open-website-donate'].forEach((command) => delete this.commands[command].suggested_key); delete this.applications;\" -f",
"build:patch:webextension:manifest": "json -Ie \"this.version_name=this.version_name.replace(/ (Free|Premium) /, ' \\$1 WebExtension ');\" -f",
"build:patch:premium:filelist": "sed -e 's/messages\\.json$/messages.premium.json/' -e '/^[^.]/ s_/free/_/premium/_' extension-files.txt > extension-files.premium.txt",
"build:patch:premium:manifest": "json -Ie \"this.version_name=this.version_name.replace(' Free ', ' Premium '); Object.keys(this.browser_action.default_icon).forEach((icon) => this.browser_action.default_icon[icon] = this.browser_action.default_icon[icon].replace('/free/', '/premium/')); Object.keys(this.browser_action.default_icon).forEach((icon) => this.icons[icon] = this.icons[icon].replace('/free/', '/premium/'));\" -f",
"rebuild": "npm run --silent clean && npm run --silent build",
"watch:background": "rollup --watch --config rollup.config.background.js",
"watch:popup": "rollup --watch --config rollup.config.popup.js",
"watch:options": "rollup --watch --config rollup.config.options.js",
"watch:stay-alive": "rollup --watch --config rollup.config.stay-alive.js",
"watch:chrome:free": "watch --interval 10 --differences --beep npm run --silent build:chrome:free",
"watch:chrome:premium": "watch --interval 10 --differences --beep npm run --silent build:chrome:premium",
"watch:webextension:free": "watch --interval 10 --differences --beep npm run --silent build:webextension:free",
"watch:webextension:premium": "watch --interval 10 --differences --beep npm run --silent build:webextension:premium",
"run:firefox:free": "web-ext --source-dir=package/webextension/ run --browser-console --start-url 'https://www.wikipedia.org/'",
"run:firefox:premium": "web-ext --source-dir=package/webextension-premium/ run --browser-console --start-url 'https://www.wikipedia.org/'",
"prepackage": "npm run --silent test && npm run --silent messages:refresh >/dev/null && npm run --silent messages:count && npm run --silent rebuild",
"package": "npm run --silent package:chrome:free && npm run --silent package:webextension:free && npm run --silent package:chrome:premium && npm run --silent package:webextension:premium",
"package:chrome:free": "rimraf web-ext-artifacts/ && web-ext --source-dir=package/chrome/ build && mv \"web-ext-artifacts/talkie-${npm_package_version}.zip\" \"talkie-joelpurra.com-${npm_package_version}-chrome-free.zip\"",
"package:chrome:premium": "rimraf web-ext-artifacts/ && web-ext --source-dir=package/chrome-premium/ build && mv \"web-ext-artifacts/talkie_premium-${npm_package_version}.zip\" \"talkie-joelpurra.com-${npm_package_version}-chrome-premium.zip\"",
"package:webextension:free": "rimraf web-ext-artifacts/ && web-ext --source-dir=package/webextension/ build && mv \"web-ext-artifacts/talkie-${npm_package_version}.zip\" \"talkie-joelpurra.com-${npm_package_version}-webextension-free.zip\"",
"package:webextension:premium": "rimraf web-ext-artifacts/ && web-ext --source-dir=package/webextension-premium/ build && mv \"web-ext-artifacts/talkie_premium-${npm_package_version}.zip\" \"talkie-joelpurra.com-${npm_package_version}-webextension-premium.zip\"",
"version:get": "git rev-parse --abbrev-ref HEAD | sed -n -e '/release/v s_release/_v_ p'",
"version:update": "export TALKIE_VERSION=$(npm run --silent version:get | sed -e 's/^v//') && git diff-index --quiet HEAD -- && npm run --silent version:update:file -- manifest.json && npm run --silent version:update:file:free -- manifest.json && npm run --silent version:update:file -- package.json && git add manifest.json package.json && git commit -m \"${TALKIE_VERSION}\"",
"version:update:file": "json -Ie \"this.version='${TALKIE_VERSION}'\" -f",
"version:update:file:free": "json -Ie \"this.version_name='v' + this.version + ' Free (' + new Date().toISOString().substring(0,10) + ')'\" -f",
"test": "npm run --silent lint",
"lint": "npm run --silent eslint && npm run --silent web-ext:lint",
"eslint": "eslint ./src",
"eslint:fix": "eslint --fix ./src",
"web-ext:lint": "npm run --silent web-ext:lint:chrome:free && npm run --silent web-ext:lint:webextension:free && npm run --silent web-ext:lint:chrome:premium && npm run --silent web-ext:lint:webextension:premium",
"web-ext:lint:chrome:free": "echo web-ext linting package/chrome/ && web-ext --source-dir=package/chrome/ lint --warnings-as-errors",
"web-ext:lint:chrome:premium": "echo web-ext linting package/chrome-premium/ && web-ext --source-dir=package/chrome-premium/ lint --warnings-as-errors",
"web-ext:lint:webextension:free": "echo web-ext linting package/webextension/ && web-ext --source-dir=package/webextension/ lint --warnings-as-errors",
"web-ext:lint:webextension:premium": "echo web-ext linting package/webextension-premium/ && web-ext --source-dir=package/webextension-premium/ lint --warnings-as-errors",
"chromestore": "npm run --silent chromestore:free && npm run --silent chromestore:premium",
"chromestore:free": "export WEBSTORE_TOKEN=$(chrome-webstore-manager refresh_token --client_id \"$CHROME_CLIENT_ID\" --client_secret \"$CHROME_CLIENT_SECRET\" --refresh_token \"$CHROME_REFRESH_TOKEN\") && npm run chromestore:free:update && npm run chromestore:free:publish",
"chromestore:free:update": "chrome-webstore-manager update enfbcfmmdpdminapkflljhbfeejjhjjk \"talkie-joelpurra.com-${npm_package_version}-chrome-free.zip\"",
"chromestore:free:publish": "chrome-webstore-manager publish enfbcfmmdpdminapkflljhbfeejjhjjk",
"chromestore:premium": "export WEBSTORE_TOKEN=$(chrome-webstore-manager refresh_token --client_id \"$CHROME_CLIENT_ID\" --client_secret \"$CHROME_CLIENT_SECRET\" --refresh_token \"$CHROME_REFRESH_TOKEN\") && npm run chromestore:premium:update && npm run chromestore:premium:publish",
"chromestore:premium:update": "chrome-webstore-manager update xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \"talkie-joelpurra.com-${npm_package_version}-chrome-premium.zip\"",
"chromestore:premium:publish": "chrome-webstore-manager publish xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"messages:translate": "npm run --silent messages:download && npm run --silent messages:refresh && npm run --silent messages:count",
"messages:download": "npm run --silent messages:sort && ./tools/translations/download.sh && npm run --silent messages:sort",
"messages:refresh": "npm run --silent messages:sort && ./tools/translations/merge.sh && npm run --silent messages:sort && npm run --silent messages:override:refresh",
"messages:sort": "for MESSAGES in $(find ./_locales -name '*.json'); do jq --sort-keys '.' \"$MESSAGES\" > \"${MESSAGES}~\"; mv \"${MESSAGES}~\" \"$MESSAGES\"; done",
"messages:override:refresh": "for MESSAGES in $(find ./_locales \\( -name 'override.json' -or -name 'manual.json' \\)); do jq --slurp --sort-keys '.[0] as $en | .[1] | with_entries(.key as $key | .value |= (.original = $en[$key].message) + if $en[$key].description then { description: $en[$key].description } else {} end)' \"./_locales/en/messages.json\" \"$MESSAGES\" > \"${MESSAGES}~\"; mv \"${MESSAGES}~\" \"$MESSAGES\"; done",
"messages:count": "for MESSAGES in $(find ./_locales -name 'messages.json'); do jq 'to_entries | .[].key' \"$MESSAGES\"; done | sort | uniq -c"
},
"repository": {
"type": "git",
"url": "git+https://github.com/joelpurra/talkie.git"
},
"keywords": [
"tts",
"text-to-speech",
"browser",
"extension"
],
"author": {
"name": "Joel Purra",
"email": "code+github@joelpurra.com",
"url": "https://joelpurra.com/"
},
"license": "GPL-3.0",
"bugs": {
"url": "https://github.com/joelpurra/talkie/issues"
},
"homepage": "https://github.com/joelpurra/talkie#readme",
"devDependencies": {
"@google-cloud/translate": "^0.8.1",
"bluebird": "^3.5.0",
"chrome-webstore-manager": "^0.4.1",
"configvention": "^1.1.0",
"eslint": "^3.12.2",
"eslint-config-standard": "^6.2.1",
"eslint-plugin-compat": "^1.0.2",
"eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^2.0.1",
"json": "^9.0.4",
"pre-commit": "^1.2.2",
"rimraf": "^2.5.4",
"rollup": "^0.41.5",
"rollup-plugin-json": "^2.1.0",
"rollup-watch": "^3.2.2",
"stream-to-promise": "^2.2.0",
"web-ext": "^1.8.1",
"webextension-polyfill": "^0.1.1"
},
"browserslist": [
"last 5 Chrome versions",
"last 5 Firefox versions"
]
}