Skip to content

Step 10: Prettier once over the converted modules, with a no-undef pass - #2847

Merged
mathiasrw merged 9 commits into
feature/rollupfrom
fix/format-converted
Oct 22, 2026
Merged

mathiasrw merged 9 commits into
feature/rollupfrom
fix/format-converted

Conversation

@mathiasrw

@mathiasrw mathiasrw commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Step 10 of the ES6 conversion (context/roadmap-phase-1.md): lint and format. One Prettier commit over every converted module, its hash in .git-blame-ignore-revs, the conversion folders out of .prettierignore in the same commit, and a no-undef pass over the converted files. It also carries the end-of-phase benchmark into ledger row 9, since #2845 merged before the quiet machine came, and the forward merge of develop (#2798), made before the Prettier commit so that git carried the fix into the moved files.

The forward merge (35bd5a9): develop has one commit since 4.21.0, #2798 (044ab07), which changes 60createtable.js (19 lines) and 94filestorage.js (15 lines) and adds test1846.js. The merge landed both changes in src/statements/createtable.js and src/storage/filestorage.js without a conflict; git diff 98d68eaa 35bd5a99 shows nothing else. The suite went from 2447 to 2452 passing. The parity reference moved to develop at 044ab07, built with its own build.sh (ref-044ab07a; yarn test-parity names it now): 0 differences, API identical apart from the 11 allowed. Against the old 4.21.0 reference one result differs, the xlsx serial date of test815.js, which is the parity check's fixed clock running ahead by the statements test1846.js adds before it, not #2798.

The formatting commit (fac32eef) runs Prettier with the repository's settings over 84 files in the thirteen conversion folders. src/worker/start.js and src/worker/finish.js stay ignored by name: they are the head and tail of the worker concatenation, not parsable on their own. src/engine/finish.js loses its CRLF endings here. Nothing else changes: the suite, the parity check and the smokes are the same before and after, and the bundles differ only in comments and whitespace.

.git-blame-ignore-revs is new, with that hash; GitHub's blame view reads it on its own, and a clone gets the same with git config blame.ignoreRevsFile .git-blame-ignore-revs.

no-undef over the converted modules, with the browser and Node globals the files use on purpose listed: 20 names resolve to nothing. Eighteen are environment globals the files reach on purpose (Meteor and Mongo for Meteor, LocalFileSystem for Cordova, global for Node, alasql in the echo, prolog and orientdb plugins, and the two worker fragments that are not modules). Two are latent bugs of 4.21.0, left as they are: renameColumns in src/statements/with.js (#2841) and fsdbid in src/storage/filestorage.js (#2846, filed with the ATTACH failure found on the way). The pass is a one-off through npx eslint; eslint is not a dependency of the repository.

One change to what CI checks, in its own commit (48a04188), easy to drop: test-format-all listed {.,src,test}/*.{js,ts,json}, one level deep, so the "Verify code formatting" job never looked at src/engine/ and the other folders. The glob is ** now, test/coverage/ joins .prettierignore, and the job itself is untouched. yarn test-format-all passes on this branch.

Checks

suite 2452 pass, 213 skip, 0 fail, and the 6 smokes, after the formatting commit
parity on the tip 0 differences over 77,053 statements against develop at #2798 (ref-044ab07a); API identical apart from the 11 allowed .name changes
double run 0 unstable statements, 0 differences
smokes browser global, worker, CLI, ESM import, alasql.min.js under node, Node 16 and 24, npm pack and install: 8 of 8
sizes alasql.min.js 524,616 bytes, 4,021 over develop at #2798 (0.8 percent); rows for the merge and for step 10 in test/parity/ledger.md
test-perf-mini 100 against 4.21.0, nothing marked. A focused run of 7 of json-path against 4.21.0, asked for before the merge, gave +3 on Bun and +10 on Node, under the line for a bisect on both runtimes; the detail is one case, SEARCH through nested arrays, at +27 and +37, while the arrow path and the flat property are within noise. The end-of-phase full benchmark ran on the step 9 tip: 102 (Bun 101, Node 102), detail in ledger row 9, where the Bun JOIN baseline case is traced across the step builds and called a JavaScriptCore layout effect

test/parity/ledger.md row 10 carries this pull request's number; row 9 gets the end-of-phase benchmark.

@mathiasrw
mathiasrw force-pushed the fix/format-converted branch from f1fbac6 to 497a297 Compare October 22, 2026 01:31
@mathiasrw
mathiasrw merged commit 6bef4e8 into feature/rollup Oct 22, 2026
19 checks 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.

2 participants