Previously the list of WASM-bundled utilities was hardcoded in
wasm-terminal.js and playground.md, which drifted from the actual
feat_wasm feature in coreutils/Cargo.toml (e.g. dd, tty, yes were
missing). The website workflow now parses feat_wasm at build time
and emits static/wasm/commands.js, which the terminal prefers over
its built-in fallback list.
The heredoc body for version.js was at column 0 while the surrounding
run block is indented 10 spaces, causing YAML to terminate the block
scalar and fail with 'Invalid workflow file' at line 146. Replace the
heredoc with a grouped echo block that respects the block indentation.
Emit a version.js alongside the WASM binary in CI recording the
coreutils commit used for the build, and display it under the
terminal with a link to the commit on GitHub.
mdbook 0.5's built-in Font Awesome parser sees the legacy `fa` class
that uudoc emits and defaults to type=regular, failing to find
linux/windows/apple (which live under `brands`) and spamming hundreds
of WARN lines per build. Drop the `fa ` prefix between uudoc and
mdbook build for both English and translated docs.
- Browser-based unit tests (111 tests) covering parsing, builtins,
pipes, UTF-8, l10n, virtual filesystem, and WASM integration
- Headless Puppeteer test runner (scripts/run-tests.js)
- CI workflow step to build WASM and run tests
The l10n repo contains en-US.ftl files that can overwrite the
coreutils English originals, causing translated docs to show text
from the wrong language. Skip en-US.ftl during the copy to preserve
the authoritative English strings.
- Remove manpage generation step and man2html dependency
- Add mdbook theme patching for language selector and utility links
- Repack tldr zip with pages/ prefix (uudoc expects this structure)
- Build translated docs via build-docs-l10n.sh for 18 languages
- Collect translated docs to /coreutils/docs-{lang}/
The l10n repo contains utilities (e.g. hashsum) that don't exist in
the coreutils workspace. Copying entire directories created phantom
workspace members that broke Cargo.
- Move l10n locale copy to a separate workflow step before docs build
to avoid triggering uudoc rebuilds with different cargo features
- Build uudoc once, then reuse for all languages
- Handle per-language build failures gracefully (skip and continue)
- Remove unused L10N_DIR parameter from build-all-manpages.sh
- Strip 'multilingual' from book.toml before mdbook build (removed in newer versions)
- Generate a self-contained manpages index.html instead of relying on Zola
(the Zola approach failed due to wrong paths and content conflict with coreutils.md)
- Copy manpage HTML files in the collect step so they end up at /coreutils/manpages/