diff --git a/scripts/build.mjs b/scripts/build.mjs index 8e3eb6c6..fef0f0a1 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -161,13 +161,15 @@ async function buildHtml(doc, version, baseConfig, globalHash, modernOnly, asset wasmBundle: assets.resolve("olm.js"), } })); + const modernScript = `import {main, Platform} from "./${assets.resolve(`hydrogen.js`)}"; main(new Platform(document.body, ${configJSON}));`; const mainScripts = [ - `` + `` ]; if (!modernOnly) { + const legacyScript = `hydrogen.main(new hydrogen.Platform(document.body, ${configJSON}));`; mainScripts.push( ``, - `` + `` ); } doc("script#main").replaceWith(mainScripts.join("")); @@ -177,7 +179,7 @@ async function buildHtml(doc, version, baseConfig, globalHash, modernOnly, asset let vSource = versionScript.contents().text(); vSource = vSource.replace(`"%%VERSION%%"`, `"${version}"`); vSource = vSource.replace(`"%%GLOBAL_HASH%%"`, `"${globalHash}"`); - versionScript.text(vSource); + versionScript.text(wrapWithLicenseComments(vSource)); doc("head").append(``); await assets.writeUnhashed("index.html", doc.html()); } @@ -198,7 +200,7 @@ async function buildJs(mainFile, extraFiles, importOverrides) { name: `hydrogen` }); const code = output[0].code; - return code; + return wrapWithLicenseComments(code); } async function buildJsLegacy(mainFile, extraFiles, importOverrides) { @@ -240,7 +242,14 @@ async function buildJsLegacy(mainFile, extraFiles, importOverrides) { name: `hydrogen` }); const code = output[0].code; - return code; + return wrapWithLicenseComments(code); +} + +function wrapWithLicenseComments(code) { + // Add proper license comments to make GNU LibreJS accept the file + const start = '// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0'; + const end = '// @license-end'; + return `${start}\n${code}\n${end}`; } const NON_PRECACHED_JS = [