• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    JavaScript
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Automate the process of shipping Web Extensions for Chrome, Firefox, Safari, Opera and Edge

Web Extensions - Shipit

Automate the process of shipping Web Extensions for Chrome, Firefox, Safari, Opera and Edge.

PRs welcome ๐Ÿš€

Installation

npm install --save @wext/shipit

Usage

# Publish the "distribution/chrome-prod" folder to the Chrome WebStore
shipit chrome distribution/chrome-prod

# Publish the "distribution/firefox-prod" folder to Mozilla Addons (AMO)
shipit firefox distribution/firefox-prod

# Publish the "distribution/opera-prod" folder to Opera Extensions
shipit opera distribution/opera-prod

Implemented browsers

Feature Chrome Firefox Safari Opera Edge
shipit โœ… โœ… โŒ โœ… โŒ

Credentials

The neccessary credentials for submitting are read from the environment and, if the file exists, a .env file containing key value pairs. Required keys are documented for each browser below.

We recommend placing the values in a .env file, and adding .env to your gitignore so that you don't accidentaly check these values into git.

Chrome

  • WEXT_SHIPIT_CHROME_EXTENSION_ID - The id of the extension (can be seen in the url to the Chrome WebStore page)
  • WEXT_SHIPIT_CHROME_CLIENT_ID - See clientId below
  • WEXT_SHIPIT_CHROME_CLIENT_SECRET - See clientSecret below
  • WEXT_SHIPIT_CHROME_REFRESH_TOKEN - See refreshToken below

Follow this guide to generate clientId, clientSecret and refreshToken.

Firefox

  • WEXT_SHIPIT_FIREFOX_JWT_ISSUER - See "JWT issuer" below
  • WEXT_SHIPIT_FIREFOX_JWT_SECRET - See "JWT secret" below

Go to this site and generate API Credentials. It will output "JWT issuer" and "JWT secret".

Make sure that your extension id is specified in your manifest, like shown here.

Opera

  • WEXT_SHIPIT_OPERA_EMAIL - Email address used to log in to addons.opera.com
  • WEXT_SHIPIT_OPERA_EXTENSION_ID - ID of the extension (can be seen in the url in the developer dashboard)
  • WEXT_SHIPIT_OPERA_PASSWORD - Password used to log in to addons.opera.com

More Repositories

1

node-appdmg

๐Ÿ’พ Generate your app dmgs
JavaScript
1,678
star
2

Marionette

๐Ÿงธ Swift library which provides a high-level API to control a WKWebView
Swift
393
star
3

react-native-get-random-values

A small implementation of `getRandomValues` for React Native
JavaScript
272
star
4

flutter_web_auth

Flutter plugin for authenticating a user with a web service
Dart
172
star
5

node-loudness

๐Ÿ”Š A node.js library to control the systems output volume
JavaScript
110
star
6

fanny-pack

๐Ÿ—„ Fanny Pack is a non-fancy, but very practical, key/value-store
TypeScript
107
star
7

JSBridge

๐Ÿ” Bridge your JavaScript library for usage in Swift
Swift
105
star
8

secure-remote-password

A modern SRP implementation for Node.js and Web Browsers
JavaScript
86
star
9

vscode-auto-dark-mode

Automatically switch between light and dark themes depending on the system dark mode toggle
JavaScript
79
star
10

scandium

๐Ÿš€ Easily deploy any Node.js web server to AWS Lambda
JavaScript
70
star
11

fs-xattr

๐Ÿ”– Node.js module for manipulating extended attributes
C
57
star
12

php-bitcoin-address-validator

๐Ÿ’ฐ A simple, easy to use PHP Bitcoin address validator
PHP
54
star
13

node-application-config

๐Ÿ”ง Store config for your node applications
JavaScript
45
star
14

emoji-commit

Rust
44
star
15

cwasm-nsgif

GIF decoding for Node.js, using Libnsgif compiled to WebAssembly
JavaScript
40
star
16

server-accepts-email

Check if an SMTP server accepts emails to a given address
TypeScript
39
star
17

cwasm-lodepng

PNG decoding for Node.js, using LodePNG compiled to WebAssembly
JavaScript
37
star
18

node-line-in

๐ŸŽค Capture audio with a simple stream interface
C++
34
star
19

pg-error-constants

PostgresQL error constants for use with Node.js
JavaScript
31
star
20

node-application-config-path

Store your application config in the right location.
JavaScript
28
star
21

swift-napi-bindings

C
27
star
22

node-cachedir

Get a directory for your caching needs
JavaScript
25
star
23

resize-image-data

Resize a decoded raw image
JavaScript
25
star
24

gitignore-to-dockerignore

Generate an equivalent `.dockerignore` file from an existing `.gitignore` file
JavaScript
24
star
25

node-jsonlines

Parse JSONLines with Node.js.
JavaScript
22
star
26

react-native-webcrypto

WebCrypto implementation for React Native
Java
22
star
27

node-ds-store

.DS_Store manipulation and creation from node.js
JavaScript
22
star
28

base32-encode

Base32 encoder with support for multiple variants
JavaScript
22
star
29

buffer-from

A ponyfill for Buffer.from
JavaScript
21
star
30

decode-ico

Decode `.ico` icons
JavaScript
20
star
31

RasterizeXCAssets

Rasterize svg files into your XCAssets
Swift
20
star
32

rust-raop-player

AirPlay player for the RAOP v2 protocol with synchronization
Rust
18
star
33

ts-readme-generator

Generate API documentation straight into the Readme file from TypeScript typings
JavaScript
18
star
34

stream-file-type

Get the file type by inspecting a stream
JavaScript
17
star
35

node-albatross

Best way to access MongoDB from Node.js
JavaScript
16
star
36

node-dark-mode-listener

A small library for listening to dark mode changes on macOS Mojave
JavaScript
16
star
37

ico-to-png

Convert an ICO file to a PNG file
JavaScript
16
star
38

flutter_maps

Native maps for Flutter, embedded as a native view using the PlatformView API
Kotlin
14
star
39

buffer-alloc-unsafe

A ponyfill for Buffer.allocUnsafe
JavaScript
13
star
40

swift-node-addon-examples

Swift
12
star
41

blockhash-core

Core implementation of the blockhash perceptual image hashing algorithm
JavaScript
12
star
42

rust-ansi-escapes

Ansi escape codes for Rust
Rust
11
star
43

cwasm-jpeg-turbo

JPEG decoding for Node.js, using libjpeg-turbo compiled to WebAssembly
Dockerfile
11
star
44

node-alias

Mac OS aliases creation and reading from node.js
JavaScript
11
star
45

buffer-alloc

A ponyfill for Buffer.alloc
JavaScript
11
star
46

buffer-fill

A ponyfill for Buffer.fill
JavaScript
9
star
47

base32-decode

Base32 decoder with support for multiple variants
JavaScript
9
star
48

hex-to-array-buffer

Turn a string of hexadecimal characters into an `ArrayBuffer`
JavaScript
9
star
49

node-parse-iso-duration

Parse an ISO 8601 duration to milliseconds
JavaScript
9
star
50

DarkModeListener

A small cli tool to listen to dark mode changes on macOS Mojave
Swift
9
star
51

gopher-hcl

The official HCL library, compiled to JavaScript with GopherJS
HCL
9
star
52

encode-utf8

Turn a string into an ArrayBuffer by using the UTF8 encoding
JavaScript
9
star
53

node-generate-rsa-keypair

Generate an RSA keypair
C
9
star
54

domain-name-regex

A regex to validate domain names
JavaScript
9
star
55

is-my-ip-valid

A small lib to validate IP addresses
JavaScript
8
star
56

node-capture-window

Capture a desktop window to a png file. Simple and easy.
Objective-C
8
star
57

utc-version

JavaScript
8
star
58

react-spacer

An element to repesent space between other elements, for use in flexbox layouts
JavaScript
8
star
59

raptor-rpc

Node.js library for creating RPC servers.
JavaScript
8
star
60

node-xorshift128plus

xorshift128+ implementation for Node.js
C++
8
star
61

flutter_jsbridge

Bridge your JavaScript library for usage in Flutter ๐Ÿš€
Swift
8
star
62

dhcp-spy

Silently listen for DHCP requests on the network
JavaScript
8
star
63

node-cstruct

Use C `struct`s in Javascript while keeping the syntax intact.
JavaScript
8
star
64

node-append-field

W3C HTML JSON form compliant field appender
JavaScript
7
star
65

cwasm-webp

WEBP decoding for Node.js, using libwebp compiled to WebAssembly
JavaScript
7
star
66

upload-opera-extension

Submit an update to a Opera Extension with one simple function call
JavaScript
7
star
67

parse-hostname

Parse a hostname into three parts: subdomain, domain and public suffix
JavaScript
7
star
68

react-stacked

Building blocks for robust cross-platform layouts
JavaScript
7
star
69

react-with-separator

Add a separator between each element
JavaScript
6
star
70

md5-dir

JavaScript
6
star
71

fast-base64-encode

A fast Base64 encoder with a low level API
JavaScript
6
star
72

array-buffer-to-hex

Turn an `ArrayBuffer` into a string of hexadecimal characters
JavaScript
6
star
73

ts-replace-all

String#replaceAll polyfill for TypeScript
JavaScript
6
star
74

swish-qrcode-svg

Generate Swish styled QR Code as SVG images
6
star
75

omega2-rust

This is a Docker image with an Omega2 Toolchain setup together with Rust
Dockerfile
6
star
76

node-print-diff

Prints a pretty diff of two strings
JavaScript
6
star
77

murmur-128

MurmurHash3 x86 128-bit implemented in JavaScript
JavaScript
5
star
78

ts-mutex

A very simple Mutex, with an easy to use API and excellent TypeScript typings
JavaScript
5
star
79

Soon

Example todo list application for iOS
Swift
5
star
80

is-my-date-valid

JavaScript
5
star
81

beer-recipes

5
star
82

format-email

Format emails according to RFC 5322
JavaScript
5
star
83

rust-alac-encoder

ALAC Encoder for Rust
Rust
4
star
84

node-wad

Manipulate rock raiders WAD files from nodejs
JavaScript
4
star
85

format-email-address

Format an email address before sending email to it
JavaScript
4
star
86

ts-unwrap

A simple `unwrap` function for use with TypeScript
JavaScript
4
star
87

flutter_biopass

Store a password behind biometric authentication
Dart
4
star
88

fs-temp

Temporary files and directories in Node.js
JavaScript
4
star
89

wext-manifest

Web Extensions polyfill for the `manifest.json` API
JavaScript
4
star
90

expo-legacy-browser-support

iOS 9 and IE 11 support for Expo Web
JavaScript
4
star
91

webmail-api

A unified API to different webmail providers
JavaScript
4
star
92

ts-resource-pool

An easy to use resource pool, including support for recycling resources, with excellent TypeScript typings
JavaScript
3
star
93

decode-bmp

Decode `.bmp` images
JavaScript
3
star
94

p-sleep

Promisified sleep function
JavaScript
3
star
95

rustic-yellow

Rust
3
star
96

file-to-array-buffer

Turn a File (or any Blob) into an ArrayBuffer
JavaScript
3
star
97

murmur-32

MurmurHash3 x86 32-bit implemented in JavaScript
JavaScript
3
star
98

rust-log-update

Log by overwriting the previous output in the terminal
Rust
3
star
99

marionettejs

Node.js bindings for Marionette, a high-level API to control a WKWebView
Swift
3
star
100

ts-unreachable

Utility function for exhaustiveness checking with TypeScript
JavaScript
3
star