Package Exports
- gcp-refresh-token
- gcp-refresh-token/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gcp-refresh-token) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Google Cloud Platform Refresh Token
gcp-refresh-token is a cli util from plasmo to retrieve a refresh token as specified in Google's OAuth 2.0 Refresh Token Flow.
The key usecase is to leverage GCP in an external CI pipeline. The original goal of this package is to resolve chrome-webstore-api's #12, with further discussion here. However, it can be extended for other usecases (by adding an option for more scopes).
Usage
- Configure a GCP project for the CI process
- Create an OAuth client key following this guide.
- Download the JSON key file and store it as
key.jsonfile. - Run
gcp-refresh-token, replacingpnpm dlxwith your preferred package manager equivalent (npxoryarn dlx):
## *** DO NOT PUSH key.json TO GIT ***
# If no key file is found, it will generate a sample key.json file for you to fill out or replace
pnpm dlx gcp-refresh-tokenThe resulted refresh token will be written into the key.json under the chrome property, ready to be used in your CI pipeline. If you use bpp, simply copy it:
{
"installed": {},
"chrome": {
"clientId": "etc",
"clientSecret": "etc",
"refreshToken": "etc"
}
}You can also install and use it globally:
pnpm add -g gcp-refresh-token
gcp-refresh-token # or gcprtFor custom scope, add a
scopeproperty to thekey.json:
{
"installed": {},
"scope": ["https://www.googleapis.com/auth/chromewebstore"]
}Development
Terminal 1:
# install deps
pnpm i
# link global
pnpm link --global
# run dev server
pnpm devTerminal 2:
gcprt helpPublish process
- Commit any changes to the repository.
pnpm version patch | minor | majorpnpm publish
Support
Join the Discord channel!