diff --git a/.github/workflows/docs-develop.yml b/.github/workflows/docs-develop.yml index 6ac3ef456a..c44cec002d 100644 --- a/.github/workflows/docs-develop.yml +++ b/.github/workflows/docs-develop.yml @@ -18,5 +18,13 @@ jobs: with: path: ~/.cache/pip3 key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }} + - uses: actions/cache@v3 + with: + path: | + ~/.npm + ~/.autorest + key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} - run: pip3 install -r docs/requirements.txt + - run: git config --global user.email "github-action@users.noreply.github.com" + - run: git config --global user.name "GitHub Action" - run: mike deploy --push develop diff --git a/.github/workflows/docs-release.yml b/.github/workflows/docs-release.yml index 5b32e320ba..a89987fc46 100644 --- a/.github/workflows/docs-release.yml +++ b/.github/workflows/docs-release.yml @@ -17,6 +17,14 @@ jobs: with: path: ~/.cache/pip3 key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }} + - uses: actions/cache@v3 + with: + path: | + ~/.npm + ~/.autorest + key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} - run: pip3 install -r docs/requirements.txt - run: echo "RELEASE_VERSION=${GITHUB_REF:10}" >> $GITHUB_ENV + - run: git config --global user.email "github-action@users.noreply.github.com" + - run: git config --global user.name "GitHub Action" - run: mike deploy --push --update-aliases $RELEASE_VERSION latest diff --git a/docs/build-assets.sh b/docs/build-assets.sh new file mode 100755 index 0000000000..8d2a921627 --- /dev/null +++ b/docs/build-assets.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +[ ! -d "node_modules" ] && npm i +npm run docs:examples +npm run docs:api + +# TODO: revisit --ignore-scripts after solving https://github.com/npm/cli/issues/4202 +perl -i -pe 's/"prepare"/"rem-prepare"/g' package.json +mkdir -p docs/examples/browser + +echo Build example aepp +cd ./examples/browser/aepp +npm i +VUE_APP_WALLET_URL=../wallet-iframe/ PUBLIC_PATH=./ npm run build +mv -f dist/ ../../../docs/examples/browser/aepp + +echo Build example wallet-iframe +cd ../wallet-iframe +npm i +VUE_APP_AEPP_URL=../aepp/ PUBLIC_PATH=./ npm run build +mv -f dist/ ../../../docs/examples/browser/wallet-iframe + +echo Build example wallet-web-extension +cd ../wallet-web-extension +npm i +NODE_OPTIONS=--openssl-legacy-provider npm run build +mv artifacts/wallet-web-extension-v0.1.0-production.zip ../../../docs/examples/browser/wallet-web-extension.zip + +cd ../../.. +perl -i -pe 's/"rem-prepare"/"prepare"/g' package.json diff --git a/docs/hooks.py b/docs/hooks.py index fc9260583d..8339aa96a2 100644 --- a/docs/hooks.py +++ b/docs/hooks.py @@ -1,15 +1,9 @@ -import os.path import subprocess import re import urllib.request def pre_build(**kwargs): - if not os.path.exists('node_modules'): - subprocess.run(['npm', 'install', '--ignore-scripts'], check=True) - subprocess.run(['npm', 'run', 'build:api'], check=True) - subprocess.run(['npm', 'run', 'build:generate'], check=True) - subprocess.run(['npm', 'run', 'docs:examples'], check=True) - subprocess.run(['npm', 'run', 'docs:api'], check=True) + subprocess.run(['./docs/build-assets.sh'], check=True) def replacer(match): filename = f'{match.group(3)}.{match.group(4)}' diff --git a/examples/browser/aepp/src/Connect.vue b/examples/browser/aepp/src/Connect.vue index 10c61ac65a..5ec9bcbf63 100644 --- a/examples/browser/aepp/src/Connect.vue +++ b/examples/browser/aepp/src/Connect.vue @@ -58,7 +58,7 @@ export default { walletConnected: false, walletConnecting: null, reverseIframe: null, - reverseIframeWalletUrl: 'http://localhost:9000', + reverseIframeWalletUrl: process.env.VUE_APP_WALLET_URL ?? 'http://localhost:9000', walletInfo: null, }), computed: { diff --git a/examples/browser/aepp/vue.config.js b/examples/browser/aepp/vue.config.js index a7e9344d35..383f082ae8 100644 --- a/examples/browser/aepp/vue.config.js +++ b/examples/browser/aepp/vue.config.js @@ -1,6 +1,7 @@ const { defineConfig } = require('@vue/cli-service'); module.exports = defineConfig({ + publicPath: process.env.PUBLIC_PATH ?? '/', devServer: { port: 9001, }, diff --git a/examples/browser/wallet-iframe/src/App.vue b/examples/browser/wallet-iframe/src/App.vue index 8638240c16..eae2842bfc 100644 --- a/examples/browser/wallet-iframe/src/App.vue +++ b/examples/browser/wallet-iframe/src/App.vue @@ -23,7 +23,7 @@