@glitchr/media-query-plugin 1.5.6 → 1.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
File without changes
package/README.md CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glitchr/media-query-plugin",
3
- "version": "1.5.6",
3
+ "version": "1.5.8",
4
4
  "description": "Webpack plugin for media query extraction.",
5
5
  "license": "MIT",
6
6
  "access": "public",
@@ -29,10 +29,7 @@
29
29
  "mini-css-extract-plugin": "^0.11.1",
30
30
  "mocha": "^8.1.3",
31
31
  "rimraf": "^3.0.2",
32
- "sass": "^1.26.10",
33
- "sass-loader": "^10.0.2",
34
- "style-loader": "^1.2.1",
35
- "webpack-merge": "^5.1.4"
32
+ "style-loader": "^1.2.1"
36
33
  },
37
34
  "repository": {
38
35
  "type": "git",
package/src/index.js CHANGED
File without changes
package/src/loader.js CHANGED
File without changes
package/src/plugin.js CHANGED
@@ -57,17 +57,11 @@ module.exports = class MediaQueryPlugin {
57
57
 
58
58
  compiler.hooks.thisCompilation.tap(pluginName, (compilation) => {
59
59
 
60
- const hasDeprecatedChunks = (compilation.chunks instanceof Set) === false; // webpack < 5
61
-
62
- if (hasDeprecatedChunks) {
63
- console.warn('\n\n[WARNING] media-query-plugin is going to drop webpack 4 support with the next major version so you should consider upgrading asap!\n\n');
64
- }
65
-
66
60
  const processAssets = (compilationAssets, cb) => {
67
61
 
68
62
  const chunks = compilation.chunks;
69
63
  const chunkIds = [...chunks].map(chunk => chunk.id);
70
- const assets = hasDeprecatedChunks ? compilation.assets : compilationAssets;
64
+ const assets = compilationAssets;
71
65
 
72
66
  store.getMediaKeys().forEach(mediaKey => {
73
67
 
@@ -90,11 +84,7 @@ module.exports = class MediaQueryPlugin {
90
84
  mediaChunk.id = mediaKey;
91
85
  mediaChunk.ids = [mediaKey];
92
86
 
93
- if (hasDeprecatedChunks) {
94
- chunks.push(mediaChunk);
95
- } else {
96
- chunks.add(mediaChunk);
97
- }
87
+ chunks.add(mediaChunk);
98
88
  }
99
89
 
100
90
  const chunk = [...chunks].filter(chunk => chunk.id === mediaKey)[0];
@@ -136,20 +126,13 @@ module.exports = class MediaQueryPlugin {
136
126
  } else {
137
127
  content = new ConcatSource(assets[file], content);
138
128
  }
139
- if (hasDeprecatedChunks) {
140
- chunk.files.splice(chunk.files.indexOf(file), 1);
141
- } else {
142
- chunk.files.delete(file);
143
- }
129
+
130
+ chunk.files.delete(file);
144
131
  delete assets[file];
145
132
  }
146
133
  }
147
-
148
- if (hasDeprecatedChunks) {
149
- chunk.files.push(`${basename}.js`);
150
- } else {
151
- chunk.files.add(`${basename}.js`);
152
- }
134
+
135
+ chunk.files.add(`${basename}.js`);
153
136
  assets[`${basename}.js`] = content;
154
137
  }
155
138
 
@@ -162,20 +145,12 @@ module.exports = class MediaQueryPlugin {
162
145
  if (assets[file]) {
163
146
  content = new ConcatSource(assets[file], content);
164
147
 
165
- if (hasDeprecatedChunks) {
166
- chunk.files.splice(chunk.files.indexOf(file), 1);
167
- } else {
168
- chunk.files.delete(file);
169
- }
148
+ chunk.files.delete(file);
170
149
  delete assets[file];
171
150
  }
172
151
  });
173
152
 
174
- if (hasDeprecatedChunks) {
175
- chunk.files.push(`${basename}.css`);
176
- } else {
177
- chunk.files.add(`${basename}.css`);
178
- }
153
+ chunk.files.add(`${basename}.css`);
179
154
  assets[`${basename}.css`] = content;
180
155
  }
181
156
 
@@ -193,7 +168,7 @@ module.exports = class MediaQueryPlugin {
193
168
  };
194
169
  const sortedChunks = [...chunks].sort(chunksCompareFn);
195
170
 
196
- compilation.chunks = hasDeprecatedChunks ? sortedChunks : new Set(sortedChunks);
171
+ compilation.chunks = new Set(sortedChunks);
197
172
 
198
173
  const assetsCompareFn = (a, b) => {
199
174
  // take file extension out of sort
@@ -208,31 +183,18 @@ module.exports = class MediaQueryPlugin {
208
183
  return 0;
209
184
  };
210
185
  const sortedAssets = Object.keys(assets).sort(assetsCompareFn).reduce((res, key) => (res[key] = assets[key], res), {});
211
-
212
- if (hasDeprecatedChunks) {
213
- compilation.assets = sortedAssets;
214
- } else {
215
- compilationAssets = sortedAssets;
216
- }
186
+ compilationAssets = sortedAssets;
217
187
 
218
188
  cb();
219
189
  };
220
190
 
221
- // Since webpack 4 doesn't have the processAssets hook, we need the following condition.
222
- // In future (once webpack 4 support has been dropped) this can be simplified again.
223
- if (hasDeprecatedChunks) {
224
- compilation.hooks.additionalAssets.tapAsync(pluginName, (cb) => {
225
- processAssets(compilation.assets, cb);
226
- });
227
- } else {
228
- compilation.hooks.processAssets.tapAsync({
229
- name: pluginName,
230
- stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL
231
- }, (assets, cb) => {
232
- processAssets(assets, cb);
233
- });
234
- }
235
-
191
+ compilation.hooks.processAssets.tapAsync({
192
+ name: pluginName,
193
+ stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL
194
+ }, (assets, cb) => {
195
+ processAssets(assets, cb);
196
+ });
197
+
236
198
  // consider html-webpack-plugin and provide extracted files
237
199
  // which can be accessed in templates via htmlWebpackPlugin.files.extracted
238
200
  // { css: [{file:'',query:''},{file:'',query:''}] }
package/src/postcss.js CHANGED
File without changes
package/src/store.js CHANGED
@@ -19,8 +19,10 @@ class MediaQueryStore {
19
19
 
20
20
  if (typeof this.media[key] !== 'object') {
21
21
  this.media[key] = [];
22
+ this.media[key].push(data);
22
23
  }
23
- this.media[key].push(data);
24
+
25
+ this.media[key] = this.media[key].map(media => media.filename == filename ? data : media);
24
26
  }
25
27
 
26
28
  getMedia(key) {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/test/data/app.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes