Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bcb5ecf
Replay rewritten tester on upstream master
aleksUIX May 24, 2026
dd3dc64
Expand scenario library and filters
aleksUIX May 24, 2026
78aff33
Use published vastlint npm packages
aleksUIX Jun 8, 2026
befa268
validator updates
aleksUIX Jul 31, 2026
e20b812
UI updates; keep local e2e and demo material untracked
aleksUIX Jul 31, 2026
56fd018
Link vastlint GitHub issues and discussions from README, masthead, fo…
aleksUIX Jul 31, 2026
6a0f3a8
Add required id to CompanionClickTracking in companion banner scenario
aleksUIX Jul 31, 2026
0bc2097
Bump vastlint packages to 0.11.3
aleksUIX Aug 5, 2026
53a1169
Bump vastlint packages to 0.11.5
aleksUIX Aug 5, 2026
a074685
Bump vastlint packages to 0.11.6
aleksUIX Aug 6, 2026
7f0a587
Add a GitHub Pages deployment alongside Cloudflare Pages
aleksUIX Aug 6, 2026
3c2f83c
Show the maintainer email in the masthead, footer, and findings
aleksUIX Aug 6, 2026
8dd4d4c
docs: SIMID XML in vastlint, creative QA in the tester
aleksUIX Aug 22, 2026
5284615
Add SIMID studio and VAST 4.4 SIMID presets
aleksUIX Aug 26, 2026
7a84cdf
Keep SIMID studio contained on portrait stages and run the overlay ba…
aleksUIX Aug 29, 2026
b43021c
Host the SIMID studio walkthrough on the tester so people can watch a…
aleksUIX Aug 30, 2026
08b8554
Swap the in-page SIMID walkthrough to a 16:9 desktop recording so it …
aleksUIX Aug 30, 2026
121a070
Keep the SIMID walkthrough on stage after the 20s host clip ends.
aleksUIX Aug 30, 2026
0d963bd
fix: point feedback to aleks@ and stop empty SSAI findings copy
aleksUIX Sep 4, 2026
ffdb285
feat: title the workbench as an IAB-style VAST tester and SIMID studio
aleksUIX Sep 5, 2026
992dfa8
feat: add OM SDK session and player-profile media selection
aleksUIX Sep 14, 2026
967b9d2
Bump vastlint packages to 0.13.8
aleksUIX Sep 14, 2026
2d7f3b0
refactor: move product chrome into branding.ts
aleksUIX Sep 14, 2026
94b79f5
chore: ship IAB-neutral chrome on master
aleksUIX Sep 14, 2026
ae57f43
feat: shareable SIMID session JSON and CTV Ad Portfolio 2.0/3.0 presets
aleksUIX Sep 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 0 additions & 65 deletions .circleci/config.yml

This file was deleted.

2 changes: 0 additions & 2 deletions .env

This file was deleted.

4 changes: 0 additions & 4 deletions .env.development

This file was deleted.

Empty file removed .env.production
Empty file.
35 changes: 35 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@

# production
/build
/dist

# misc
.DS_Store
.env
.env.*
!.env.example
.env.local
.env.development.local
.env.test.local
Expand All @@ -22,3 +26,34 @@ yarn-error.log*

.envrc
.idea/

# TypeScript / Vite build output
*.tsbuildinfo
/vite.config.js
/vite.config.d.ts

# Playwright
/test-results
/workshop-report
/playwright-report
/blob-report
/playwright/.cache
/demo-output

# Local-only development material, not part of the published package
/e2e/
/playwright.config.ts
/tsconfig.e2e.json
/DEMO-SCRIPT.md
/vo recordings/
/.wrangler/

# GitHub config: only the Pages deploy workflow is published; everything else
# under .github/ is local-only.
/.github/*
!/.github/workflows
/.github/workflows/*
!/.github/workflows/pages.yml

/*.mp4
/*.mov
99 changes: 19 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,94 +1,33 @@
Please review the IAB Tech Lab Open Source Initiative Governance guidelines [here](http://iabtechlab.com/opensource) for contributing to this project.
# VAST Tester

# IAB Tech Lab VAST Tester
Browser-based VAST tester for IAB Tech Lab. Validate VAST XML, resolve wrapper chains, inspect media and tracking, and exercise SIMID and OM SDK sessions.

[![CircleCI](https://circleci.com/gh/InteractiveAdvertisingBureau/VAST-Tester.svg?style=shield)](https://circleci.com/gh/InteractiveAdvertisingBureau/VAST-Tester) [![JavaScript Standard Style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://standardjs.com/)
## What it does

Tests IAB VAST ads. Contributed by the [DoubleVerify](https://www.doubleverify.com/) team.
- Validate pasted VAST XML or a remote VAST URL
- Auto-fix deterministic issues
- Resolve wrapper chains
- Inspect hops, resolved ads, media files, and rule findings
- Review playback, tracking waterfalls, and macro expansion
- Switch compliance-oriented validation profiles
- Export reports for partner debugging

This tool is also hosted by IAB Tech Lab at [[vasttester.iabtechlab.com](https://tools.iabtechlab.com/resourcecenter/vastTagValidator)]([https://vasttester.iabtechlab.com](https://tools.iabtechlab.com/resourcecenter/vastTagValidator)).

## Getting Started

Install dependencies:

```bash
yarn
```

Get developing:
## Getting started

```bash
yarn start
npm install
npm run dev
```

Create a production build:
Production build:

```bash
yarn run build
npm run build
```

## Architecture

This is a [React](https://reactjs.org/) app bootstrapped with
[Create React App](https://github.com/facebookincubator/create-react-app).
All state is maintained using [Redux](https://redux.js.org/). Side effects of
state mutation are modeled using
[redux-observable](https://redux-observable.js.org/).

There are subdirectories for the standard React-Redux model:

- [`components/`](src/components/): React components (without Redux);
- [`containers/`](src/containers/): React components connected to Redux's
store;
- [`actions/`](src/actions/): Redux action definitions;
- [`reducers/`](src/reducers/): Redux reducers;
- [`epics/`](src/epics/): epics for redux-observable;
- [`middleware/`](src/middleware/): Redux middleware.

In addition to those, there are also:

- [`util/`](src/util/): various utility modules;
- [`style/`](src/style): [Sass](https://sass-lang.com/) style sheets for
the app.

More detailed documentation will be added at a later stage. For now, we suggest
exploring the source code.

## Debugging

During development, you can use:

- [React DevTools](https://github.com/facebook/react-devtools)
for React's DOM;
- [Redux DevTools](https://github.com/zalmoxisus/redux-devtools-extension)
for Redux actions and redux-observable effects;
- [Logger for Redux](https://github.com/evgenyrodionov/redux-logger)
by setting `localStorage.reduxLogger` to `true`;

## To Do

- OM SDK in-app support
- Resize support
- Canned test scenarios
- Reporting and recommendations
- VAST validation

## Contributing

We welcome pull requests for bug fixes and new features.

## License

Copyright 2021 IAB Technology Laboratory, Inc.
Remote URL fetches run in the browser. The target endpoint must allow CORS from this origin.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
<http://www.apache.org/licenses/LICENSE-2.0>.
## Notes

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
- Node 18 or newer
- Browser playback depends on codec support and remote asset permissions
28 changes: 28 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>VAST Tester</title>
<meta
name="description"
content="IAB Tech Lab VAST Tester. Validate VAST tags, resolve wrappers, and inspect playback, tracking, SIMID, and OM SDK behavior."
/>
<meta name="robots" content="index,follow" />
<meta property="og:type" content="website" />
<meta property="og:title" content="VAST Tester" />
<meta
property="og:description"
content="Validate VAST tags, resolve wrappers, and inspect playback, tracking, SIMID, and OM SDK behavior."
/>
<link rel="icon" href="/favicon.ico" />
</head>
<body>
<noscript>
<h1>VAST Tester</h1>
<p>JavaScript is required to run the VAST Tester.</p>
</noscript>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Loading