UNPKG

1.01 kBJavaScriptView Raw
1exports.name = 'builtin:config-misc-loaders'
2
3exports.apply = api => {
4 api.hook('createWebpackChain', config => {
5 // GraphQL
6 config.module
7 .rule('graphql')
8 .test(/\.(graphql|gql)$/)
9 .use('graphql-tag')
10 .loader('graphql-tag/loader')
11
12 config.module
13 .rule('toml')
14 .test(/\.toml$/)
15 .use('toml-loader')
16 .loader('toml-loader')
17
18 config.module
19 .rule('yaml')
20 .test(/\.ya?ml$/)
21 .merge({
22 type: 'json'
23 })
24 .use('yaml-loader')
25 .loader('yaml-loader')
26
27 // prettier-ignore
28 config.module
29 .rule('pug')
30 .test([/\.pug$/, /\.jade$/])
31 // Pug inside Vue template is loaded as raw string
32 .oneOf('vue-template')
33 .resourceQuery(/^\?vue/)
34 .use('pug-plain-loader')
35 .loader('pug-plain-loader')
36 .end()
37 .end()
38 // Pug inside js file is loaded as a compiled function
39 .oneOf('normal')
40 .use('pug-loader')
41 .loader('pug-loader')
42 })
43}