neo-builder
Version:
the fastest tiny script packager written in javascript and supporting iife dynamic chaining w/o extra runtime
63 lines (51 loc) • 2.33 kB
HTML
<html>
<head>
<script src="../../build/builder.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.2.0/mocha.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.2.0/mocha.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.5.0/chai.js"></script>
<script src="https://cdn.jsdelivr.net/npm/whatwg-fetch@3.6.2/dist/fetch.umd.min.js"></script>
<script>
mocha.setup('qunit'); // bdd
let assert = chai.assert; // chai предоставляет большое количество функций. Объявим assert глобально
</script>
</head>
<body>
<div id="mocha"></div><!-- элемент с id="mocha" будет содержать результаты тестов -->
<script>
const ext = '.ts'
const files = [
'index',
"nested_directory/common"
]
const store = {}
let uploaded = 0;
const queries = files.map((file, i) => fetch('./tests/ts/source/' + file + ext).then(flow => flow.text()).then(code => {
store[file] = code;
if ((uploaded += 1) === files.length) {
const r = builder.pack(store[files[0]], '', {
entryPoint: 'app.ts',
getContent: (filename) => {
return store[filename]
}
})
test('#test_inBrowserEnv', function () {
assert(r);
});
mocha.run();
after(() => {
const testFails = Array.from(window.document.querySelectorAll('.test.fail'));
const testsSucc = [].slice.call(window.document.querySelectorAll('.test.pass.fast'));
console.log({
testsSucc: testsSucc.map(q => q.querySelector('h2').textContent),
testFails: testFails.map(q => [
q.querySelector('h2').textContent, q.querySelector('.error').textContent
])
})
})
}
}))
</script>
</body>
</html>