@parcel/transformer-postcss 2.2.0 → 2.3.2
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/lib/PostCSSTransformer.js +14 -25
- package/package.json +8 -10
- package/src/PostCSSTransformer.js +19 -4
|
@@ -35,16 +35,6 @@ function _plugin() {
|
|
|
35
35
|
return data;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
function _fileSystemLoader() {
|
|
39
|
-
const data = _interopRequireDefault(require("css-modules-loader-core/lib/file-system-loader"));
|
|
40
|
-
|
|
41
|
-
_fileSystemLoader = function () {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
38
|
function _nullthrows() {
|
|
49
39
|
const data = _interopRequireDefault(require("nullthrows"));
|
|
50
40
|
|
|
@@ -85,16 +75,6 @@ function _postcssValueParser() {
|
|
|
85
75
|
return data;
|
|
86
76
|
}
|
|
87
77
|
|
|
88
|
-
function _postcssModules() {
|
|
89
|
-
const data = _interopRequireDefault(require("postcss-modules"));
|
|
90
|
-
|
|
91
|
-
_postcssModules = function () {
|
|
92
|
-
return data;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
return data;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
78
|
var _loadConfig = require("./loadConfig");
|
|
99
79
|
|
|
100
80
|
var _constants = require("./constants");
|
|
@@ -177,10 +157,16 @@ var _default = new (_plugin().Transformer)({
|
|
|
177
157
|
let cssModules = null;
|
|
178
158
|
|
|
179
159
|
if (config.hydrated.modules) {
|
|
180
|
-
asset.meta.cssModulesCompiled = true;
|
|
181
|
-
|
|
160
|
+
asset.meta.cssModulesCompiled = true; // TODO: should this be resolved from the project root?
|
|
161
|
+
|
|
162
|
+
let postcssModules = await options.packageManager.require('postcss-modules', asset.filePath, {
|
|
163
|
+
range: '^4.3.0',
|
|
164
|
+
saveDev: true,
|
|
165
|
+
shouldAutoInstall: options.shouldAutoInstall
|
|
166
|
+
});
|
|
167
|
+
plugins.push(postcssModules({
|
|
182
168
|
getJSON: (filename, json) => cssModules = json,
|
|
183
|
-
Loader: createLoader(asset, resolve),
|
|
169
|
+
Loader: await createLoader(asset, resolve, options),
|
|
184
170
|
generateScopedName: (name, filename) => `${name}_${(0, _hash().hashString)(_path().default.relative(options.projectRoot, filename)).substr(0, 6)}`,
|
|
185
171
|
...config.hydrated.modules
|
|
186
172
|
}));
|
|
@@ -297,8 +283,11 @@ var _default = new (_plugin().Transformer)({
|
|
|
297
283
|
|
|
298
284
|
exports.default = _default;
|
|
299
285
|
|
|
300
|
-
function createLoader(asset, resolve) {
|
|
301
|
-
|
|
286
|
+
async function createLoader(asset, resolve, options) {
|
|
287
|
+
let {
|
|
288
|
+
default: FileSystemLoader
|
|
289
|
+
} = await options.packageManager.require('postcss-modules/build/css-loader-core/loader', asset.filePath);
|
|
290
|
+
return class extends FileSystemLoader {
|
|
302
291
|
async fetch(composesPath, relativeTo) {
|
|
303
292
|
let importPath = composesPath.replace(/^["']|["']$/g, '');
|
|
304
293
|
let resolved = await resolve(relativeTo, importPath);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parcel/transformer-postcss",
|
|
3
|
-
"version": "2.2
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,21 +17,19 @@
|
|
|
17
17
|
"source": "src/PostCSSTransformer.js",
|
|
18
18
|
"engines": {
|
|
19
19
|
"node": ">= 12.0.0",
|
|
20
|
-
"parcel": "^2.2
|
|
20
|
+
"parcel": "^2.3.2"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@parcel/hash": "
|
|
24
|
-
"@parcel/plugin": "
|
|
25
|
-
"@parcel/utils": "
|
|
23
|
+
"@parcel/hash": "2.3.2",
|
|
24
|
+
"@parcel/plugin": "2.3.2",
|
|
25
|
+
"@parcel/utils": "2.3.2",
|
|
26
26
|
"clone": "^2.1.1",
|
|
27
|
-
"css-modules-loader-core": "^1.1.0",
|
|
28
27
|
"nullthrows": "^1.1.1",
|
|
29
|
-
"postcss-
|
|
30
|
-
"postcss-value-parser": "^4.1.0",
|
|
28
|
+
"postcss-value-parser": "^4.2.0",
|
|
31
29
|
"semver": "^5.7.1"
|
|
32
30
|
},
|
|
33
31
|
"devDependencies": {
|
|
34
|
-
"postcss": "^8.
|
|
32
|
+
"postcss": "^8.4.5"
|
|
35
33
|
},
|
|
36
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "47379bf8fabeb2cfe03ade8802d942388b153e5b"
|
|
37
35
|
}
|
|
@@ -5,12 +5,10 @@ import type {FilePath, Asset, MutableAsset, PluginOptions} from '@parcel/types';
|
|
|
5
5
|
import {hashString} from '@parcel/hash';
|
|
6
6
|
import {glob} from '@parcel/utils';
|
|
7
7
|
import {Transformer} from '@parcel/plugin';
|
|
8
|
-
import FileSystemLoader from 'css-modules-loader-core/lib/file-system-loader';
|
|
9
8
|
import nullthrows from 'nullthrows';
|
|
10
9
|
import path from 'path';
|
|
11
10
|
import semver from 'semver';
|
|
12
11
|
import valueParser from 'postcss-value-parser';
|
|
13
|
-
import postcssModules from 'postcss-modules';
|
|
14
12
|
import typeof * as Postcss from 'postcss';
|
|
15
13
|
|
|
16
14
|
import {load} from './loadConfig';
|
|
@@ -79,10 +77,22 @@ export default (new Transformer({
|
|
|
79
77
|
let cssModules: ?{|[string]: string|} = null;
|
|
80
78
|
if (config.hydrated.modules) {
|
|
81
79
|
asset.meta.cssModulesCompiled = true;
|
|
80
|
+
|
|
81
|
+
// TODO: should this be resolved from the project root?
|
|
82
|
+
let postcssModules = await options.packageManager.require(
|
|
83
|
+
'postcss-modules',
|
|
84
|
+
asset.filePath,
|
|
85
|
+
{
|
|
86
|
+
range: '^4.3.0',
|
|
87
|
+
saveDev: true,
|
|
88
|
+
shouldAutoInstall: options.shouldAutoInstall,
|
|
89
|
+
},
|
|
90
|
+
);
|
|
91
|
+
|
|
82
92
|
plugins.push(
|
|
83
93
|
postcssModules({
|
|
84
94
|
getJSON: (filename, json) => (cssModules = json),
|
|
85
|
-
Loader: createLoader(asset, resolve),
|
|
95
|
+
Loader: await createLoader(asset, resolve, options),
|
|
86
96
|
generateScopedName: (name, filename) =>
|
|
87
97
|
`${name}_${hashString(
|
|
88
98
|
path.relative(options.projectRoot, filename),
|
|
@@ -196,10 +206,15 @@ export default (new Transformer({
|
|
|
196
206
|
},
|
|
197
207
|
}): Transformer);
|
|
198
208
|
|
|
199
|
-
function createLoader(
|
|
209
|
+
async function createLoader(
|
|
200
210
|
asset: MutableAsset,
|
|
201
211
|
resolve: (from: FilePath, to: string) => Promise<FilePath>,
|
|
212
|
+
options: PluginOptions,
|
|
202
213
|
) {
|
|
214
|
+
let {default: FileSystemLoader} = await options.packageManager.require(
|
|
215
|
+
'postcss-modules/build/css-loader-core/loader',
|
|
216
|
+
asset.filePath,
|
|
217
|
+
);
|
|
203
218
|
return class ParcelFileSystemLoader extends FileSystemLoader {
|
|
204
219
|
async fetch(composesPath, relativeTo) {
|
|
205
220
|
let importPath = composesPath.replace(/^["']|["']$/g, '');
|