@griffel/postcss-syntax 1.2.3 → 1.3.0
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 +2 -2
- package/src/parse.d.ts +5 -0
- package/src/parse.js +26 -9
- package/src/parse.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@griffel/postcss-syntax",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "postcss syntax for Griffel",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@babel/core": "^7.23.2",
|
|
12
|
-
"@griffel/babel-preset": "^1.6.
|
|
12
|
+
"@griffel/babel-preset": "^1.6.6",
|
|
13
13
|
"@babel/helper-plugin-utils": "^7.22.5",
|
|
14
14
|
"postcss": "^8.4.29"
|
|
15
15
|
},
|
package/src/parse.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import * as postcss from 'postcss';
|
|
|
2
2
|
import type { BabelPluginOptions } from '@griffel/babel-preset';
|
|
3
3
|
export type PostCSSParserOptions = Pick<postcss.ProcessOptions<postcss.Document | postcss.Root>, 'from' | 'map'>;
|
|
4
4
|
export interface ParserOptions extends Pick<PostCSSParserOptions, 'from'>, BabelPluginOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Throws error when griffel parsing fails
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
silenceParseErrors?: boolean;
|
|
5
10
|
}
|
|
6
11
|
/**
|
|
7
12
|
* Generates CSS rules from a JavaScript file. Each slot in `makeStyles` and each `makeResetStyles` will be one line in the output.
|
package/src/parse.js
CHANGED
|
@@ -10,19 +10,16 @@ const os = require("os");
|
|
|
10
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.
|
|
11
11
|
*/
|
|
12
12
|
const parse = (css, opts) => {
|
|
13
|
-
const { from: filename = 'postcss-syntax.styles.ts' } = opts !== null && opts !== void 0 ? opts : {};
|
|
13
|
+
const { from: filename = 'postcss-syntax.styles.ts', silenceParseErrors = false } = opts !== null && opts !== void 0 ? opts : {};
|
|
14
14
|
const griffelPluginOptions = extractGriffelBabelPluginOptions(opts);
|
|
15
15
|
const code = css.toString();
|
|
16
|
-
const { metadata } = (0, transform_sync_1.default)(code, {
|
|
17
|
-
filename,
|
|
18
|
-
pluginOptions: {
|
|
19
|
-
...griffelPluginOptions,
|
|
20
|
-
generateMetadata: true,
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
const { cssEntries, cssResetEntries, callExpressionLocations, resetLocations, locations, commentDirectives, resetCommentDirectives, } = metadata;
|
|
24
16
|
const cssRuleSlotNames = [];
|
|
25
17
|
const cssRules = [];
|
|
18
|
+
const parseResult = parseGriffelStyles(code, filename, griffelPluginOptions, silenceParseErrors);
|
|
19
|
+
if (!parseResult) {
|
|
20
|
+
return postcss.parse(`/* Failed to parse griffel styles: ${filename} */`, { from: filename });
|
|
21
|
+
}
|
|
22
|
+
const { cssEntries, cssResetEntries, callExpressionLocations, resetLocations, locations, commentDirectives, resetCommentDirectives, } = parseResult;
|
|
26
23
|
Object.entries(cssEntries).forEach(([declarator, slots]) => {
|
|
27
24
|
Object.entries(slots).forEach(([slot, rules]) => {
|
|
28
25
|
var _a, _b;
|
|
@@ -67,6 +64,26 @@ const parse = (css, opts) => {
|
|
|
67
64
|
return root;
|
|
68
65
|
};
|
|
69
66
|
exports.parse = parse;
|
|
67
|
+
function parseGriffelStyles(code, filename, pluginOpts, silenceParseErrors) {
|
|
68
|
+
try {
|
|
69
|
+
const { metadata } = (0, transform_sync_1.default)(code, {
|
|
70
|
+
filename,
|
|
71
|
+
pluginOptions: {
|
|
72
|
+
...pluginOpts,
|
|
73
|
+
generateMetadata: true,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
return metadata;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.warn('Failed to parse Griffel styles');
|
|
80
|
+
console.warn(error);
|
|
81
|
+
if (silenceParseErrors) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
70
87
|
function getIgnoredRulesFromDirectives(commentDirectives) {
|
|
71
88
|
return (commentDirectives
|
|
72
89
|
.filter(([directive]) => directive === 'griffel-csslint-disable')
|
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;AAGrB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/parse.ts"],"names":[],"mappings":"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"}
|