rsnext/packages/next/build/generate-build-id.ts
Tim Neutkens 3e51ddb8af
Move syntax formatting to prettier (#7454)
* Run prettier over packages/**/*.js

* Run prettier over packages/**/*.ts

* Run prettier over examples

* Remove tslint

* Run prettier over examples

* Run prettier over all markdown files

* Run prettier over json files
2019-05-29 13:57:26 +02:00

22 lines
627 B
TypeScript

export async function generateBuildId(
generate: () => string | null,
fallback: () => string
): Promise<string> {
let buildId = await generate()
// If there's no buildId defined we'll fall back
if (buildId === null) {
// We also create a new buildId if it contains the word `ad` to avoid false
// positives with ad blockers
while (!buildId || /ad/i.test(buildId)) {
buildId = fallback()
}
}
if (typeof buildId !== 'string') {
throw new Error(
'generateBuildId did not return a string. https://err.sh/zeit/next.js/generatebuildid-not-a-string'
)
}
return buildId.trim()
}