Bump to 1.35.0: a project whose whole definition is one matlab.toml reads - #62
Merged
Merged
Conversation
…eads R2026b's `matlab.project.DefinitionFiles.Toml` deletes `resources/` and the `.prj` marker both and writes a single `matlab.toml` at the project root. That file is now parsed into the same `ParsedProject` the three XML layouts produce, so the page, the tree and every consumer behind `parseProject` are unchanged. Two fields are new, and both exist because this format records something the others do not — and omits something they all have: - `ParsedProject.membersEnumerated` answers "does this FORMAT record a member list", not "did we find any". True on every XML path, including the one for a store that would not open; false only here. Without it an empty `files` means two different things and the page reports a real project as empty. - `ProjectLabel.declaredFiles` is the inverted assignment only this format has: a label declares the files it covers, where a store assigns labels per member. `ProjectPage.memberCount`, `labelledCount` and `ProjectPageLabel.count` are therefore `number | null`. Null and not 0 or -1: a renderer that prints "0 members" for a project whose members are every file under its root is confidently wrong, and null is the only value that makes reaching the markup a compile error in the consumer that escapes it. The parser is `smol-toml` (BSD-3-Clause, zero dependencies, browser-safe) rather than a hand-rolled subset, because this is the one definition format designed to be hand-edited: it will carry comments, quoting variants, dotted keys and multi-line arrays, and a subset parser that mis-reads one of those renders a confidently-wrong page. The lockfile's own version is bumped with package.json this time. Bumping package.json alone is what let the two drift apart by a full release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Releases the
matlab.tomlreader merged in #61.R2026b's
matlab.project.DefinitionFiles.Tomldeletesresources/and the.prjmarker both and writes a singlematlab.tomlat the project root. That file now parses into the sameParsedProjectthe three XML layouts produce, so everything behindparseProjectis unchanged.Two new fields, both because this format records something the others do not — and omits something they all have:
ParsedProject.membersEnumeratedanswers "does this format record a member list", not "did we find any". True on every XML path, including the one for a store that would not open; false only here. Without it an emptyfilesmeans two different things and a consumer reports a real project as empty.ProjectLabel.declaredFilesis the inverted assignment only this format has: a label declares the files it covers, where a store assigns labels per member file.ProjectPage.memberCount,labelledCountandProjectPageLabel.countare thereforenumber | null— null rather than 0 or -1, so that reaching the markup is a compile error in the consumer that escapes it.Consumer status:
data-explorer-vscodeis already building and testing green against this commit through a local install (typecheck clean, 2998 unit tests), so the API is exercised by its consumer before the tag goes on.The lockfile's own version is bumped alongside
package.jsonthis time; bumpingpackage.jsonalone is what let the two drift apart by a full release.