import React, { PropTypes } from 'react' class HomePage extends React.Component { static propTypes = { webpackManifest: PropTypes.object, styles: PropTypes.arrayOf(PropTypes.string), scripts: PropTypes.arrayOf(PropTypes.string), stats: PropTypes.object } static defaultProps = { webpackManifest: {}, styles: [], scripts: [], stats: {} } render() { const { webpackManifest, styles, scripts, stats } = this.props return ( <html> <head> <meta charSet="utf-8"/> <meta httpEquiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewport" content="width=700,maximum-scale=1"/> <meta name="timestamp" content={(new Date).toISOString()}/> <title>npmcdn</title> <script dangerouslySetInnerHTML={{ __html: "window.Promise || document.write('\\x3Cscript src=\"/es6-promise.min.js\">\\x3C/script>\\x3Cscript>ES6Promise.polyfill()\\x3C/script>')" }}/> <script dangerouslySetInnerHTML={{ __html: "window.fetch || document.write('\\x3Cscript src=\"/fetch.min.js\">\\x3C/script>')" }}/> <script dangerouslySetInnerHTML={{ __html: "window.webpackManifest = " + JSON.stringify(webpackManifest) }}/> <script dangerouslySetInnerHTML={{ __html: "window.npmcdnStats = " + JSON.stringify(stats) }}/> {styles.map(s => <link rel="stylesheet" key={s} href={s}/>)} </head> <body> <div id="app"/> {scripts.map(s => <script key={s} src={s}/>)} </body> </html> ) } } export default HomePage