bids-validator
Résumé fourni par la source
This is a release candidate for a major release that includes breaking changes to the public API. The CLI remains unchanged, but library users should review the changes below and update their code accordingly. The primary user-facing changes in this release are the support for validating git trees and passing custom schemas to the web validator. Thanks to Charan Sai Guttala, Yaroslav Halchenko, Dimitri Papadopoulos, Kay Robbins and Chris Rorden for their contributions to this release. Added --git-ref [REF] will validate a git tree at the given reference (tag, branch, tree or commit, defaulting to HEAD). Work trees and bare git repositories are supported. If omitted, the directory will be walked as a normal file tree, including untracked files, preserving the default behavior. Allow custom schemas to be uploaded or passed by URL to the web validator. Support symlinks to directories in git tree validation. Report broken symbolic links as issues instead of crashing or silently ignoring. .bidsignored links are not reported. If resolution is not implemented, warnings are issued instead of errors. Documented the library API: added a usage guide under docs/dev/using-the-api.md, JSDoc on validate(), and JSDoc with @throws on DatasetIssues.add(). New public subpaths expose primitives for building custom file sources: FileOpener, BIDSFile, FileTree, FileIgnoreRules, filesToTree, subtree, loadBidsIgnore, readBidsIgnore, and cross-environment openers (HTTPOpener, NullFileOpener). detectErrors() is now part of the public surface under /validate. UnknownIssueCodeError — DatasetIssues.add() now throws a typed error (instead of a plain Error) when called with an unrecognized issue code. Stream helpers (createUTF8Stream, streamFromUint8Array, streamFromString, UnicodeDecodeError) exported from /files for custom opener authors. Changed Reorganized public API surface for v3. Library imports now use subpath-specific entry points (/validate, /files, /filetree, /files/deno, /files/browser, /files/git, /issues, /output, /cli). The root export (.) remains the CLI entry point. The --prune option removes opaque BIDS directories (sourcedata/, derivatives/, etc.) from the file tree, reducing processing time and memory usage. This option is incompatible with recursive validation and may cause unexpected behavior if pruned data are referenced by name or via symbolic links. Fixed Test suite now passes on Windows: src/tests/bom-utf8.json is pinned to LF line endings via .gitattributes (previously checked out as CRLF, breaking the BOM-stripping assertion). chmod -R +w cleanup calls insrc/files/git.test.ts and src/files/utils.test.ts are skipped on Windows where chmod is not available. Use absolute path to .js within Dockerfile ENTRYPOINT, so could be found by singularity execution from arbitrary working directory Treat symbolic links to directories as directories instead of files. Compute opaque directories from the rules for the dataset's actual DatasetType instead of always using rules.directories.raw. This lets study-type datasets correctly ignore the rawbids/ subdataset (added in bids-standard/bids-specification#2191). Fixed in #389. Derivative datasets no longer generate warnings or errors for sidecar keys that don't explicitly apply to derivative datasets. Lazy-load the HED validator to reduce initial bundle size and resolve fs/promises background timer leaks during Deno tests. Debug logging is fixed for WebKit-based runners, such as Safari or Tauri. Issue reported by Chris Rorden in #405. Fixed useEffect in web/src/App.tsx returning a Promise instead of a void cleanup function, causing React strict mode to throw TypeError: destroy is not a function. Fixed duplicate React key warning in the web validator Files component: the key was location alone, but two issues at the same path with different issueMessage values both survive deduplication and then collide. The key now uses the composite ${location}${issueMessage} string that matches the deduplication map key. Replaced canvas-confetti CDN import (jsdelivr) in web/src/App.tsx with an npm: specifier so the build no longer requires outbound HTTP access to jsdelivr.net; added the corresponding pre-import in web/vite.config.mts. .dotfiles and directories (such as .git/) are now pruned from the file tree, avoiding unnecessary IO operations and memory consumption. Deprecated @bids/validator/main — use /validate, /files/browser, /files/git instead. main() is preserved for back-compat; it has no replacement and will be removed in v4. @bids/validator/options — use /validate (types) and /cli (validateCommand) instead. parseOptions() is preserved for back-compat; it has no replacement and will be removed in v4. readFileTree and BIDSFileDeno re-exported from /files — use /files/deno instead. Infrastructure Addressed or ignored all deno lint issues. Future work should lint clean. Added a developer environment guide under docs/dev/environment.md. The main.js build target has been renamed web.js for clarity. It will no longer be saved to the deno-build branch. Code-splitting was enabled in bundle configuration to make the validator more friendly to load in the browser or include in downstream bundled applications. The initial validator load transfers less than 400kB and only loads an additional 1.2MB if HED validation is required. Upgraded @hed/validator from ~4.1.4 to ^4.2.0 in deno.json; moved pluralize from a transitive hed-validator dependency to a direct import now that hed-validator is published on npm without bundling it. Added a CI job that installs the built wheel on each OS/arch and validates the bids-examples corpus via its run_tests.sh, guarding wheel packaging changes. PyPI wheels now set a minimum Python of 3.10. The bids-validator-deno wheel is now a single universal (py3-none-any) package that depends on the deno PyPI package, reducing overhead of supporting multiple platforms. New Contributors @DimitriPapadopoulos made their first contribution in https://github.com/bids-standard/bids-validator/pull/383 @neurolabusc made their first contribution in https://github.com/bids-standard/bids-validator/pull/406 Full Changelog: https://github.com/bids-standard/bids-validator/compare/2.4.1...3.0.0-alpha.4
Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.
Contrôle bibliographique ouvert
Institutions déclarées
Une affiliation ne permet pas de déduire la nationalité d’un auteur.