@gritsenko/cta-core
v0.1.1
Published
Headless, browser-free core for packing HTML5 playable ads for ad networks (transforms + per-network validation).
Readme
@gritsenko/cta-core
Headless, browser-free core for packing HTML5 playable ads for ad networks:
per-network transforms + validation. This is the same engine behind the
PlayableTools /publish page, extracted so it
can run in Node, CI, or an agent — no browser, no DOM.
It is a universal post-build packer, not a bundler: feed it an already-built playable and it produces per-network builds plus a machine-readable validation report.
Install
npm install @gritsenko/cta-coreUsage
import { listNetworks, pack, validate } from "@gritsenko/cta-core";
const networks = listNetworks(); // [{ id, output, maxBytes, notes }]
const result = await pack(html, {
networks: ["facebook", "google", "unity"],
validate: true,
});The package ships pure functions over in-memory HTML/asset data. For a CLI or a
filesystem-oriented Node API, use @gritsenko/cta-pack;
for an MCP server, use @gritsenko/cta-mcp.
Supported networks
- single-html:
facebook5MB ·moloco5MB ·ironsource5MB ·adcolony2MB ·unity5MB ·applovin5MB ·liftoff5MB ·chartboost3MB - zip:
facebook_zip5MB ·mintegral5MB ·vungle5MB ·tiktok5MB ·google5MB
The network registry lives in src/networks.ts and is the single source of
truth shared by the web app, CLI, and MCP server.
License
MIT
