NextJS: Main and Nextscript

For those who will look for an answer to this question in the future...

Component NextScript from 'next/document' takes a list of files from context._documentProps and returns each of them as a element like this:

<script
        key={file}
        src={`${assetPrefix}/_next/${file}`}
        nonce={this.props.nonce}
        async
      />

It also takes dynamic imports from context._documentProps and returns them in a similar way:

<script
        async
        key={bundle.file}
        src={`${assetPrefix}/_next/${bundle.file}`}
        nonce={this.props.nonce}
      />

NextScript Class is here

and Main Class is here and I copied the same below. Main renders html/ errorHtml from this.context._documentProps

export class Main extends Component {
  static contextTypes = {
    _documentProps: PropTypes.any
  }

  render () {
    const { html, errorHtml } = this.context._documentProps
    return (
      <Fragment>
        <div id='__next' dangerouslySetInnerHTML={{ __html: html }} />
        <div id='__next-error' dangerouslySetInnerHTML={{ __html: errorHtml }} />
      </Fragment>
    )
  }
}

you can find actual documentation on Custom Document here