@griffel/postcss-syntax 1.2.1 → 1.2.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/package.json +1 -1
- package/src/location-preset.d.ts +4 -2
- package/src/location-preset.js +18 -4
- package/src/location-preset.js.map +1 -1
- package/src/parse.js +8 -6
- package/src/parse.js.map +1 -1
package/package.json
CHANGED
package/src/location-preset.d.ts
CHANGED
|
@@ -8,16 +8,18 @@ export type LocationsByHookDeclarator = Record</** hook declarator */ string, Lo
|
|
|
8
8
|
export type ResetCommentDirectivesByHookDeclarator = Record</** hook declarator */ string, CommentDirective[]>;
|
|
9
9
|
export type ResetLocationsByHookDeclarator = Record</** hook declarator */ string, t.SourceLocation>;
|
|
10
10
|
export interface LocationPluginState extends PluginPass {
|
|
11
|
+
callExpressionLocations?: Record</** hook declarator */ string, t.SourceLocation>;
|
|
11
12
|
locations?: LocationsByHookDeclarator;
|
|
12
13
|
commentDirectives?: CommentDirectivesByHookDeclarator;
|
|
13
14
|
resetCommentDirectives?: ResetCommentDirectivesByHookDeclarator;
|
|
14
15
|
resetLocations?: ResetLocationsByHookDeclarator;
|
|
15
16
|
}
|
|
16
17
|
export interface LocationPluginMetadata {
|
|
17
|
-
|
|
18
|
+
callExpressionLocations: Record</** hook declarator */ string, t.SourceLocation>;
|
|
19
|
+
locations: LocationsByHookDeclarator;
|
|
18
20
|
commentDirectives: CommentDirectivesByHookDeclarator;
|
|
19
21
|
resetCommentDirectives: ResetCommentDirectivesByHookDeclarator;
|
|
20
|
-
resetLocations:
|
|
22
|
+
resetLocations: ResetLocationsByHookDeclarator;
|
|
21
23
|
}
|
|
22
24
|
export interface LocationPluginOptions extends Pick<BabelPluginOptions, 'modules'> {
|
|
23
25
|
}
|
package/src/location-preset.js
CHANGED
|
@@ -21,6 +21,7 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
21
21
|
return {
|
|
22
22
|
name: '@griffel/slot-location-plugin',
|
|
23
23
|
pre() {
|
|
24
|
+
this.callExpressionLocations = {};
|
|
24
25
|
this.locations = {};
|
|
25
26
|
this.resetLocations = {};
|
|
26
27
|
this.commentDirectives = {};
|
|
@@ -30,6 +31,7 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
30
31
|
Program: {
|
|
31
32
|
exit() {
|
|
32
33
|
Object.assign(this.file.metadata, {
|
|
34
|
+
callExpressionLocations: this.callExpressionLocations,
|
|
33
35
|
locations: this.locations,
|
|
34
36
|
resetLocations: this.resetLocations,
|
|
35
37
|
commentDirectives: this.commentDirectives,
|
|
@@ -38,7 +40,7 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
38
40
|
},
|
|
39
41
|
},
|
|
40
42
|
CallExpression(path, state) {
|
|
41
|
-
var _a, _b, _c;
|
|
43
|
+
var _a, _b, _c, _d, _e;
|
|
42
44
|
const callee = path.get('callee');
|
|
43
45
|
const declarator = path.findParent(p => p.isVariableDeclarator());
|
|
44
46
|
if (!(declarator === null || declarator === void 0 ? void 0 : declarator.isVariableDeclarator())) {
|
|
@@ -53,6 +55,12 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
53
55
|
// but since we only collect locations, the plugin is idempotent and we
|
|
54
56
|
// it's safe enough to avoid doing that check
|
|
55
57
|
if (functionKinds.includes(callee.node.name)) {
|
|
58
|
+
if (path.node.loc) {
|
|
59
|
+
(_a = state.callExpressionLocations) !== null && _a !== void 0 ? _a : (state.callExpressionLocations = {});
|
|
60
|
+
state.callExpressionLocations[declaratorId] = {
|
|
61
|
+
...path.node.loc,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
56
64
|
const locations = path.get('arguments')[0];
|
|
57
65
|
if (!locations.isObjectExpression()) {
|
|
58
66
|
return;
|
|
@@ -85,7 +93,13 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
85
93
|
});
|
|
86
94
|
}
|
|
87
95
|
if (resetFunctionKinds.includes(callee.node.name)) {
|
|
88
|
-
(
|
|
96
|
+
if (path.node.loc) {
|
|
97
|
+
(_b = state.callExpressionLocations) !== null && _b !== void 0 ? _b : (state.callExpressionLocations = {});
|
|
98
|
+
state.callExpressionLocations[declaratorId] = {
|
|
99
|
+
...path.node.loc,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
(_c = state.resetLocations) !== null && _c !== void 0 ? _c : (state.resetLocations = {});
|
|
89
103
|
const resetStyles = path.get('arguments')[0];
|
|
90
104
|
if (!resetStyles.isObjectExpression()) {
|
|
91
105
|
return;
|
|
@@ -96,11 +110,11 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
|
|
|
96
110
|
state.resetLocations[declaratorId] = resetStyles.node.loc;
|
|
97
111
|
// For reset styles we only care about the comment directives on the variable declaration
|
|
98
112
|
// The leading commment can either be attached to a variable declaration of an export declaration (i.e. export const useResetStyles = ...)
|
|
99
|
-
const parentDeclaration = (
|
|
113
|
+
const parentDeclaration = (_d = path.findParent(p => p.isExportNamedDeclaration())) !== null && _d !== void 0 ? _d : path.findParent(p => p.isVariableDeclaration());
|
|
100
114
|
if (parentDeclaration) {
|
|
101
115
|
const commentDirectives = parseCommentDirectives(parentDeclaration.node.leadingComments);
|
|
102
116
|
if (commentDirectives) {
|
|
103
|
-
(
|
|
117
|
+
(_e = state.resetCommentDirectives) !== null && _e !== void 0 ? _e : (state.resetCommentDirectives = {});
|
|
104
118
|
state.resetCommentDirectives[declaratorId] = commentDirectives;
|
|
105
119
|
}
|
|
106
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-preset.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/location-preset.ts"],"names":[],"mappings":";;AACA,oEAAqD;
|
|
1
|
+
{"version":3,"file":"location-preset.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/location-preset.ts"],"names":[],"mappings":"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"}
|
package/src/parse.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.parse = void 0;
|
|
|
4
4
|
const postcss = require("postcss");
|
|
5
5
|
const transform_sync_1 = require("./transform-sync");
|
|
6
6
|
const constants_1 = require("./constants");
|
|
7
|
+
const os = require("os");
|
|
7
8
|
/**
|
|
8
9
|
* Generates CSS rules from a JavaScript file. Each slot in `makeStyles` and each `makeResetStyles` will be one line in the output.
|
|
9
10
|
* It returns a PostCSS AST that parses the generated CSS rules. For each node in AST, attaches information about its related slot location from the original js file.
|
|
@@ -19,14 +20,14 @@ const parse = (css, opts) => {
|
|
|
19
20
|
generateMetadata: true,
|
|
20
21
|
},
|
|
21
22
|
});
|
|
22
|
-
const { cssEntries, cssResetEntries, resetLocations, locations, commentDirectives, resetCommentDirectives } = metadata;
|
|
23
|
+
const { cssEntries, cssResetEntries, callExpressionLocations, resetLocations, locations, commentDirectives, resetCommentDirectives, } = metadata;
|
|
23
24
|
const cssRuleSlotNames = [];
|
|
24
25
|
const cssRules = [];
|
|
25
26
|
Object.entries(cssEntries).forEach(([declarator, slots]) => {
|
|
26
27
|
Object.entries(slots).forEach(([slot, rules]) => {
|
|
27
28
|
var _a, _b;
|
|
28
29
|
cssRuleSlotNames.push(`${declarator} ${slot}`);
|
|
29
|
-
let cssRule = rules.join('');
|
|
30
|
+
let cssRule = rules.join('').replace(new RegExp(os.EOL, 'g'), ' ');
|
|
30
31
|
const ignoredRules = getIgnoredRulesFromDirectives((_b = (_a = commentDirectives[declarator]) === null || _a === void 0 ? void 0 : _a[slot]) !== null && _b !== void 0 ? _b : []);
|
|
31
32
|
if (ignoredRules.length) {
|
|
32
33
|
const stylelintIgnore = `/* stylelint-disable-line ${ignoredRules.join(',')} */`;
|
|
@@ -39,15 +40,16 @@ const parse = (css, opts) => {
|
|
|
39
40
|
var _a;
|
|
40
41
|
cssRuleSlotNames.push(`${declarator}`);
|
|
41
42
|
const ignoredRules = getIgnoredRulesFromDirectives((_a = resetCommentDirectives[declarator]) !== null && _a !== void 0 ? _a : []);
|
|
42
|
-
let cssRule = resetRules.join('');
|
|
43
|
+
let cssRule = resetRules.join('').replace(new RegExp(os.EOL, 'g'), ' ');
|
|
43
44
|
if (ignoredRules.length) {
|
|
44
45
|
const stylelintIgnore = `/* stylelint-disable-line ${ignoredRules.join(',')} */`;
|
|
45
46
|
cssRule = `${cssRule} ${stylelintIgnore}`;
|
|
46
47
|
}
|
|
47
48
|
cssRules.push(cssRule);
|
|
48
49
|
});
|
|
49
|
-
const root = postcss.parse(cssRules.join('\n'));
|
|
50
|
+
const root = postcss.parse(cssRules.join('\n'), { from: filename });
|
|
50
51
|
root.walk(node => {
|
|
52
|
+
var _a, _b, _c;
|
|
51
53
|
if (!node.source || node.source.start === undefined) {
|
|
52
54
|
return;
|
|
53
55
|
}
|
|
@@ -55,10 +57,10 @@ const parse = (css, opts) => {
|
|
|
55
57
|
node.raws[constants_1.GRIFFEL_DECLARATOR_RAW] = declarator;
|
|
56
58
|
if (slot) {
|
|
57
59
|
node.raws[constants_1.GRIFFEL_SLOT_RAW] = slot;
|
|
58
|
-
node.raws[constants_1.GRIFFEL_SLOT_LOCATION_RAW] = locations[declarator][slot];
|
|
60
|
+
node.raws[constants_1.GRIFFEL_SLOT_LOCATION_RAW] = (_b = (_a = locations[declarator]) === null || _a === void 0 ? void 0 : _a[slot]) !== null && _b !== void 0 ? _b : callExpressionLocations[declarator];
|
|
59
61
|
}
|
|
60
62
|
else {
|
|
61
|
-
node.raws[constants_1.GRIFFEL_DECLARATOR_LOCATION_RAW] = resetLocations[declarator];
|
|
63
|
+
node.raws[constants_1.GRIFFEL_DECLARATOR_LOCATION_RAW] = (_c = resetLocations[declarator]) !== null && _c !== void 0 ? _c : callExpressionLocations[declarator];
|
|
62
64
|
}
|
|
63
65
|
});
|
|
64
66
|
root.raws[constants_1.GRIFFEL_SRC_RAW] = css;
|
package/src/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/parse.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,qDAA6C;AAC7C,2CAMqB;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/parse.ts"],"names":[],"mappings":"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"}
|