{"_id":"@ticketmaster/react-gpt","_rev":"58-15771b7f4d9b2759318724784bcce161","name":"@ticketmaster/react-gpt","dist-tags":{"latest":"2.2.0"},"versions":{"2.1.0":{"name":"@ticketmaster/react-gpt","version":"2.1.0","keywords":["react-gpt","nfl","react","ad","gpt","google publisher tags"],"license":"MIT","_id":"@ticketmaster/react-gpt@2.1.0","maintainers":[{"name":"adammeghji","email":"adam@meghji.org"},{"name":"emerson.serra","email":"emerson.serra@ticketmaster.com"},{"name":"george.yue","email":"theothergeorge@gmail.com"},{"name":"jsnwng","email":"jason.wong@ticketmaster.com"},{"name":"kawikabader_tm","email":"emil.bader@ticketmaster.com"},{"name":"oleksandr_dziuban","email":"sanogtxultraracer123@gmail.com"},{"name":"oleksandr.tymchenko","email":"tymchenko.oleksandr.87@gmail.com"},{"name":"oliverturner","email":"oliver.turner@codedsignal.co.uk"},{"name":"oscar.martinez","email":"oscar.martinez@ticketmaster.com"},{"name":"quikgw","email":"quikgw@gmail.com"},{"name":"rclancey","email":"ryan.clancey@ticketmaster.com"},{"name":"tm_platinum","email":"platinumdevteam@ticketmaster.com"},{"name":"tmtech","email":"sean@ticketmaster.com"},{"name":"yuriy1988","email":"csnmetau@gmail.com"}],"contributors":[{"name":"NFL Engineering"}],"homepage":"https://github.com/Ticketmaster/react-gpt#readme","bugs":{"url":"https://github.com/nfl/react-gpt/issues"},"dist":{"shasum":"648f251ae40e902e6ec1b4132f8f8d52db250aef","tarball":"https://registry.npmjs.org/@ticketmaster/react-gpt/-/react-gpt-2.1.0.tgz","fileCount":39,"integrity":"sha512-UhWHco8ephtETSnbYS2hQktRJl3Yw41o0xmtWHRaZdz/eLY9STAoocxGMT8ji/h5oWxqCMhlpsl+K+I9khk2aw==","signatures":[{"sig":"MEQCIDqbKGr4wzVlpN8dhRKKo5rdvnOmgwsdZtvnU854Avb5AiA45qLcGpq2KpHC8fHQrtY7Wmg8d8GHRahOw8UJ+/ZxfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":384637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbhwwbCRA9TVsSAnZWagAAqc0P/3MHKRVeFrVLogyKlLDv\n6ZDpqX1qyB3uRsBOGvEXsa5FaIGRtGVb9vuX0XDyu4TZW6P8tlJJwas1bgWB\nqbJottBjLTVI9iETXxtLi3hD0+xHOkFM9VTinMKAN6KsLZYraTDrLp4HZKye\n10K3++Dcv/dncqcFZcgZ7GFyCHCmzqsUaFWdk9eisfqsccDZ40wsbvmC8ptX\nZQcJRIuch5/STgxn2TkJbd7oZiWgbGGAMZtQ5lqYaUvVSdqqLJCH57GWb80D\nORXh+jaT1tBxRPMOQR1kwR0yhGt5rtOm4ouPU6SRCmKpVIq8UUUOrvl2UOre\nh7a0Y6z+sQ64wl4G57d+hdJM6Fa0WwzMyNSIKLxSK952shQmGzhJcWWBTJPG\nFqem+H8aahxELiSm2ZQIBvSGBQd5AEXUvBNmFOcu36EbD89alDK8fr2RNK3v\n4Nnr3gds3DCSaRDZVrfQIsK6ZStyQU1eOiaUAJOId97i9opckBnsK+rsCWNO\nzk/hdcM58fEYVGKn09ca+puslB+6JJog6NfrZC10HCwKz79PwFDFnBSV8fZ8\n2TUKszRlU/EZ8/9KJjFeN7ZsGB3jhnaQ22iYi/zo+x1zA2920kQC2iO/pK6O\n9663Qr3YgwnZd/ywJk13cMZ5+9wYyOo2uEzSxiTRwQb6Z4ufW3mRb5uZ2lj5\nUcjG\r\n=3sJw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"3e8d0db51c69bad50dbd05b61b4d6bfe17b25aec","scripts":{"lint":"eslint --fix src test examples","test":"npm run lint && karma start","build":"npm run clean && npm run compile","clean":"rimraf lib coverage dist lib es","start":"npm run build && env BABEL_ENV=examples node examples/server/index.js","commit":"git-cz","compile":"babel src --out-dir lib","pretest":"npm run build","build:es":"BABEL_ENV=es babel --copy-files ./src -d es","examples":"webpack-dev-server --config examples/webpack.config.js --content-base examples/apps --inline","build:umd":"NODE_ENV=development webpack src/index.js dist/react-gpt.js","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","bundlesize":"npm run build:umd:min && bundlesize","prepublish":"npm run build && npm run build:es && npm run build:umd && npm run build:umd:min","build:umd:min":"NODE_ENV=production webpack -p src/index.js dist/react-gpt.min.js","update-apilist":"node ./scripts/updateAPIList.js"},"_npmUser":{"name":"tmtech","email":"sean@ticketmaster.com"},"bundlesize":[{"path":"./dist/react-gpt.min.js","maxSize":"8.5 kB"}],"repository":{"url":"git+https://github.com/Ticketmaster/react-gpt.git","type":"git"},"_npmVersion":"5.6.0","description":"A react display ad component using Google Publisher Tag","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"8.11.3","dependencies":{"exenv":"^1.2.2","invariant":"^2.2.2","deep-equal":"^1.0.1","eventemitter3":"^2.0.2","throttle-debounce":"^1.0.1","hoist-non-react-statics":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^3.4.1","karma":"^1.3.0","mocha":"^3.1.2","react":"^16.0.0","sinon":"^1.17.2","eslint":"4.7.0","radium":"^0.18.1","rimraf":"^2.5.2","core-js":"^2.2.2","express":"^4.13.4","history":"^4.3.0","phantom":"^2.0.4","webpack":"^1.4.13","prettier":"^1.9.2","babel-cli":"^6.5.1","karma-cli":"^1.0.1","react-dom":"^16.0.0","babel-core":"^6.5.1","bundlesize":"^0.14.4","codecov.io":"^0.1.6","commitizen":"^2.8.1","prop-types":"^15.5.10","sinon-chai":"^2.8.0","karma-mocha":"^1.2.0","querystring":"^0.2.0","babel-eslint":"^8.0.0","babel-loader":"^6.2.3","serve-static":"^1.10.2","karma-webpack":"^1.7.0","babel-register":"^6.7.2","isparta-loader":"^2.0.0","karma-coverage":"^1.1.1","karma-chai-sinon":"^0.1.5","eslint-config-nfl":"12.0.0","babel-preset-react":"^6.5.0","karma-tap-reporter":"0.0.6","webpack-dev-server":"^1.14.1","eslint-plugin-mocha":"4.11.0","eslint-plugin-react":"7.3.0","react-test-renderer":"^16.0.0","babel-preset-stage-0":"^6.5.0","eslint-plugin-import":"2.7.0","karma-mocha-reporter":"^2.0.0","karma-chrome-launcher":"^2.0.0","eslint-config-prettier":"^2.5.0","eslint-plugin-prettier":"^2.2.0","karma-sourcemap-loader":"^0.3.6","webpack-dev-middleware":"^1.5.1","react-addons-test-utils":"^15.0.1","cz-conventional-changelog":"^1.1.6","babel-plugin-webpack-alias":"^2.1.1","conventional-changelog-cli":"^1.2.0","babel-preset-es2015-without-strict":"^0.0.4","babel-plugin-transform-decorators-legacy":"^1.3.4"},"peerDependencies":{"react":"^15.0.1 || ^16.0.0","react-dom":"^15.0.1 || ^16.0.0","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-gpt_2.1.0_1535577114376_0.5637656368354877","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@ticketmaster/react-gpt","version":"2.2.0","keywords":["react-gpt","nfl","react","ad","gpt","google publisher tags"],"license":"MIT","_id":"@ticketmaster/react-gpt@2.2.0","maintainers":[{"name":"adammeghji","email":"adam@meghji.org"},{"name":"b2bauroraextensionsdevelopers","email":"b2bauroraextensionsdevelopers@livenation.com"},{"name":"ccpdiscovery","email":"ccpdiscovery@ticketmaster.com"},{"name":"chestersound","email":"chester.militante@ticketmaster.com"},{"name":"corpwebsites","email":"corpwebsites@livenation.com"},{"name":"dansel","email":"dan.selden@ticketmaster.com"},{"name":"dtereshenko","email":"di.tereshenko@gmail.com"},{"name":"edpteam","email":"edpteam@livenation.com"},{"name":"eibfrontend","email":"eibfrontend@livenation.com"},{"name":"evan.altman","email":"evan.altman@ticketmaster.com"},{"name":"george.yue","email":"theothergeorge@gmail.com"},{"name":"iccpfrontend","email":"iccpfrontend@livenation.com"},{"name":"jsnwng","email":"jason.wong@ticketmaster.com"},{"name":"livn.spons.frontend","email":"livn.spons.frontend@livenation.com"},{"name":"lndigital","email":"lndigital-engineering@livenation.com"},{"name":"lndtfrontend","email":"lndtfrontend@livenation.com"},{"name":"mikeanama","email":"mike.anama@ticketmaster.com"},{"name":"mindosilalahi","email":"mindosilalahi@livenation.com"},{"name":"namme","email":"namme@livenation.com"},{"name":"presencefrontend","email":"PresenceFrontEnd@livenation.com"},{"name":"quikgw","email":"quikgw@gmail.com"},{"name":"rclancey","email":"ryan.clancey@ticketmaster.com"},{"name":"resaleengineering","email":"resaleengineering@livenation.com"},{"name":"rrevankar","email":"roshan.revankar@ticketmaster.com"},{"name":"safetix_ui_tool","email":"safetix-config-tool@livenation.com"},{"name":"secureaccountsnpm","email":"secureaccountsnpm@livenation.com"},{"name":"taddei","email":"taddei.uk@gmail.com"},{"name":"tm_platinum","email":"platinumdevteam@ticketmaster.com"},{"name":"tm1-marketing","email":"tm1-mktg-engineers@livenation.com"},{"name":"tm1salesfrontend","email":"tm1-sales-frontend@ticketmaster.com"},{"name":"tmlabs.projects","email":"tmlabsnpm@livenation.com"},{"name":"tmsean","email":"sean.scanlon@ticketmaster.com"},{"name":"tmtech","email":"sean@ticketmaster.com"}],"contributors":[{"name":"NFL Engineering"}],"homepage":"https://github.com/Ticketmaster/react-gpt#readme","bugs":{"url":"https://github.com/nfl/react-gpt/issues"},"dist":{"shasum":"9f08c25708030651cb2764f4c1cf883c27624a5f","tarball":"https://registry.npmjs.org/@ticketmaster/react-gpt/-/react-gpt-2.2.0.tgz","fileCount":28,"integrity":"sha512-gTpqttr7RswRZByhci1lzy77z1LaE/juibJtopavZEgTmT/M60L1oFtNMZV3Np3/5K/xj1guId7RAzU4dU60dA==","signatures":[{"sig":"MEUCIQD1ThB024M63hfVKPH8E8S16Dbk1fdvMInwjFrbS46bQwIgIYMM5CJgBqji+fWaDPh9M7dlA3xRhDBzESjyFDnbQo0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeO6VMCRA9TVsSAnZWagAA8sgP/0vbA7bRUCKTNz/LpGzC\nPq9f/YLKgmqyLPpKfEaUgHyAyMsoF++OLfra9x1y6Scxr0MTA1wZwx3ywIkK\n18XTOGEQjlSNrW+R25F7JhPyBD+2zZubUCbD918KUtHKbA/yrpfYmQCjpnoi\nJ8L8e52gO6NkxiL5LDF+47KVzRr2/PSphS6aAPP2sFUyq7mY6e4No+fTobSh\nfkvV9Ov2hZcnn56xYV1O2/XixYuRVvB1O2853OANjbYbGAG4bvjMZuX/cS2D\nkAwSvBgIThvrwWTOc6y7pPUD+DkkUm7c/mG6EZx1L75zYwboFbC4/bMoakG2\no4H6MXolLVs9W5ZZhKWHByYtvIO9vhqSHBO5chWBivERl04aK/YkVmXOeu5M\np9zOmeDkkYoWXnc+lovJFUOms2sxZ4IHjjZush7KknS79GEhePdsQnnyDPb0\n44E0lHU4TI46QUSIephkr8rtuW7VblITys0jCm0upnRmu0KtpDPQO0kYhaAr\nYI8LZDfBTQFvsLQjlvYloBEz1vXaVz2p6WGGHXdOPF+nZBFMI6Egarrg8Z3z\nfUkVp75kEVa6M1UuMDgRhcLLr2fEYwv2bED+vzTPCyyUtlXENuakAa4q4MHs\nDjENjBjPQnpjGvk+XJlIyqS93l5cxPA2OP/tebD9TBVwVdjS+K7/Hc5kftIy\nrZyc\r\n=R+Qq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"72bc8507440f1ba9173483cb60dbe99c5859b79a","scripts":{"lint":"eslint --fix src test examples","test":"npm run lint && karma start","build":"npm run clean && npm run compile","clean":"rimraf lib coverage dist lib es","start":"npm run build && env BABEL_ENV=examples node examples/server/index.js","commit":"git-cz","compile":"babel src --out-dir lib","prepare":"npm run build","pretest":"npm run build","build:es":"BABEL_ENV=es babel --copy-files ./src -d es","examples":"webpack-dev-server --config examples/webpack.config.js --content-base examples/apps --inline","build:umd":"NODE_ENV=development webpack src/index.js dist/react-gpt.js","changelog":"conventional-changelog -p angular -i CHANGELOG.md -s","bundlesize":"npm run build:umd:min && bundlesize","prepublish":"npm run build && npm run build:es && npm run build:umd && npm run build:umd:min","build:umd:min":"NODE_ENV=production webpack -p src/index.js dist/react-gpt.min.js","update-apilist":"node ./scripts/updateAPIList.js"},"_npmUser":{"name":"dtereshenko","email":"di.tereshenko@gmail.com"},"bundlesize":[{"path":"./dist/react-gpt.min.js","maxSize":"8.53 kB"}],"repository":{"url":"git+https://github.com/Ticketmaster/react-gpt.git","type":"git"},"_npmVersion":"6.4.1","description":"A react display ad component using Google Publisher Tag","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"10.15.3","dependencies":{"exenv":"^1.2.2","invariant":"^2.2.2","deep-equal":"^1.0.1","eventemitter3":"^2.0.2","throttle-debounce":"^1.0.1","hoist-non-react-statics":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^3.4.1","karma":"^1.3.0","mocha":"^3.1.2","react":"^16.0.0","sinon":"^1.17.2","eslint":"4.7.0","radium":"^0.21.2","rimraf":"^2.5.2","core-js":"^2.2.2","express":"^4.13.4","history":"^4.3.0","phantom":"^2.0.4","webpack":"^1.4.13","prettier":"^1.9.2","babel-cli":"^6.5.1","karma-cli":"^1.0.1","react-dom":"^16.0.0","babel-core":"^6.5.1","bundlesize":"^0.14.4","codecov.io":"^0.1.6","commitizen":"^2.8.1","prop-types":"^15.5.10","sinon-chai":"^2.8.0","karma-mocha":"^1.2.0","querystring":"^0.2.0","babel-eslint":"^8.0.0","babel-loader":"^6.2.3","serve-static":"^1.10.2","karma-webpack":"^1.7.0","babel-register":"^6.7.2","isparta-loader":"^2.0.0","karma-coverage":"^1.1.1","karma-chai-sinon":"^0.1.5","eslint-config-nfl":"12.0.0","babel-preset-react":"^6.5.0","karma-tap-reporter":"0.0.6","webpack-dev-server":"^1.14.1","eslint-plugin-mocha":"4.11.0","eslint-plugin-react":"7.3.0","react-test-renderer":"^16.0.0","babel-preset-stage-0":"^6.5.0","eslint-plugin-import":"2.7.0","karma-mocha-reporter":"^2.0.0","karma-chrome-launcher":"^2.0.0","eslint-config-prettier":"^2.5.0","eslint-plugin-prettier":"^2.2.0","karma-sourcemap-loader":"^0.3.6","webpack-dev-middleware":"^1.5.1","react-addons-test-utils":"^15.0.1","cz-conventional-changelog":"^1.1.6","babel-plugin-webpack-alias":"^2.1.1","conventional-changelog-cli":"^1.2.0","babel-preset-es2015-without-strict":"^0.0.4","babel-plugin-transform-decorators-legacy":"^1.3.4"},"peerDependencies":{"react":"^15.0.1 || ^16.0.0","react-dom":"^15.0.1 || ^16.0.0","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-gpt_2.2.0_1580967244078_0.5765791507004339","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-08-29T21:11:54.375Z","modified":"2026-07-08T18:14:03.258Z","2.1.0":"2018-08-29T21:11:54.553Z","2.2.0":"2020-02-06T05:34:04.294Z"},"bugs":{"url":"https://github.com/nfl/react-gpt/issues"},"license":"MIT","homepage":"https://github.com/Ticketmaster/react-gpt#readme","keywords":["react-gpt","nfl","react","ad","gpt","google publisher tags"],"repository":{"url":"git+https://github.com/Ticketmaster/react-gpt.git","type":"git"},"description":"A react display ad component using Google Publisher Tag","contributors":[{"name":"NFL Engineering"}],"maintainers":[],"readme":"<img align=\"right\" height=\"200\" src=\"http://static.nfl.com/static/content/public/static/img/logos/nfl-engineering-light.svg\" />\n\n# React GPT\n\n[![npm Version](https://img.shields.io/npm/v/react-gpt.svg?style=flat-square)](https://www.npmjs.org/package/react-gpt)\n[![Build Status](https://img.shields.io/travis/nfl/react-gpt/master.svg?style=flat-square)](https://travis-ci.org/nfl/react-gpt)\n[![Dependency Status](https://img.shields.io/david/nfl/react-gpt.svg?style=flat-square)](https://david-dm.org/nfl/react-gpt)\n[![codecov.io](https://img.shields.io/codecov/c/github/nfl/react-gpt/master.svg?style=flat-square)](https://codecov.io/github/nfl/react-gpt?branch=master)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md#pull-requests)\n\nA [React](https://github.com/facebook/react) component for [Google Publisher Tags](https://developers.google.com/doubleclick-gpt/?hl=en).\n\n## Requirements\n\n * React 0.14+\n\n## Browser Requirements\n\n * IE10+\n\n## Features\n\n * Supports all rendering modes (single request mode, async rendering node and *sync rendering mode)\n * Supports responsive ads.\n * Supports interstitial ads.\n * Supports lazy render.\n\n\\* Synchronous rendering requires that the GPT JavaScript be loaded synchronously.\n\n## Installation\n\n```\n$ yarn react-gpt\n```\n\nReact GPT depends on [Promise](https://promisesaplus.com/) to be available in browser. If your application support the browser which doesn't support Promise, please include the polyfill.\n\n## Getting Started\n\nImport React GPT and pass props to the component.\n\n```js\nimport {Bling as GPT} from \"react-gpt\";\n\nclass Application extends React.Component {\n    render() {\n        return (\n            <GPT\n                adUnitPath=\"/4595/nfl.test.open\"\n                slotSize={[728, 90]}\n            />\n        );\n    }\n}\n```\n\nYou at least need to pass `adUnitPath` and one of `slotSize` and `sizeMapping`.\n\n#### Enabling Single Request Mode\n\nTo enable [Single Request Mode](https://support.google.com/dfp_sb/answer/181071?hl=en), call `Bling.enableSingleRequest()` before rendering any ad.\nIt defaults to `Asynchronous Rendering Mode` if not set.\n\n```js\nimport {Bling as GPT} from \"react-gpt\";\n\nGPT.enableSingleRequest();\n\nclass Application extends React.Component {\n    render() {\n        return (\n            <div id=\"ad-1\">\n                <GPT\n                    adUnitPath=\"/4595/nfl.test.open\"\n                    slotSize={[728, 90]}\n                />\n            </div>\n            <div id=\"ad-2\">\n                <GPT\n                    adUnitPath=\"/4595/nfl.test.open\"\n                    slotSize={[300, 250]}\n                />\n            </div>\n        );\n    }\n}\n```\n\nThe above example will make one request to the server to render both ads which makes it easier to ensure category exclusion.\n\n#### Responsive ad\n\nIf you pass `sizeMapping` props instead of `slotSize`, React GPT listens for the viewport width change and refreshes an ad when the break point is hit.\n\n```js\nimport {Bling as GPT} from \"react-gpt\";\n\nclass Application extends React.Component {\n    render() {\n        return (\n            <GPT\n                adUnitPath=\"/4595/nfl.test.open\"\n                sizeMapping={[\n                    {viewport: [0, 0], slot: [320, 50]},\n                    {viewport: [750, 0], slot: [728, 90]},\n                    {viewport: [1050, 0], slot: [1024, 120]}\n                ]}\n            />\n        );\n    }\n}\n```\n\n## API and Documentation\n\n* [API](/docs/api/) Review the `React GPT` API\n* [Getting Started](/docs/GettingStarted.md) A more detailed Getting Started Guide\n* [Docs](/docs/) Guides and API.\n\n## To run examples:\n\n1. Clone this repo\n2. Run `yarn`\n3. Run `npm run examples` for client side rendering, `npm start` for server side rendering.\n4. Point your browser to http://localhost:8080\n\n## Contributing to this project\n\nPlease take a moment to review the [guidelines for contributing](CONTRIBUTING.md).\n\n* [Pull requests](CONTRIBUTING.md#pull-requests)\n* [Development Process](CONTRIBUTING.md#development)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}