File tree Expand file tree Collapse file tree 10 files changed +121
-2
lines changed Expand file tree Collapse file tree 10 files changed +121
-2
lines changed Original file line number Diff line number Diff line change
1
+ const path = require ( "path" ) ;
2
+
3
+ module . exports = {
4
+ watchPathIgnorePatterns : [
5
+ path . resolve ( __dirname , "build" )
6
+ ]
7
+ }
Original file line number Diff line number Diff line change
1
+ import b from "./b.js" ;
2
+
3
+ const message = import ( "./c.js" ) . then ( c => c . default + b ) ;
4
+
5
+ export default message ;
Original file line number Diff line number Diff line change
1
+ module . exports = 42 ;
Original file line number Diff line number Diff line change
1
+ export default "Hello world" ;
Original file line number Diff line number Diff line change
1
+ module . exports = {
2
+ watch : ( ) => { }
3
+ } ;
Original file line number Diff line number Diff line change @@ -22,5 +22,6 @@ suite.add(require("./source-map-benchmark"));
22
22
suite . add ( require ( "./typescript-benchmark" ) ) ;
23
23
suite . add ( require ( "./uglify-js-benchmark" ) ) ;
24
24
suite . add ( require ( "./uglify-es-benchmark" ) ) ;
25
+ suite . add ( require ( "./webpack-benchmark" ) ) ;
25
26
26
27
module . exports = suite ;
Original file line number Diff line number Diff line change @@ -79,5 +79,18 @@ fs.writeFileSync(
79
79
"third_party/vue.runtime.esm-nobuble-2.4.4.js" ,
80
80
require ( "raw-loader!../third_party/vue.runtime.esm-nobuble-2.4.4.js" )
81
81
) ;
82
+ fs . mkdirpSync ( "/src/fixtures/webpack" ) ;
83
+ fs . writeFileSync (
84
+ "/src/fixtures/webpack/a.js" ,
85
+ require ( "raw-loader!./fixtures/webpack/a.js" )
86
+ ) ;
87
+ fs . writeFileSync (
88
+ "/src/fixtures/webpack/b.js" ,
89
+ require ( "raw-loader!./fixtures/webpack/b.js" )
90
+ ) ;
91
+ fs . writeFileSync (
92
+ "/src/fixtures/webpack/c.js" ,
93
+ require ( "raw-loader!./fixtures/webpack/c.js" )
94
+ ) ;
82
95
83
96
module . exports = fs ;
Original file line number Diff line number Diff line change
1
+ // Copyright 2017 the V8 project authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ const webpack = require ( "webpack" ) ;
6
+
7
+ const payloads = [
8
+ {
9
+ entry : "/src/fixtures/webpack/a.js"
10
+ }
11
+ ] . map ( ( { entry } , i ) => ( {
12
+ entry,
13
+ output : {
14
+ path : "/dist/webpack/" ,
15
+ filename : `bundle.${ i } .js`
16
+ } ,
17
+ // Using bail option in order to receive noisy errors in the benchmark if something went wrong
18
+ bail : true ,
19
+ // We need to define that because Firefox has a Object.prototype.watch function
20
+ watch : false
21
+ } ) ) ;
22
+
23
+ module . exports = {
24
+ name : "webpack" ,
25
+ defer : true ,
26
+ fn ( deferred ) {
27
+ return Promise . all (
28
+ payloads . map (
29
+ config =>
30
+ new Promise ( ( resolve , reject ) => {
31
+ const compiler = webpack ( config ) ;
32
+ compiler . run ( ( err , stats ) => void ( err ? reject ( err ) : resolve ( ) ) ) ;
33
+ } )
34
+ )
35
+ ) . then ( ( ) => deferred . resolve ( ) ) ;
36
+ }
37
+ } ;
Original file line number Diff line number Diff line change
1
+ // Copyright 2017 the V8 project authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ const path = require ( "path" ) ;
6
+ const webpack = require ( "webpack" ) ;
7
+ const webpackConfig = require ( "../webpack.config.js" ) ;
8
+
9
+ const outputFile = path . resolve (
10
+ __dirname ,
11
+ ".." ,
12
+ "build" ,
13
+ "webpack-benchmark.test.js"
14
+ ) ;
15
+ let webpackBenchmark ;
16
+
17
+ beforeAll (
18
+ ( ) =>
19
+ new Promise ( ( resolve , reject ) => {
20
+ const baseConfig = webpackConfig [ 0 ] ;
21
+ const config = Object . assign ( { } , baseConfig , {
22
+ entry : require . resolve ( "./webpack-benchmark.js" ) ,
23
+ bail : true
24
+ } ) ;
25
+ config . output = Object . assign ( { } , baseConfig . output , {
26
+ libraryTarget : "commonjs2" ,
27
+ path : path . dirname ( outputFile ) ,
28
+ filename : path . basename ( outputFile )
29
+ } ) ;
30
+ const compiler = webpack ( config ) ;
31
+ compiler . run ( err => {
32
+ if ( err ) {
33
+ reject ( err ) ;
34
+ return ;
35
+ }
36
+ webpackBenchmark = require ( outputFile ) ;
37
+ resolve ( ) ;
38
+ } ) ;
39
+ } )
40
+ ) ;
41
+
42
+ it ( "webpack runs to completion" , ( ) =>
43
+ new Promise ( resolve => {
44
+ webpackBenchmark . fn ( { resolve } ) ;
45
+ } ) ) ;
Original file line number Diff line number Diff line change @@ -19,7 +19,10 @@ module.exports = [
19
19
resolve : {
20
20
alias : {
21
21
fs : require . resolve ( "./src/vfs" ) ,
22
- module : require . resolve ( "./src/mocks/dummy" )
22
+ "graceful-fs" : require . resolve ( "./src/vfs" ) ,
23
+ module : require . resolve ( "./src/mocks/dummy" ) ,
24
+ chokidar : require . resolve ( "./src/mocks/chokidar" ) ,
25
+ "uglify-js" : require . resolve ( "./src/mocks/dummy" )
23
26
}
24
27
} ,
25
28
plugins : [
@@ -46,7 +49,10 @@ module.exports = [
46
49
alias : {
47
50
define : require . resolve ( "./src/mocks/dummy" ) ,
48
51
fs : require . resolve ( "./src/vfs" ) ,
49
- module : require . resolve ( "./src/mocks/dummy" )
52
+ "graceful-fs" : require . resolve ( "./src/vfs" ) ,
53
+ module : require . resolve ( "./src/mocks/dummy" ) ,
54
+ chokidar : require . resolve ( "./src/mocks/chokidar" ) ,
55
+ "uglify-js" : require . resolve ( "./src/mocks/dummy" )
50
56
}
51
57
} ,
52
58
plugins : [
You can’t perform that action at this time.
0 commit comments