JSFiddle - React, Tailwind, and code Playground

HTML

<html>
<body></body>
</html>

JavaScript

function listFiles(files) {
    console.log('listing ' + files.length + ' files');
    var body = $('body');
    $.each(files, function(idx, file) {
        console.log('adding file ' + file.name + ' to body');
        body.append('<div>' + file.name + '</div>');
    });
}

function getFiles(fs) {
    console.log('Getting files');
    var files = [];
    var reader = fs.root.createReader();
    var readEntries = function() {
        reader.readEntries(function(entries) {
            console.log('found ' + entries.length + ' files.');
            if (entries.length < 1) {
                listFiles(files);
            }
            else {
                for (var i = 0; i < entries.length; i++) {
                    //entries[i].file(function(f) {
                        console.log('adding file ' + entries[i].name + ' to array');
                        files.push(entries[i]);
                    //});
                }
                readEntries();
            }
        });
    };
    readEntries();
}

function putFile(fs) {
    fs.root.getFile('log.txt', {
        create: true
    }, function(fileEntry) {

        // Create a FileWriter object for our FileEntry (log.txt).
        fileEntry.createWriter(function(fileWriter) {

            fileWriter.onwriteend = function(e) {
                console.log('Write completed.');
                getFiles(fs);
            };

            fileWriter.onerror = function(e) {
                console.log('Write failed: ' + e.toString());
            };

            var bb = new WebKitBlobBuilder();
            bb.append('Lorem Ipsum');
            fileWriter.write(bb.getBlob('text/plain'));
        });
    });
}

$(function() {
    var self = this;
    self.fileSystem = null;

    window.webkitRequestFileSystem(window.TEMPORARY, 1024 * 1024, function(fs) {
        putFile(fs);

    });
});