zip.js for AMD/etc, simply

Simple example of using zip.js to retrieve a list of files within a zip archive.

HTML

<script src="http://gildas-lormeau.github.io/zip.js/demos/zip.js"></script>
<script src="http://gildas-lormeau.github.io/zip.js/demos/deflate.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<input type="file"/>
<div id="output">
</div>

JavaScript

zip.useWebWorkers = false;    


function getFilesList(archive, callback, close) {
	zip.createReader(new zip.BlobReader(archive), function(zipReader) {
        var files = [];
        zipReader.getEntries( function(entries) {
            entries.forEach( function(entry) {
                files.push(entry.compressedSize);
            });
            
            if (close!==false) {
                zipReader.close();
                callback(files);
            } else {
                callback(files, zipReader);
            }
        });
	},
	function(error){ alert(error) });
}


document.querySelector("input[type=file]").onchange = function(event) {
    var archive = event.srcElement.files[0];
    if (archive.type == "application/zip") {
	    getFilesList(archive, function(files) {
            $("#output").text(files.join("\n\n"));
        });
    } else {
        alert("Please select a zip file.");
    }
}