Skip to content

Commit e133dbd

Browse files
committed
added examples
1 parent a29a823 commit e133dbd

File tree

11 files changed

+379
-0
lines changed

11 files changed

+379
-0
lines changed

examples/coffee-script/README.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# example.js
2+
3+
``` javascript
4+
console.log(require("./cup1.coffee"));
5+
```
6+
7+
# cup1.coffee
8+
9+
``` coffee-script
10+
module.exports =
11+
cool: "stuff"
12+
answer: 42
13+
external: require "./cup2.coffee"
14+
again: require "./cup2.coffee"
15+
```
16+
17+
# cup2.coffee
18+
19+
``` coffee-script
20+
console.log "yeah coffee-script"
21+
22+
module.exports = 42
23+
```
24+
25+
# js/output.js
26+
27+
``` javascript
28+
/******/(function(modules) {
29+
/******/ var installedModules = {};
30+
/******/ function require(moduleId) {
31+
/******/ if(typeof moduleId !== "number") throw new Error("Cannot find module '"+moduleId+"'");
32+
/******/ if(installedModules[moduleId])
33+
/******/ return installedModules[moduleId].exports;
34+
/******/ var module = installedModules[moduleId] = {
35+
/******/ exports: {}
36+
/******/ };
37+
/******/ modules[moduleId](module, module.exports, require);
38+
/******/ return module.exports;
39+
/******/ }
40+
/******/ require.ensure = function(chunkId, callback) {
41+
/******/ callback(require);
42+
/******/ };
43+
/******/ return require(0);
44+
/******/})
45+
/******/({
46+
/******/0: function(module, exports, require) {
47+
48+
require(/* __webpack_console */1).log(require(/* ./cup1.coffee */2));
49+
50+
/******/},
51+
/******/
52+
/******/1: function(module, exports, require) {
53+
54+
var console = window.console;
55+
exports.log = (console && console.log) || function() {};
56+
exports.info = (console && console.info) || function() {};
57+
exports.error = (console && console.error) || function() {};
58+
exports.warn = (console && console.warn) || function() {};
59+
exports.dir = (console && console.dir) || function() {};
60+
exports.time = (console && console.time) || function(label) {
61+
times[label] = Date.now();
62+
};
63+
exports.timeEnd = (console && console.timeEnd) || function() {
64+
var duration = Date.now() - times[label];
65+
exports.log('%s: %dms', label, duration);
66+
};
67+
exports.trace = (console && console.trace) || function() {};
68+
exports.assert = (console && console.assert) || function() {};
69+
70+
/******/},
71+
/******/
72+
/******/2: function(module, exports, require) {
73+
74+
(function() {
75+
76+
module.exports = {
77+
cool: "stuff",
78+
answer: 42,
79+
external: require(/* ./cup2.coffee */3),
80+
again: require(/* ./cup2.coffee */3)
81+
};
82+
83+
}).call(this);
84+
85+
86+
/******/},
87+
/******/
88+
/******/3: function(module, exports, require) {
89+
90+
(function() {
91+
92+
require(/* __webpack_console */1).log("yeah coffee-script");
93+
94+
module.exports = 42;
95+
96+
}).call(this);
97+
98+
99+
/******/},
100+
/******/
101+
/******/})
102+
```
103+
104+
# Info
105+
106+
## Uncompressed
107+
108+
```
109+
Chunks: 1
110+
Modules: 4
111+
Modules including duplicates: 4
112+
Modules pre chunk: 4
113+
Modules first chunk: 4
114+
output.js: 2002 characters
115+
output.js
116+
0 [...]\examples\coffee-script\example.js
117+
main
118+
1 [...]\buildin\__webpack_console.js
119+
require (1x) from [...]\examples\coffee-script\example.js
120+
require (1x) from [...]\examples\coffee-script\cup2.coffee
121+
2 [...]\node_modules\coffee-loader.js![...]\examples\coffee-script\cup1.coffee
122+
require (1x) from [...]\examples\coffee-script\example.js
123+
3 [...]\node_modules\coffee-loader.js![...]\examples\coffee-script\cup2.coffee
124+
require (2x) from [...]\examples\coffee-script\cup1.coffee
125+
```
126+
127+
## Minimized (uglify-js, no zip)
128+
129+
```
130+
Chunks: 1
131+
Modules: 4
132+
Modules including duplicates: 4
133+
Modules pre chunk: 4
134+
Modules first chunk: 4
135+
output.js: 868 characters
136+
output.js
137+
0 [...]\examples\coffee-script\example.js
138+
main
139+
1 [...]\buildin\__webpack_console.js
140+
require (1x) from [...]\examples\coffee-script\example.js
141+
require (1x) from [...]\examples\coffee-script\cup2.coffee
142+
2 [...]\node_modules\coffee-loader.js![...]\examples\coffee-script\cup1.coffee
143+
require (1x) from [...]\examples\coffee-script\example.js
144+
3 [...]\node_modules\coffee-loader.js![...]\examples\coffee-script\cup2.coffee
145+
require (2x) from [...]\examples\coffee-script\cup1.coffee
146+
```

examples/coffee-script/build.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
MIT License http://www.opensource.org/licenses/mit-license.php
3+
Author Tobias Koppers @sokra
4+
*/
5+
var cp = require('child_process');
6+
7+
var argv = process.argv;
8+
argv.shift();
9+
argv.shift();
10+
var extraArgs = argv.join(" ");
11+
12+
cp.exec("node ../../bin/webpack.js "+extraArgs+" example.js js/output.js", function (error, stdout, stderr) {
13+
console.log('stdout:\n' + stdout);
14+
console.log('stderr:\n ' + stderr);
15+
if (error !== null) {
16+
console.log('error: ' + error);
17+
}
18+
});

examples/coffee-script/cup1.coffee

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports =
2+
cool: "stuff"
3+
answer: 42
4+
external: require "./cup2.coffee"
5+
again: require "./cup2.coffee"

examples/coffee-script/cup2.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
console.log "yeah coffee-script"
2+
3+
module.exports = 42

examples/coffee-script/example.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
console.log(require("./cup1.coffee"));

examples/loader/README.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# example.js
2+
3+
``` javascript
4+
// Polyfill require for node.js usage of loaders
5+
require = require("../../require-polyfill")(require.valueOf());
6+
7+
// use our loader
8+
console.dir(require("./loader!./file"));
9+
10+
// use buildin json loader
11+
console.dir(require("./test.json")); // default by extension
12+
console.dir(require("json!./test.json")); // manual
13+
```
14+
15+
# file.js
16+
17+
``` javascript
18+
exports.foo = "bar";
19+
```
20+
21+
# loader.js
22+
23+
``` javascript
24+
module.exports = function(contents, options, callback) {
25+
26+
if(contents.length !== 1)
27+
throw new Error("loader takes exactly one file as parameter");
28+
29+
if(callback) {
30+
// compile for web
31+
callback(null /* no error */,
32+
"exports.answer = 42;\n" +
33+
contents[0]);
34+
} else {
35+
// execute for node.js
36+
var Module = require("module");
37+
var m = new Module(options.request);
38+
m.exports.answer = 42;
39+
m._compile(contents[0], options.filename);
40+
return m.exports;
41+
}
42+
43+
}
44+
```
45+
46+
# test.json
47+
48+
``` javascript
49+
{
50+
"foobar": 1234
51+
}
52+
```
53+
54+
# js/output.js
55+
56+
``` javascript
57+
/******/(function(modules) {
58+
/******/ var installedModules = {};
59+
/******/ function require(moduleId) {
60+
/******/ if(typeof moduleId !== "number") throw new Error("Cannot find module '"+moduleId+"'");
61+
/******/ if(installedModules[moduleId])
62+
/******/ return installedModules[moduleId].exports;
63+
/******/ var module = installedModules[moduleId] = {
64+
/******/ exports: {}
65+
/******/ };
66+
/******/ modules[moduleId](module, module.exports, require);
67+
/******/ return module.exports;
68+
/******/ }
69+
/******/ require.ensure = function(chunkId, callback) {
70+
/******/ callback(require);
71+
/******/ };
72+
/******/ return require(0);
73+
/******/})
74+
/******/({
75+
/******/0: function(module, exports, require) {
76+
77+
// Polyfill require for node.js usage of loaders
78+
require = require(/* ../../require-polyfill */3)(require.valueOf());
79+
80+
// use our loader
81+
require(/* __webpack_console */1).dir(require(/* ./loader!./file */2));
82+
83+
// use buildin json loader
84+
require(/* __webpack_console */1).dir(require(/* ./test.json */4)); // default by extension
85+
require(/* __webpack_console */1).dir(require(/* json!./test.json */4)); // manual
86+
87+
/******/},
88+
/******/
89+
/******/1: function(module, exports, require) {
90+
91+
var console = window.console;
92+
exports.log = (console && console.log) || function() {};
93+
exports.info = (console && console.info) || function() {};
94+
exports.error = (console && console.error) || function() {};
95+
exports.warn = (console && console.warn) || function() {};
96+
exports.dir = (console && console.dir) || function() {};
97+
exports.time = (console && console.time) || function(label) {
98+
times[label] = Date.now();
99+
};
100+
exports.timeEnd = (console && console.timeEnd) || function() {
101+
var duration = Date.now() - times[label];
102+
exports.log('%s: %dms', label, duration);
103+
};
104+
exports.trace = (console && console.trace) || function() {};
105+
exports.assert = (console && console.assert) || function() {};
106+
107+
/******/},
108+
/******/
109+
/******/2: function(module, exports, require) {
110+
111+
exports.answer = 42;
112+
exports.foo = "bar";
113+
114+
/******/},
115+
/******/
116+
/******/3: function(module, exports, require) {
117+
118+
// No polyfill needed when compiled with webpack
119+
module.exports = function(r){return r}
120+
121+
/******/},
122+
/******/
123+
/******/4: function(module, exports, require) {
124+
125+
module.exports = {"foobar":1234}
126+
127+
/******/},
128+
/******/
129+
/******/})
130+
```
131+
132+
# Info
133+
134+
## Uncompressed
135+
136+
```
137+
Chunks: 1
138+
Modules: 5
139+
Modules including duplicates: 5
140+
Modules pre chunk: 5
141+
Modules first chunk: 5
142+
output.js: 2279 characters
143+
output.js
144+
0 [...]\examples\loader\example.js
145+
main
146+
1 [...]\buildin\__webpack_console.js
147+
require (3x) from [...]\examples\loader\example.js
148+
2 [...]\examples\loader\loader.js![...]\examples\loader\file.js
149+
require (1x) from [...]\examples\loader\example.js
150+
3 [...]\require-polyfill.web.js
151+
require (1x) from [...]\examples\loader\example.js
152+
4 [...]\node_modules\json-loader.js![...]\examples\loader\test.json
153+
require (1x) from [...]\examples\loader\example.js
154+
require (1x) from [...]\examples\loader\example.js
155+
```

examples/loader/build.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
MIT License http://www.opensource.org/licenses/mit-license.php
3+
Author Tobias Koppers @sokra
4+
*/
5+
var cp = require('child_process');
6+
7+
var argv = process.argv;
8+
argv.shift();
9+
argv.shift();
10+
var extraArgs = argv.join(" ");
11+
12+
cp.exec("node ../../bin/webpack.js "+extraArgs+" example.js js/output.js", function (error, stdout, stderr) {
13+
console.log('stdout:\n' + stdout);
14+
console.log('stderr:\n ' + stderr);
15+
if (error !== null) {
16+
console.log('error: ' + error);
17+
}
18+
});

examples/loader/example.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Polyfill require for node.js usage of loaders
2+
require = require("../../require-polyfill")(require.valueOf());
3+
4+
// use our loader
5+
console.dir(require("./loader!./file"));
6+
7+
// use buildin json loader
8+
console.dir(require("./test.json")); // default by extension
9+
console.dir(require("json!./test.json")); // manual

examples/loader/file.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
exports.foo = "bar";

examples/loader/loader.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
module.exports = function(contents, options, callback) {
2+
3+
if(contents.length !== 1)
4+
throw new Error("loader takes exactly one file as parameter");
5+
6+
if(callback) {
7+
// compile for web
8+
callback(null /* no error */,
9+
"exports.answer = 42;\n" +
10+
contents[0]);
11+
} else {
12+
// execute for node.js
13+
var Module = require("module");
14+
var m = new Module(options.request);
15+
m.exports.answer = 42;
16+
m._compile(contents[0], options.filename);
17+
return m.exports;
18+
}
19+
20+
}

0 commit comments

Comments
 (0)