Skip to content

Commit 4de642a

Browse files
authored
Merge pull request #33 from caub/master
Introduce Webpack for browser bundling
2 parents 7063986 + fa3dc67 commit 4de642a

6 files changed

Lines changed: 74 additions & 6 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
node_modules/mocha
1+
node_modules/*

.travis.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
language: node_js
22
node_js:
3-
- 0.6
4-
- 0.8
53
- 0.12
64
- 4
75
- 5
86
- 6
9-
7+
- 7

demo/index.html

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<input type="file" id="input">
2+
<output id="output"></output>
3+
<style>
4+
output::before {
5+
content: "output:";
6+
}
7+
output {
8+
display: block;
9+
padding: 1em;
10+
margin: 1em;
11+
outline: 1px solid gray;
12+
white-space: pre-wrap;
13+
}
14+
</style>
15+
<script src="../dist/md5.min.js"></script>
16+
<script>
17+
18+
19+
function readAsArrayBuffer(file){
20+
return new Promise(function(resolve) {
21+
var reader = new FileReader();
22+
reader.readAsArrayBuffer(file)
23+
reader.onload = function(e) {
24+
resolve(e.target.result)
25+
};
26+
});
27+
}
28+
29+
input.onchange = function(e) {
30+
var file = input.files[0];
31+
readAsArrayBuffer(file)
32+
.then(buffer => {
33+
console.log(buffer);
34+
var now = performance.now();
35+
var hash = MD5(buffer);
36+
var after = performance.now() - now;
37+
output.innerHTML = `
38+
file: ${file.name}
39+
size: ${file.size} bytes
40+
type: ${file.type}
41+
md5: ${hash}
42+
duration: ${after.toFixed(2)} ms
43+
`;
44+
})
45+
}
46+
47+
48+
</script>

dist/md5.min.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,17 @@
2121
},
2222
"main": "md5.js",
2323
"scripts": {
24-
"test": "mocha"
24+
"test": "mocha",
25+
"webpack": "webpack -p"
2526
},
2627
"dependencies": {
2728
"charenc": "~0.0.1",
2829
"crypt": "~0.0.1",
2930
"is-buffer": "~1.1.1"
3031
},
3132
"devDependencies": {
32-
"mocha": "~2.3.4"
33+
"mocha": "~2.3.4",
34+
"webpack": "~2.4.1"
3335
},
3436
"optionalDependencies": {},
3537
"license": "BSD-3-Clause"

webpack.config.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const {resolve} = require('path');
2+
3+
module.exports = {
4+
entry: [
5+
'./md5.js'
6+
],
7+
output: {
8+
path: resolve('./dist'),
9+
filename: 'md5.min.js',
10+
libraryTarget: "var",
11+
library: "MD5"
12+
}
13+
};

0 commit comments

Comments
 (0)