{"id":16936528,"url":"https://github.com/jonhoo/vast-vmap","last_synced_at":"2025-07-04T07:35:10.588Z","repository":{"id":7102786,"uuid":"8395146","full_name":"jonhoo/vast-vmap","owner":"jonhoo","description":"JavaScript library for IAB VAST + VMAP","archived":false,"fork":false,"pushed_at":"2016-03-11T22:17:42.000Z","size":152,"stargazers_count":58,"open_issues_count":11,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-29T10:43:09.831Z","etag":null,"topics":["advertisement","html5-video","javascript","vast","video-player"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonhoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-02-24T19:14:32.000Z","updated_at":"2024-08-23T16:23:52.000Z","dependencies_parsed_at":"2022-09-08T20:50:54.385Z","dependency_job_id":null,"html_url":"https://github.com/jonhoo/vast-vmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonhoo/vast-vmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Fvast-vmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Fvast-vmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Fvast-vmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Fvast-vmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonhoo","download_url":"https://codeload.github.com/jonhoo/vast-vmap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonhoo%2Fvast-vmap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263469351,"owners_count":23471508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advertisement","html5-video","javascript","vast","video-player"],"created_at":"2024-10-13T20:57:13.146Z","updated_at":"2025-07-04T07:35:10.563Z","avatar_url":"https://github.com/jonhoo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/jonhoo/vast-vmap.svg)](https://travis-ci.org/jonhoo/vast-vmap)\n# What is this? #\nThis is a JavaScript library for working with Ad Servers providing ads\nthrough IAB [VAST](http://www.iab.net/vast) and\n[VMAP](http://www.iab.net/vmap) formatted responses. VAST is the\nstandard for delivering the ads, whereas VMAP is the standard for\ndeciding where in the video stream ads should go.\n\nThe library has not yet been tested **at all**, just written according\nto the specifications. It is likely that it does not work. Hopefully it\nwill evolve over time now that the ground work has been put down though.\n\n# Do you have an example? #\n\nNope, not yet. I'll probably write a HTML5 video integration soon that\nshould act like a demo though. Watch this space.\n\n# How do I use it? #\n\nFor now, read the JSDoc. I think it should be fairly straightforward,\nbut maybe not. When I get around to writing a demo, things might be more\nclear. Would be good to have a VAST/VMAP provider that were willing to\nput up a test service though.\n\nAlso, note that this is a very low-level library. It parses VAST/VMAP,\nhandles wrapped responses and tracking for you and tells you which ads\nto play when. It does no **do** anything unless you ask for something or\ntell it do do something.  For example, you have to explicitly call\n`VASTCreative#track` on a creative any time a trackable event happens.\nThe library will not watch for the events since it does not care how you\ndisplay the data.\n\n# Level of standards support #\n\nShould support most sensible VAST 3.0 (and therefore also 2.0) and VMAP\n1.0 resources. Also supports some silly things like deeply nested\nWrapper resources and even more silly things like AdPods inside AdPods\ninside AdPods (which is possble because of the weird way IAB have\ndecided to do Wrapper responses). The following things have been left\nout mostly intentionally:\n\n  - Sequence numbers for creatives (because the standard doesn't really\n    give a use case for them)\n  - Any kind of extensions\n  - Survey elements (what are these anyway?)\n  - Anything that has to do with pricing or money\n  - Anything related to \"apiFramework\"\n\n# Known issues #\n\nThe following is a list of features that I do want to implement, but I\njust haven't gotten around to them yet.\n\n  - Enforcement of the \"required\" attribute for Companion Ads\n  - An interface for reporting errors so that they are reported back to\n    the Ad Server\n  - adParameters for Flash StaticResources\n  - Industry Icons (which are **required** according to the standard).\n    This is simply because I haven't gotten around to it yet. Also,\n    they're not very well described in the standard.\n\n# Testing #\n\nI've added some rudimentary tests using BusterJS based on some VAST 2.0 XML files\ndistributed by the IAB. Feel free to add more if you want to. Still need a good\nexample VMAP document though...\n\nIn order to run the tests, start by installing dev dependencies:\n\n`npm install`\n\nAnd then:\n\n`grunt test`\n\nYou can also watch for changes and immediately run the tests:\n\n`grunt watch:tests`\n\n# Support #\n\nThis code is not officially supported by anyone, not even me. I give no\nguarantees that it is working, nor that it will work any time soon.\nDon't come running to me if your server catches on fire because of\nusing this libary.\n\nAny issues should be submitted at the [Github issues\npage](https://github.com/jonhoo/vast-vmap/issues). Pull requests are\nmore than welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonhoo%2Fvast-vmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonhoo%2Fvast-vmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonhoo%2Fvast-vmap/lists"}