Skip to content

Commit

Permalink
Allow loaders to access the mode
Browse files Browse the repository at this point in the history
  • Loading branch information
tschaub committed May 16, 2019
1 parent 62d1b15 commit 290ab5d
Show file tree
Hide file tree
Showing 17 changed files with 68 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/NormalModule.js
Expand Up @@ -212,6 +212,7 @@ class NormalModule extends Module {
rootContext: options.context,
webpack: true,
sourceMap: !!this.useSourceMap,
mode: options.mode,
_module: this,
_compilation: compilation,
_compiler: compilation.compiler,
Expand Down
Empty file.
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-default/index.js
@@ -0,0 +1,3 @@
it("provides mode to loaders when the option is omitted", function() {
expect(require("./a")).toBe("production");
});
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-default/loader.js
@@ -0,0 +1,3 @@
module.exports = function(source) {
return `module.exports = "${this.mode}";`;
};
10 changes: 10 additions & 0 deletions test/configCases/loaders/mode-default/webpack.config.js
@@ -0,0 +1,10 @@
module.exports = {
module: {
rules: [
{
test: /a\.js$/,
use: "./loader"
}
]
}
};
Empty file.
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-development/index.js
@@ -0,0 +1,3 @@
it("provides mode to loaders when the option is 'development'", function() {
expect(require("./a")).toBe("development");
});
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-development/loader.js
@@ -0,0 +1,3 @@
module.exports = function(source) {
return `module.exports = "${this.mode}";`;
};
11 changes: 11 additions & 0 deletions test/configCases/loaders/mode-development/webpack.config.js
@@ -0,0 +1,11 @@
module.exports = {
mode: "development",
module: {
rules: [
{
test: /a\.js$/,
use: "./loader"
}
]
}
};
Empty file.
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-none/index.js
@@ -0,0 +1,3 @@
it("provides mode to loaders when the option is 'none'", function() {
expect(require("./a")).toBe("none");
});
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-none/loader.js
@@ -0,0 +1,3 @@
module.exports = function(source) {
return `module.exports = "${this.mode}";`;
};
11 changes: 11 additions & 0 deletions test/configCases/loaders/mode-none/webpack.config.js
@@ -0,0 +1,11 @@
module.exports = {
mode: "none",
module: {
rules: [
{
test: /a\.js$/,
use: "./loader"
}
]
}
};
Empty file.
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-production/index.js
@@ -0,0 +1,3 @@
it("provides mode to loaders when the option is 'production'", function() {
expect(require("./a")).toBe("production");
});
3 changes: 3 additions & 0 deletions test/configCases/loaders/mode-production/loader.js
@@ -0,0 +1,3 @@
module.exports = function(source) {
return `module.exports = "${this.mode}";`;
};
11 changes: 11 additions & 0 deletions test/configCases/loaders/mode-production/webpack.config.js
@@ -0,0 +1,11 @@
module.exports = {
mode: "production",
module: {
rules: [
{
test: /a\.js$/,
use: "./loader"
}
]
}
};

0 comments on commit 290ab5d

Please sign in to comment.