Skip to content

Commit 734e5b0

Browse files
authored
fix: serialize path query params without change (#408)
* fix: add query test * fix: serialize path query params without change * fixup! fix: serialize path query params without change
1 parent 6551c8e commit 734e5b0

File tree

5 files changed

+34
-4
lines changed

5 files changed

+34
-4
lines changed

lib/util/relate-context.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ const relateNormalPath = (exports.relateNormalPath = function relateNormalPath(
2626
if (key === '') {
2727
return key;
2828
}
29-
return path.relative(compilerContext(compiler), key).replace(/\\/g, '/');
29+
const rel = path.relative(compilerContext(compiler), key.split('?')[0]);
30+
return [rel.replace(/\\/g, '/')].concat(key.split('?').slice(1)).join('?');
3031
});
3132

3233
const relateNormalRequest = (exports.relateNormalRequest = function relateNormalRequest(
@@ -88,7 +89,10 @@ const contextNormalPath = (exports.contextNormalPath = function contextNormalPat
8889
if (key === '') {
8990
return '';
9091
}
91-
return path.resolve(compilerContext(compiler), key).replace(/\//g, path.sep);
92+
const abs = path.resolve(compilerContext(compiler), key.split('?')[0]);
93+
return [abs.replace(/\//g, path.sep)]
94+
.concat(key.split('?').slice(1))
95+
.join('?');
9296
});
9397

9498
const contextNormalRequest = (exports.contextNormalRequest = function contextNormalRequest(

tests/base-webpack-3.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ var describeWP = require('./util').describeWP;
77

88
describeWP(3)('basic webpack 3 use - compiles identically', function() {
99

10+
itCompilesTwice('base-1dep-query');
11+
itCompilesTwice('base-1dep-query', {exportStats: true});
12+
itCompilesTwice('base-devtool-nosources-source-map');
13+
itCompilesTwice('base-devtool-nosources-source-map', {exportStats: true});
1014
itCompilesTwice('base-es2015-module-export-star');
1115
itCompilesTwice('base-es2015-module-export-star', {exportStats: true});
1216
itCompilesTwice('base-es2015-module-export-star-alt');
1317
itCompilesTwice('base-es2015-module-export-star-alt', {exportStats: true});
14-
itCompilesTwice('base-devtool-nosources-source-map');
15-
itCompilesTwice('base-devtool-nosources-source-map', {exportStats: true});
1618

1719
itCompilesHardModules('base-es2015-module-export-star', ['./export.js', './fab.js', './fib.js', './index.js']);
1820
itCompilesHardModules('base-es2015-module-export-star-alt', ['./export.js', './fab.js', './fib.js', './index.js']);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = function(n) {
2+
return n + (n > 0 ? n - 1 : 0);
3+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
var fib = require('./fib?http://localhost');
2+
3+
console.log(fib(3));
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
var HardSourceWebpackPlugin = require('../../..');
2+
3+
module.exports = {
4+
context: __dirname,
5+
entry: './index.js',
6+
output: {
7+
path: __dirname + '/tmp',
8+
filename: 'main.js',
9+
},
10+
plugins: [
11+
new HardSourceWebpackPlugin({
12+
cacheDirectory: 'cache',
13+
environmentHash: {
14+
root: __dirname + '/../../..',
15+
},
16+
}),
17+
],
18+
};

0 commit comments

Comments
 (0)