1
1
const path = require ( 'path' ) ;
2
- const _ = require ( 'lodash' ) ;
3
2
const combineContexts = require ( './src/utilities/combine-contexts' ) ;
4
3
5
- module . exports = {
4
+ module . exports = ( ) => ( {
6
5
maximumWorkers : process . env . TRAVIS && 1 ,
7
6
template : {
8
7
file : path . join ( __dirname , 'template.ejs' )
@@ -22,112 +21,72 @@ module.exports = {
22
21
'writers-guide' : '/contribute/writers-guide'
23
22
}
24
23
} ,
25
- concepts : {
26
- title : 'Concepts' ,
27
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
28
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
29
- content : ( ) => require . context ( './loaders/page-loader!./src/content/concepts' , false , / ^ \. \/ .* \. m d $ / )
30
- } ,
31
- configuration : {
32
- title : 'Configuration' ,
33
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
34
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
35
- content : ( ) => require . context ( './loaders/page-loader!./src/content/configuration' , false , / ^ \. \/ .* \. m d $ / )
36
- } ,
37
- api : {
38
- title : 'API' ,
39
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
40
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
41
- content : ( ) => require . context ( './loaders/page-loader!./src/content/api' , false , / ^ \. \/ .* \. m d $ / ) ,
42
- redirects : {
43
- 'passing-a-config' : 'configuration-types'
44
- }
45
- } ,
46
- guides : {
47
- title : 'Guides' ,
48
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
49
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
50
- content : ( ) => require . context ( './loaders/page-loader!./src/content/guides' , false , / ^ \. \/ .* \. m d $ / ) ,
51
- redirects : {
52
- 'code-splitting-import' : '/guides/code-splitting' ,
53
- 'code-splitting-require' : '/guides/code-splitting' ,
54
- 'code-splitting-async' : '/guides/code-splitting' ,
55
- 'code-splitting-css' : '/guides/code-splitting' ,
56
- 'code-splitting-libraries' : '/guides/code-splitting' ,
57
- 'why-webpack' : '/comparison' ,
58
- 'production-build' : '/guides/production'
59
- }
60
- } ,
61
- plugins : {
62
- title : 'Plugins' ,
63
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
64
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
65
- content : ( ) => {
66
- return combineContexts (
67
- require . context ( './loaders/page-loader!./src/content/plugins' , false , / ^ \. \/ .* \. m d $ / ) ,
68
- require . context ( './loaders/page-loader!./generated/plugins' , false , / ^ \. \/ .* \. m d $ / )
69
- ) ;
70
- }
71
- } ,
72
- loaders : {
73
- title : 'Loaders' ,
74
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
75
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
76
- content : ( ) => {
77
- return combineContexts (
78
- require . context ( './loaders/page-loader!./src/content/loaders' , false , / ^ \. \/ .* \. m d $ / ) ,
79
- require . context ( './loaders/page-loader!./generated/loaders' , false , / ^ \. \/ .* \. m d $ / )
80
- ) ;
81
- }
82
- } ,
83
- contribute : {
84
- title : 'Contribute' ,
85
- url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
86
- layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
87
- content : ( ) => require . context ( './loaders/page-loader!./src/content/contribute' , false , / ^ \. \/ .* \. m d $ / ) ,
88
- } ,
89
- vote : ( ) => require ( './src/components/Vote/Vote.jsx' ) . default ,
90
- organization : ( ) => require ( './src/components/Organization/Organization.jsx' ) . default ,
91
- 'starter-kits' : ( ) => require ( './src/components/StarterKits/StarterKits.jsx' ) . default ,
92
-
93
- /*************************
94
- Redirects for Old Content
95
- *************************/
96
- 'get-started' : {
97
- hidden : true ,
98
- redirects : {
99
- '' : '/guides/getting-started' ,
100
- 'install-webpack' : '/guides/installation' ,
101
- 'why-webpack' : '/guides/why-webpack' ,
102
- }
103
- } ,
104
- pluginsapi : {
105
- hidden : true ,
106
- redirects : {
107
- '' : '/api/plugins' ,
108
- 'compiler' : '/api/compiler-hooks' ,
109
- 'template' : '/api/template'
110
- }
111
- } ,
112
- 'api/plugins' : {
113
- redirects : {
114
- 'compiler' : '/api/compiler-hooks' ,
115
- 'compilation' : '/api/compilation' ,
116
- 'module-factories' : '/api/module-methods' ,
117
- 'parser' : '/api/parser' ,
118
- 'tapable' : '/api/tapable' ,
119
- 'template' : '/api/template' ,
120
- 'resolver' : '/api/resolver'
121
- }
122
- } ,
123
- development : {
124
- redirects : {
125
- '' : '/contribute' ,
126
- 'plugin-patterns' : '/contribute/plugin-patterns' ,
127
- 'release-process' : '/contribute/release-process' ,
128
- 'how-to-write-a-loader' : '/contribute/writing-a-loader' ,
129
- 'how-to-write-a-plugin' : '/contribute/writing-a-plugin'
130
- }
131
- }
24
+ concepts : {
25
+ title : 'Concepts' ,
26
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
27
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
28
+ content : ( ) => require . context ( './loaders/page-loader!./src/content/concepts' , false , / ^ \. \/ .* \. m d $ / )
29
+ } ,
30
+ configuration : {
31
+ title : 'Configuration' ,
32
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
33
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
34
+ content : ( ) => require . context ( './loaders/page-loader!./src/content/configuration' , false , / ^ \. \/ .* \. m d $ / )
35
+ } ,
36
+ api : {
37
+ title : 'API' ,
38
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
39
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
40
+ content : ( ) => require . context ( './loaders/page-loader!./src/content/api' , false , / ^ \. \/ .* \. m d $ / ) ,
41
+ redirects : {
42
+ 'passing-a-config' : 'configuration-types'
43
+ }
44
+ } ,
45
+ guides : {
46
+ title : 'Guides' ,
47
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
48
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
49
+ content : ( ) => require . context ( './loaders/page-loader!./src/content/guides' , false , / ^ \. \/ .* \. m d $ / ) ,
50
+ redirects : {
51
+ 'code-splitting-import' : '/guides/code-splitting' ,
52
+ 'code-splitting-require' : '/guides/code-splitting' ,
53
+ 'code-splitting-async' : '/guides/code-splitting' ,
54
+ 'code-splitting-css' : '/guides/code-splitting' ,
55
+ 'code-splitting-libraries' : '/guides/code-splitting' ,
56
+ 'why-webpack' : '/comparison' ,
57
+ 'production-build' : '/guides/production'
58
+ }
59
+ } ,
60
+ plugins : {
61
+ title : 'Plugins' ,
62
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
63
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
64
+ content : ( ) => {
65
+ return combineContexts (
66
+ require . context ( './loaders/page-loader!./src/content/plugins' , false , / ^ \. \/ .* \. m d $ / ) ,
67
+ require . context ( './loaders/page-loader!./generated/plugins' , false , / ^ \. \/ .* \. m d $ / )
68
+ ) ;
69
+ }
70
+ } ,
71
+ loaders : {
72
+ title : 'Loaders' ,
73
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
74
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
75
+ content : ( ) => {
76
+ return combineContexts (
77
+ require . context ( './loaders/page-loader!./src/content/loaders' , false , / ^ \. \/ .* \. m d $ / ) ,
78
+ require . context ( './loaders/page-loader!./generated/loaders' , false , / ^ \. \/ .* \. m d $ / )
79
+ ) ;
80
+ }
81
+ } ,
82
+ contribute : {
83
+ title : 'Contribute' ,
84
+ url : ( { sectionName, fileName } ) => `/${ sectionName } /${ fileName } /` ,
85
+ layout : ( ) => require ( './src/components/Page/Page.jsx' ) . default ,
86
+ content : ( ) => require . context ( './loaders/page-loader!./src/content/contribute' , false , / ^ \. \/ .* \. m d $ / ) ,
87
+ } ,
88
+ vote : ( ) => require ( './src/components/Vote/Vote.jsx' ) . default ,
89
+ organization : ( ) => require ( './src/components/Organization/Organization.jsx' ) . default ,
90
+ 'starter-kits' : ( ) => require ( './src/components/StarterKits/StarterKits.jsx' ) . default ,
132
91
}
133
- } ;
92
+ } ) ;
0 commit comments