/* eslint-disable react/no-danger */ import path from 'path' import fs from 'fs' import uniq from 'lodash/uniq' import uniqBy from 'lodash/uniqBy' import flatMap from 'lodash/flatMap' import React from 'react' import { invariant, getRequiredChunkKey } from './sharedInternals' import ChunkExtractorManager from './ChunkExtractorManager' import { smartRequire, joinURLPath } from './util' const EXTENSION_SCRIPT_TYPES = { '.js': 'script', '.css': 'style', } function extensionToScriptType(extension) { return EXTENSION_SCRIPT_TYPES[extension] || null } function getAssets(chunks, getAsset) { return uniqBy(flatMap(chunks, chunk => getAsset(chunk)), 'url') } function handleExtraProps(asset, extraProps) { return typeof extraProps === 'function' ? extraProps(asset) : extraProps } function extraPropsToString(asset, extraProps) { return Object.entries(handleExtraProps(asset, extraProps)).reduce( (acc, [key, value]) => `${acc} ${key}="${value}"`, '', ) } function assetToScriptTag(asset, extraProps) { return `` } function assetToScriptElement(asset, extraProps) { return ( ` } getRequiredChunksScriptElement(extraProps) { return (