Skip to content

[bug?] Doesn't work when chained in a single module.loaders config, but works with multiple. #5

@trusktr

Description

@trusktr

If I have this webpack config:

module.exports = {
    resolve: {
        extensions: [ "", ".js", ".jsx", ".glsl" ]
    },
    module: {
        loaders: [
            { test: /\.jsx?$/,  loader: 'babel', exclude: /node_modules/ },
            { test: /\.glsl$/, loader: 'glslify!raw' },
        ],
    },
}

compiling a project with .glsl files has error like this:

> webpack --progress --colors src/index.js react-famous.js

Hash: a7cef25085d319d4b4ad
Version: webpack 1.12.1
Time: 2166ms
          Asset     Size  Chunks             Chunk Names
react-famous.js  1.42 MB       0  [emitted]  main
    + 319 hidden modules

ERROR in ./~/famous/webgl-shaders/FragmentShader.glsl
Module build failed: Error: Final loader didn't return a Buffer or String
    at DependenciesBlock.onModuleBuild (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:299:42)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
    at runSyncOrAsync (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:160:12)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
    at runSyncOrAsync (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:160:12)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
    at Storage.finished (/home/trusktr/src/pilwon+react-famous/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
    at evalmachine.<anonymous>:334:14
    at /home/trusktr/src/pilwon+react-famous/node_modules/graceful-fs/graceful-fs.js:102:5
    at FSReqWrap.oncomplete (evalmachine.<anonymous>:95:15)
 @ ./~/famous/webgl-shaders/index.js 28:21-53

ERROR in ./~/famous/webgl-shaders/VertexShader.glsl
Module build failed: Error: Final loader didn't return a Buffer or String
    at DependenciesBlock.onModuleBuild (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:299:42)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
    at runSyncOrAsync (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:160:12)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:292:15
    at runSyncOrAsync (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:160:12)
    at nextLoader (/home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:290:3)
    at /home/trusktr/src/pilwon+react-famous/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5
    at Storage.finished (/home/trusktr/src/pilwon+react-famous/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)
    at evalmachine.<anonymous>:334:14
    at /home/trusktr/src/pilwon+react-famous/node_modules/graceful-fs/graceful-fs.js:102:5
    at FSReqWrap.oncomplete (evalmachine.<anonymous>:95:15)
 @ ./~/famous/webgl-shaders/index.js 27:19-49

but if I instead have this config:

module.exports = {
    resolve: {
        extensions: [ "", ".js", ".jsx", ".glsl" ]
    },
    module: {
        loaders: [
            { test: /\.jsx?$/,  loader: 'babel', exclude: /node_modules/ },
            { test: /\.(glsl|frag|vert)$/, loader: 'raw' },
            { test: /\.(glsl|frag|vert)$/, loader: 'glslify' },
        ],
    },
}

then it works as expected. Any idea why that might be?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions