This app uses the Github issue search API to provide a convenient issue browser across all of our supported modules as well as other repositories that are important for maintenance.
It uses vue-cli to simplify local development and production builds for VueJS. You can use it on https://elvis.silverstripe.org.
Use Node (see .nvmrc for correct version to use).
npm install
Create an .env
with:
VUE_APP_GRAPHQL_ENDPOINT=https://api.github.com/graphql
VUE_APP_GRAPHQL_TOKEN=<token>
Get a Github Personal Access Token and chuck it in <token>
.
Note that the token should NOT have any other permissions/scopes, since it will be included
in the client bundle (and is readable by everyone through network requests).
The only reason to include it here is avoiding to hit Github's rate limits without it.
In order to get an updated list of the repositories we care about,
you can run the following command. This will be written to the repos.json
file in the src
folder, which can be
updated (in VCS) periodically if required.
This gets run during a deployment.
npm run get-repos
npm run serve
npm run build
The project is published to GitHub Pages automatically when changes are merged into the master branch. This is done via a GitHub Actions workflow.
You can also deploy projects manually. To do this go to the Actions tab in GitHub, and click "Run workflow".
There is a historic token stored in the repository as a secret. If you ever need to cycle the token, just update the value of the secret in this repository and redeploy.
You can pass in a custom list of repositories via URL params:
?customRepos=silverstripe/silverstripe-framework,silverstripe/silverstripe-cms
This can be helpful to filter only to repos you're interested on in a specific project context, e.g. extracting them from your composer.lock file.
Protip: You can generate these custom repos from your composer.lock
file automatically
through Silverstripe Module Issue Browser Util.
Assuming you've got your Composer binaries set up globally, the following will read from your lock file and open the issue browser:
composer global require silverstripe/github-issue-search-composer-util
cat /my/project/composer.lock | github-issue-search | xargs open
The default instance has Google Analytics set up under a Silverstripe owned account. Please contact maintainers if you'd like to have a look!