feat(app): add MFA and tsdocker release
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
node --input-type=module <<'NODE'
|
||||
import fs from 'node:fs';
|
||||
|
||||
const readJson = (path) => JSON.parse(fs.readFileSync(path, 'utf8'));
|
||||
|
||||
const checks = {
|
||||
packageVersion: readJson('/app/package.json').version,
|
||||
hasCli: fs.existsSync('/app/cli.js'),
|
||||
hasIndex: fs.existsSync('/app/dist_ts/index.js'),
|
||||
hasWebBundle: fs.existsSync('/app/dist_serve/bundle.js'),
|
||||
hasWebIndex: fs.existsSync('/app/dist_serve/index.html'),
|
||||
hasArgon2: fs.existsSync('/app/node_modules/argon2/package.json'),
|
||||
hasOtplib: fs.existsSync('/app/node_modules/otplib/package.json'),
|
||||
hasSimpleWebAuthnServer: fs.existsSync('/app/node_modules/@simplewebauthn/server/package.json'),
|
||||
hasSimpleWebAuthnBrowser: fs.existsSync('/app/node_modules/@simplewebauthn/browser/package.json'),
|
||||
};
|
||||
|
||||
await import('/app/dist_ts/index.js');
|
||||
await import('argon2');
|
||||
await import('otplib');
|
||||
await import('@simplewebauthn/server');
|
||||
|
||||
if (checks.packageVersion !== '1.21.1') {
|
||||
throw new Error(`Unexpected idp.global package version ${checks.packageVersion}`);
|
||||
}
|
||||
if (!checks.hasCli) {
|
||||
throw new Error('Missing cli.js');
|
||||
}
|
||||
if (!checks.hasIndex) {
|
||||
throw new Error('Missing dist_ts/index.js');
|
||||
}
|
||||
if (!checks.hasWebBundle || !checks.hasWebIndex) {
|
||||
throw new Error('Missing dist_serve web assets');
|
||||
}
|
||||
if (!checks.hasArgon2 || !checks.hasOtplib || !checks.hasSimpleWebAuthnServer || !checks.hasSimpleWebAuthnBrowser) {
|
||||
throw new Error('Missing MFA/passkey runtime dependencies');
|
||||
}
|
||||
|
||||
console.log(JSON.stringify(checks));
|
||||
NODE
|
||||
Reference in New Issue
Block a user