Skip to content

Commit aab579b

Browse files
committed
update misc test dependencies, update test assertions
1 parent 5ff7a18 commit aab579b

17 files changed

+248
-450
lines changed

packages/resolve-url-loader/test/webpack4-sassloader8-nodesass4/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"name": "webpack4-sassloader8-nodesass4",
33
"version": "1.0.0",
44
"engines": {
5-
"node": ">=10"
5+
"node": ">=12.0.0"
66
},
77
"dependencies": {
8-
"css-loader": "^4.3.0",
9-
"file-loader": "^5.1.0",
8+
"css-loader": "^5.2.4",
9+
"file-loader": "^6.2.0",
1010
"last-call-webpack-plugin": "^3.0.0",
11-
"mini-css-extract-plugin": "^0.8.0",
11+
"mini-css-extract-plugin": "^1.6.0",
1212
"node-sass": "^4.14.1",
1313
"optimize-css-assets-webpack-plugin": "^5.0.4",
1414
"sass-loader": "^8.0.0",

packages/resolve-url-loader/test/webpack4-sassloader8-nodesass4/webpack.config.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ const path = require('path');
44
const LastCallWebpackPlugin = require('last-call-webpack-plugin');
55
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
66
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
7-
const processFn = require('adjust-sourcemap-loader/lib/process');
87

98
module.exports = {
109
entry: path.join(__dirname, process.env.ENTRY),
1110
output: {
1211
path: path.join(__dirname, process.env.OUTPUT),
1312
filename: '[name].js',
13+
publicPath: '',
1414
devtoolModuleFilenameTemplate: '[resource-path]',
1515
devtoolFallbackModuleFilenameTemplate: '[resource-path]',
1616
},
@@ -26,6 +26,12 @@ module.exports = {
2626
{
2727
loader: 'css-loader',
2828
options: JSON.parse(process.env.CSS_OPTIONS)
29+
}, {
30+
loader: 'adjust-sourcemap-loader',
31+
options: {
32+
debug: true,
33+
format: 'projectRelative'
34+
}
2935
}, {
3036
loader: 'resolve-url-loader',
3137
options: Object.assign(
@@ -61,8 +67,11 @@ module.exports = {
6167
phase: LastCallWebpackPlugin.PHASES.EMIT,
6268
regExp: /\.css\.map/,
6369
processor: (assetName, asset) => Promise.resolve(JSON.parse(asset.source()))
64-
.then(obj => processFn({}, {format: 'projectRootRelative'}, obj))
65-
.then(obj => JSON.stringify(obj))
70+
.then((obj) => ({
71+
...obj,
72+
sources: obj.sources.map((source) => source.replace('webpack://', ''))
73+
}))
74+
.then((obj) => JSON.stringify(obj))
6675
}]
6776
})
6877
],

packages/resolve-url-loader/test/webpack5-sassloader11-nodesass6/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,16 @@
66
},
77
"dependencies": {
88
"css-loader": "^5.2.4",
9+
"css-minimizer-webpack-plugin": "^3.0.0",
910
"file-loader": "^6.2.0",
10-
"last-call-webpack-plugin": "^3.0.0",
1111
"mini-css-extract-plugin": "^1.6.0",
1212
"node-sass": "^6.0.0",
13-
"optimize-css-assets-webpack-plugin": "^5.0.4",
1413
"sass-loader": "^11.0.1",
1514
"webpack": "^5.36.2",
1615
"webpack-cli": "^4.7.0"
1716
},
1817
"scripts": {
19-
"webpack-d": "webpack --no-color --output-pathinfo --mode=development",
20-
"webpack-p": "webpack --no-color --mode=production"
18+
"webpack-d": "cross-env NODE_ENV=development webpack --no-color --output-pathinfo",
19+
"webpack-p": "cross-env NODE_ENV=production webpack --no-color"
2120
}
2221
}

packages/resolve-url-loader/test/webpack5-sassloader11-nodesass6/webpack.config.js

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
'use strict';
22

33
const path = require('path');
4-
const LastCallWebpackPlugin = require('last-call-webpack-plugin');
5-
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
4+
const SourceMapDevToolPlugin = require('webpack').SourceMapDevToolPlugin;
5+
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
66
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
7-
const processFn = require('adjust-sourcemap-loader/lib/process');
7+
8+
class DegeneratePlugin {
9+
apply() {}
10+
}
811

912
module.exports = {
1013
entry: path.join(__dirname, process.env.ENTRY),
@@ -15,7 +18,7 @@ module.exports = {
1518
devtoolModuleFilenameTemplate: '[resource-path]',
1619
devtoolFallbackModuleFilenameTemplate: '[resource-path]',
1720
},
18-
devtool: JSON.parse(process.env.DEVTOOL) && 'nosources-source-map',
21+
devtool: false,
1922
resolve: {
2023
modules: [path.join(__dirname, 'modules'), 'node_modules'] // specifically for isolation in module-relative test
2124
},
@@ -53,29 +56,27 @@ module.exports = {
5356
}]
5457
},
5558
plugins: [
59+
JSON.parse(process.env.DEVTOOL) ? new SourceMapDevToolPlugin({
60+
filename: '[file].map',
61+
moduleFilenameTemplate: '[resource-path]',
62+
append: process.env.NODE_ENV !== 'production' && undefined,
63+
noSources: true
64+
}) : new DegeneratePlugin(),
5665
new MiniCssExtractPlugin({
5766
filename: '[name].[contenthash].css'
5867
}),
59-
// currently devtoolModuleFilenameTemplate is not respected by OptimizeCSSAssetsPlugin so we must do it ourselves
60-
new LastCallWebpackPlugin({
61-
assetProcessors: [{
62-
phase: LastCallWebpackPlugin.PHASES.EMIT,
63-
regExp: /\.css\.map/,
64-
processor: (assetName, asset) => Promise.resolve(JSON.parse(asset.source()))
65-
.then(obj => processFn({}, {format: 'projectRootRelative'}, obj))
66-
.then(obj => JSON.stringify(obj))
67-
}]
68-
})
6968
],
7069
optimization: {
7170
minimizer: [
72-
new OptimizeCSSAssetsPlugin({
73-
cssProcessorOptions: {
74-
map: !!JSON.parse(process.env.DEVTOOL),
75-
// the following optimisations are fine but e2e assertions are easier without them
76-
cssDeclarationSorter: false,
77-
normalizeUrl: false,
78-
discardUnused: false
71+
new CssMinimizerPlugin({
72+
minimizerOptions: {
73+
processorOptions: {
74+
map: !!JSON.parse(process.env.DEVTOOL) && {inline: false},
75+
// the following optimisations are fine but e2e assertions are easier without them
76+
cssDeclarationSorter: false,
77+
normalizeUrl: false,
78+
discardUnused: false
79+
}
7980
}
8081
})
8182
]

test/cases/absolute-asset.js

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,7 @@ module.exports = test(
115115
assertNoErrors,
116116
assertDebugMessages,
117117
assertCssSourceMapComment(true),
118-
compose(onlyMeta('meta.version.webpack == 4'), assertCssContent, outdent)`
119-
.some-class-name {
120-
single-quoted: url(d68e763c825dc0e388929ae1b375ce18.jpg);
121-
double-quoted: url(d68e763c825dc0e388929ae1b375ce18.jpg);
122-
unquoted: url(d68e763c825dc0e388929ae1b375ce18.jpg);
123-
query: url(d68e763c825dc0e388929ae1b375ce18.jpg);
124-
hash: url(d68e763c825dc0e388929ae1b375ce18.jpg#hash); }
125-
126-
.another-class-name {
127-
display: block; }
128-
`,
129-
compose(onlyMeta('meta.version.webpack >= 5'), assertCssContent, outdent)`
118+
compose(assertCssContent, outdent)`
130119
.some-class-name {
131120
single-quoted: url(9eb57a84abbf8abc636d0faa71f9a800.jpg);
132121
double-quoted: url(9eb57a84abbf8abc636d0faa71f9a800.jpg);
@@ -159,16 +148,8 @@ module.exports = test(
159148
assertWebpackOk,
160149
assertNoErrors,
161150
assertDebugMessages,
162-
onlyMeta('meta.version.webpack >= 4')(
163-
assertCssSourceMapComment(false)
164-
),
165-
compose(onlyMeta('meta.version.webpack == 4'), assertCssContent, trim)`
166-
.some-class-name{single-quoted:url(d68e763c825dc0e388929ae1b375ce18.jpg);double-quoted:
167-
url(d68e763c825dc0e388929ae1b375ce18.jpg);unquoted:url(d68e763c825dc0e388929ae1b375ce18.jpg);query:
168-
url(d68e763c825dc0e388929ae1b375ce18.jpg);hash:url(d68e763c825dc0e388929ae1b375ce18.jpg#hash)}
169-
.another-class-name{display:block}
170-
`,
171-
compose(onlyMeta('meta.version.webpack >= 5'), assertCssContent, trim)`
151+
assertCssSourceMapComment(false),
152+
compose(assertCssContent, trim)`
172153
.some-class-name{single-quoted:url(9eb57a84abbf8abc636d0faa71f9a800.jpg);double-quoted:
173154
url(9eb57a84abbf8abc636d0faa71f9a800.jpg);unquoted:url(9eb57a84abbf8abc636d0faa71f9a800.jpg);query:
174155
url(9eb57a84abbf8abc636d0faa71f9a800.jpg);hash:url(9eb57a84abbf8abc636d0faa71f9a800.jpg#hash)}

0 commit comments

Comments
 (0)