JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://unpkg.com/source-map@0.7.3/dist/source-map.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.5/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>

<form id="form">
  <input type="url" required placeholder="source map" name="sourcemap">
  <input type="submit">
</form>

JavaScript

sourceMap.SourceMapConsumer.initialize({
  'lib/mappings.wasm': 'https://unpkg.com/source-map@0.7.3/lib/mappings.wasm'
})
  
form.onsubmit = async evt => {
  evt.preventDefault()
  const cors = 'https://cors-anywhere.herokuapp.com/'
  const sourceMapURL = evt.target.sourcemap.value
  document.body.innerText = 'downloading sourcemap...'
  
	const rawSourceMap = await fetch(cors + sourceMapURL).then(r => r.json())

	document.body.innerText = 'generatin AST...'
  
  sourceMap.SourceMapConsumer.with(rawSourceMap, null, async consumer => {
    document.body.innerText = `generatin zip file from ${consumer.sources.length} files`
    
	  const zip = new JSZip()
    
    for (const source of consumer.sources) {
      let content = consumer.sourceContentFor(source)
      if (content === null) {
        const url = new URL(source, sourceMapURL)
        content = await fetch(url).then(res => res.blob())
      }
      console.log(content)
      zip.file(source, content)
    }

		zip.generateAsync({type:'blob'}).then(blob => saveAs(blob, 'out.zip'))
  })
  
}