Skip to content

Build tooling work, commits C31-C50, C32a, C41a-c. - #209

Merged
KubaO merged 27 commits into
twinbasic:mainfrom
KubaO:staging
Sep 27, 2026
Merged

KubaO merged 27 commits into
twinbasic:mainfrom
KubaO:staging

Conversation

@KubaO

@KubaO KubaO commented Sep 27, 2026

Copy link
Copy Markdown
Collaborator
  • lib: the new top-level lib/markdown.mjs says which lines and spans of a markdown page are code, and lib/frontmatter.mjs parses a page's frontmatter. check_code_regions carries probes for both.
  • builder: the pre-render rewrites and the admonition plugin find code through lib/markdown.mjs. So do counts.mjs, convert_em_dash_separators, check_examples' marker splice, check_gate_lists, and eval/'s run_case and nav_hops. nav_hops no longer misreads the fences in Authoring.md.
  • builder: an unknown {{tbdocs:name}} count is reported with its file and line, and a name inside code is no longer checked.
  • builder: gray-matter is removed. Frontmatter is read through lib/frontmatter.mjs everywhere: discover, eval/ and Wisdom.
  • docs: the titles Input #, Line Input # and Write # are now quoted. Unquoted, YAML read the # as a comment, so the sidebar showed Input, Line Input and Write. The build now warns about any unquoted frontmatter value that ends in #.
  • BETA 987: builder/package-api.json is regenerated. VB has two new private UDTs, _Collection lists its members in another order, and OrientationConstants moved into WinNativeCommonCtls' new public module Miscellaneous2. Add-in test P5 accepts the empty hover 987 gives where 983 gave none. examples.bat (1129 of 1129 samples compile) and addin-test.bat (10 of 10 lanes) pass on 987.
  • wisdom: parseStaging splits only at real section boundaries, so a --- inside a fenced sample no longer ends a section. Pages and threads are read through lib/. Reference pages are grouped by package again: after the folder reorganisation they were grouped under Default and Built-In only.
  • scripts: census_attributes and gen_attribute_probes share one reader of Attributes.md, scripts/lib/attributes-doc.mjs. Both now need npm install.
  • scripts: check_links.mjs runs the build's own link and integrity checks (builder/check.mjs) over a tree on disk. Its report is unchanged.
  • scripts: shared helpers replace copies:
    • scripts/lib/gate-probes.mjs holds the gates' probes and crash handler.
    • The two diagram tools share one browser launch and one Inter host page, and no longer pass --allow-file-access-from-files.
    • The a11y sampler and sweep share one page discovery.
    • lib/repo-paths.mjs gives 26 files one repository root.
  • cli: lib/cli.mjs is built on node:util's parseArgs, and every tool under scripts/ now reads its command line through it, keeping its behaviour. The differences, all recorded in the plan:
    • --name=value is accepted.
    • A repeated flag keeps its last value.
    • -- ends the options.
    • A short-option group such as -vh is split into its letters.
    • survey_tooling's parse errors use the module's wording.
  • test.bat: the new check_cli gate tests the module and 106 recorded command-line cases across 21 tools, each run with an IDE and a browser that do not exist. It is in test.bat and the shared CI action, so this is its first run on Linux.
  • WIP.md: the file-editing tools turn a four-digit \u escape into the character itself. WIP.md now says so, and says to write the brace form \u{FEFF} instead.
  • Docs (Tools.md, Building.md, Extending.md, Pipeline-Stages.md) and the WIP notes are updated to match. build.bat, check.bat, test.bat and lint are clean on every commit.

@KubaO
KubaO merged commit ea96e4c into twinbasic:main Sep 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant