chore: draw the toolbar icons in-tree with make icons (closes #378)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run

script/lib/icons.js draws the mark from geometry read back out of the
committed PNGs, since the coordinates were never recorded, and writes each
PNG with node's own zlib. `make icons` runs it and leaves alone a file that
already holds the drawn image.

tests/icons.test.js requires each committed file to hold exactly that
image: the same IHDR and every pixel. The compressed bytes are not
compared, because node's bundled zlib does not compress as the stock zlib
that made the committed files did; the decision is recorded on the issue.

build.js copies the manifests from MANIFEST_SOURCES instead of naming the
two paths a second time.

Model: opus-5-5
This commit is contained in:
2026-10-07 03:59:57 +00:00
parent 0aaa94471f
commit f76785f4dd
6 changed files with 263 additions and 10 deletions
+4 -9
View File
@@ -588,15 +588,10 @@ async function build() {
copyIcons(distDir);
}
// copy manifests
copyEmitted(
path.join(__dirname, "manifest", "chrome.json"),
path.join(DIST_CHROME, "manifest.json"),
);
copyEmitted(
path.join(__dirname, "manifest", "firefox.json"),
path.join(DIST_FIREFOX, "manifest.json"),
);
// copy manifests, the same files copyIcons() read
for (const [distDir, manifestPath] of MANIFEST_SOURCES) {
copyEmitted(manifestPath, path.join(distDir, "manifest.json"));
}
assertForbiddenTableCovered(forbiddenRecord);