29 lines
899 B
TypeScript
29 lines
899 B
TypeScript
|
// Copyright 2019 Signal Messenger, LLC
|
||
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||
|
|
||
|
import { execSync } from 'child_process';
|
||
|
|
||
|
import { realpath } from 'fs-extra';
|
||
|
|
||
|
// eslint-disable-next-line max-len
|
||
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
|
||
|
export async function sign(configuration: any): Promise<void> {
|
||
|
const scriptPath = process.env.SIGN_MACOS_SCRIPT;
|
||
|
if (!scriptPath) {
|
||
|
throw new Error(
|
||
|
'path to macos sign script must be provided in environment variable SIGN_MACOS_SCRIPT'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
const target = await realpath(configuration.app);
|
||
|
|
||
|
// The script will update the file in-place
|
||
|
const returnCode = execSync(`bash "${scriptPath}" "${target}"`, {
|
||
|
stdio: [null, process.stdout, process.stderr],
|
||
|
});
|
||
|
|
||
|
if (returnCode) {
|
||
|
throw new Error(`sign-macos: Script returned code ${returnCode}`);
|
||
|
}
|
||
|
}
|