text: import React from 'react'
  import ReactDOM from 'react-dom'
  import App from '../lib/app'
  import Link from '../lib/link'
  import * as Css from '../lib/css'
  import Head from '../lib/head'
  
  const modules = new Map([
    ['react', React],
    ['react-dom', ReactDOM],
    ['next/app', App],
    ['next/link', Link],
    ['next/css', Css],
    ['next/head', Head]
  ])
  
  function require (moduleName) {
    const name = moduleName
    const m = modules.get(name)
  
    if (m) return m
  
    throw new Error(`Module "${moduleName}" is not exists in the bundle`)
  }
  
  export const requireModule = require
  
  /**
   * IMPORTANT: This module is compiled *without* `use strict`
   * so that when we `eval` a dependency below, we don't enforce
   * `use strict` implicitly.
   *
   * Otherwise, modules like `d3` get `eval`d and forced into
   * `use strict` where they don't work (at least in current versions)
   *
   * To see the compilation details, look at `gulpfile.js` and the
   * usage of `babel-plugin-transform-remove-strict-mode`.
   */
  
  export default function evalScript (script) {
    const module = { exports: {} }
    eval(script) // eslint-disable-line no-eval
    return module.exports
  }
  