diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index e005988f47..00596ee76c 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -192,6 +192,8 @@ jobs: NEXT_PUBLIC_COUNTLY_URL: ${{ secrets.COUNTLY_URL }} NEXT_PUBLIC_COUNTLY_KEY: ${{ secrets.COUNTLY_KEY }} NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${{ secrets.TESTING_STRIPE_PUBLISHABLE_KEY }} + DID_DOCUMENT_ID: ${{ secrets.STAGING_DID_DOCUMENT_ID }} + DID_DOCUMENT_PRIMARY_DID_KEY: ${{ secrets.STAGING_DID_DOCUMENT_PRIMARY_DID_KEY }} - name: Add to web3.storage uses: web3-storage/add-to-web3@v2 id: ipfs @@ -285,6 +287,8 @@ jobs: NEXT_PUBLIC_COUNTLY_URL: ${{ secrets.COUNTLY_URL }} NEXT_PUBLIC_COUNTLY_KEY: ${{ secrets.COUNTLY_KEY }} NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} + DID_DOCUMENT_ID: ${{ secrets.PRODUCTION_DID_DOCUMENT_ID }} + DID_DOCUMENT_PRIMARY_DID_KEY: ${{ secrets.PRODUCTION_DID_DOCUMENT_PRIMARY_DID_KEY }} - name: Add to web3.storage uses: web3-storage/add-to-web3@v2 id: ipfs diff --git a/packages/website/package.json b/packages/website/package.json index 01522cc4dd..53dd196b44 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -6,9 +6,11 @@ "scripts": { "ci:envfile": "ts-node -O '{\"module\": \"commonjs\"}' scripts/envfile.ts ", "dev": "rm -rf .next && next dev -p 4000", + "did-document": "ts-node -O '{\"module\": \"commonjs\"}' scripts/did-document.ts", "start": "env-cmd -f ../../.env next dev -p 4000", "prebuild": "sh ./scripts/prebuild.sh", - "build": "next build && next-sitemap && next export", + "build": "next build && npm run build:did.json && next-sitemap && next export", + "build:did.json": "npm run -s did-document > public/.well-known/did.json", "postbuild": "sh ./scripts/postbuild.sh", "export": "next export", "test": "eslint './**/*.js' && tsc --build", diff --git a/packages/website/public/.well-known/.gitignore b/packages/website/public/.well-known/.gitignore new file mode 100644 index 0000000000..ded8d5d67c --- /dev/null +++ b/packages/website/public/.well-known/.gitignore @@ -0,0 +1 @@ +/did.json diff --git a/packages/website/scripts/did-document.ts b/packages/website/scripts/did-document.ts new file mode 100755 index 0000000000..013885a144 --- /dev/null +++ b/packages/website/scripts/did-document.ts @@ -0,0 +1,22 @@ +export async function main() { + console.error('generating did document'); + const didDocument = createDidDocument(); + console.log(JSON.stringify(didDocument, null, 2)); +} + +main(); + +function createDidDocument(env = process.env) { + const id = env.DID_DOCUMENT_ID; + const context: Array> = ['https://www.w3.org/ns/did/v1']; + if (id) { + context.push({ + '@base': id, + }); + } + return { + '@context': context, + id, + alsoKnownAs: env.DID_DOCUMENT_PRIMARY_DID_KEY, + }; +}