Skip to content

Commit

Permalink
Merge pull request #301 from Johennes/feature/librejs
Browse files Browse the repository at this point in the history
Add license comments to make GNU LibreJS accept Hydrogen's JS
  • Loading branch information
bwindels authored May 3, 2021
2 parents 10053ef + 452a0e7 commit dd046d8
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions scripts/build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
`<script type="module">import {main, Platform} from "./${assets.resolve(`hydrogen.js`)}"; main(new Platform(document.body, ${configJSON}));</script>`
`<script type="module">${wrapWithLicenseComments(modernScript)}</script>`
];
if (!modernOnly) {
const legacyScript = `hydrogen.main(new hydrogen.Platform(document.body, ${configJSON}));`;
mainScripts.push(
`<script type="text/javascript" nomodule src="${assets.resolve(`hydrogen-legacy.js`)}"></script>`,
`<script type="text/javascript" nomodule>hydrogen.main(new hydrogen.Platform(document.body, ${configJSON}));</script>`
`<script type="text/javascript" nomodule>${wrapWithLicenseComments(legacyScript)}</script>`
);
}
doc("script#main").replaceWith(mainScripts.join(""));
Expand All @@ -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(`<link rel="manifest" href="${assets.resolve("manifest.json")}">`);
await assets.writeUnhashed("index.html", doc.html());
}
Expand All @@ -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) {
Expand Down Expand Up @@ -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 = [
Expand Down

0 comments on commit dd046d8

Please sign in to comment.