Modernize VAST Tester - #47
Open
aleksUIX wants to merge 11 commits into
Open
Conversation
Restores shared ancestry with IAB upstream while preserving the current committed tester tree.
aleksUIX
marked this pull request as ready for review
June 8, 2026 01:18
0.10.2 predates the CTV Ad Portfolio VAST 2.0 extension path, so the tester reported nothing at all on a tag using <Extension type="ctv_ad_portfolio"> or <CreativeExtension type="tl_qrcode">. 0.11.0 added six rules for the 2.0 container plus the two Format-to-Signal cross-checks, and 0.11.1 closed the NonLinear traversal hole where MediaFile, Mezzanine, InteractiveCreativeFile and Icon went unvalidated under the CTV content model. Catalog goes from 212 to 220 rules. No API change; the build and typecheck are unaffected.
0.11.3 predates the CTV Ad Portfolio extension-container validation added in 0.11.4, so the tester reported nothing for a defective <MediaFile>, <Duration>, <Icon> or <Tracking> inside <Extension type="ctv_ad_portfolio">. 0.11.5 is the element-dispatch refactor, which reports identically. Catalog stays at 220 rules. No API change; build and typecheck unaffected.
Adds VAST-4.4-qrcode-missing-image-url and VAST-3.0-adparameters-xmlencoded-value, and <Duration> is now format-checked under <NonLinear>. Catalog 220 to 222.
The tester now publishes to two independent providers from the same commit. Cloudflare Pages stays the primary and is unchanged: `npm run deploy:pages` still builds with the default base and uploads dist. The new workflow builds the same tree with `--base=/VAST-Tester/` on the command line, so the base path lives only in CI and vite.config.ts keeps producing a root-relative build for Cloudflare. tsconfig.node.json could not typecheck from a clean `npm ci`. It asked for `types: ["node"]`, but @types/node is only an optional peer of vite and is never installed by the committed lockfile; local builds passed only because other tooling happened to pull it in. It also set no target or lib, so it defaulted to ES5 and could not read vite's own declarations. It is now self-contained: ES2022, no ambient types, skipLibCheck on. vite.config.ts uses no Node globals, so nothing is lost.
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.
Summary
mastervastlintvastlint,vastlint-client, andvastlint-reactfrom npm instead of relying on a sibling local checkoutWhat is included
vastlintValidation
npm installnpm run build