@griffel/postcss-syntax 1.1.4 → 1.2.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@griffel/postcss-syntax",
3
- "version": "1.1.4",
3
+ "version": "1.2.1",
4
4
  "description": "postcss syntax for Griffel",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,10 +9,11 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@babel/core": "^7.23.2",
12
- "@griffel/babel-preset": "^1.6.2",
12
+ "@griffel/babel-preset": "^1.6.4",
13
13
  "@babel/helper-plugin-utils": "^7.22.5",
14
14
  "postcss": "^8.4.29"
15
15
  },
16
16
  "main": "./src/index.js",
17
- "type": "commonjs"
17
+ "type": "commonjs",
18
+ "types": "./src/index.d.ts"
18
19
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSyntax = void 0;
3
+ exports.createSyntax = createSyntax;
4
4
  const parse_1 = require("./parse");
5
5
  const stringify_1 = require("./stringify");
6
6
  /**
@@ -15,5 +15,4 @@ function createSyntax(options) {
15
15
  parse: extendedParse,
16
16
  };
17
17
  }
18
- exports.createSyntax = createSyntax;
19
18
  //# sourceMappingURL=createSyntax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSyntax.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/createSyntax.ts"],"names":[],"mappings":";;;AAGA,mCAAgC;AAChC,2CAAwC;AAExC;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAA2B;IACtD,MAAM,aAAa,GAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEzF,OAAO;QACL,SAAS,EAAT,qBAAS;QACT,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC;AAPD,oCAOC"}
1
+ {"version":3,"file":"createSyntax.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/createSyntax.ts"],"names":[],"mappings":";;AAWA,oCAOC;AAfD,mCAAgC;AAChC,2CAAwC;AAExC;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAA2B;IACtD,MAAM,aAAa,GAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEzF,OAAO;QACL,SAAS,EAAT,qBAAS;QACT,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC"}
package/src/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { createSyntax } from './createSyntax';
5
5
  declare const _default: {
6
6
  parse: (css: string | {
7
7
  toString(): string;
8
- }, opts?: import("./parse").ParserOptions | undefined) => import("postcss").Root;
8
+ }, opts?: import("./parse").ParserOptions) => import("postcss").Root;
9
9
  stringify: import("postcss").Stringifier;
10
10
  };
11
11
  export default _default;
@@ -1,11 +1,22 @@
1
1
  import type { PluginObj, PluginPass, types as t, ConfigAPI } from '@babel/core';
2
2
  import type { BabelPluginOptions } from '@griffel/babel-preset';
3
+ export type CommentDirective = [ /** directive *//** directive */ string, /** value */ string];
4
+ export type CommentDirectivesBySlot = Record</** slot */ string, CommentDirective[]>;
5
+ export type CommentDirectivesByHookDeclarator = Record</** hook declarator */ string, CommentDirectivesBySlot>;
6
+ export type LocationsBySlot = Record</** slot */ string, t.SourceLocation>;
7
+ export type LocationsByHookDeclarator = Record</** hook declarator */ string, LocationsBySlot>;
8
+ export type ResetCommentDirectivesByHookDeclarator = Record</** hook declarator */ string, CommentDirective[]>;
9
+ export type ResetLocationsByHookDeclarator = Record</** hook declarator */ string, t.SourceLocation>;
3
10
  export interface LocationPluginState extends PluginPass {
4
- locations?: Record<string, Record<string, t.SourceLocation>>;
5
- resetLocations?: Record<string, t.SourceLocation>;
11
+ locations?: LocationsByHookDeclarator;
12
+ commentDirectives?: CommentDirectivesByHookDeclarator;
13
+ resetCommentDirectives?: ResetCommentDirectivesByHookDeclarator;
14
+ resetLocations?: ResetLocationsByHookDeclarator;
6
15
  }
7
16
  export interface LocationPluginMetadata {
8
17
  locations: Record<string, Record<string, t.SourceLocation>>;
18
+ commentDirectives: CommentDirectivesByHookDeclarator;
19
+ resetCommentDirectives: ResetCommentDirectivesByHookDeclarator;
9
20
  resetLocations: Record<string, t.SourceLocation>;
10
21
  }
11
22
  export interface LocationPluginOptions extends Pick<BabelPluginOptions, 'modules'> {
@@ -23,6 +23,8 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
23
23
  pre() {
24
24
  this.locations = {};
25
25
  this.resetLocations = {};
26
+ this.commentDirectives = {};
27
+ this.resetCommentDirectives = {};
26
28
  },
27
29
  visitor: {
28
30
  Program: {
@@ -30,11 +32,13 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
30
32
  Object.assign(this.file.metadata, {
31
33
  locations: this.locations,
32
34
  resetLocations: this.resetLocations,
35
+ commentDirectives: this.commentDirectives,
36
+ resetCommentDirectives: this.resetCommentDirectives,
33
37
  });
34
38
  },
35
39
  },
36
40
  CallExpression(path, state) {
37
- var _a;
41
+ var _a, _b, _c;
38
42
  const callee = path.get('callee');
39
43
  const declarator = path.findParent(p => p.isVariableDeclarator());
40
44
  if (!(declarator === null || declarator === void 0 ? void 0 : declarator.isVariableDeclarator())) {
@@ -55,8 +59,8 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
55
59
  }
56
60
  const properties = locations.get('properties');
57
61
  properties.forEach(property => {
58
- var _a, _b;
59
- var _c;
62
+ var _a, _b, _c, _d;
63
+ var _e, _f;
60
64
  if (!property.isObjectProperty()) {
61
65
  return;
62
66
  }
@@ -68,10 +72,16 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
68
72
  return;
69
73
  }
70
74
  (_a = state.locations) !== null && _a !== void 0 ? _a : (state.locations = {});
71
- (_b = (_c = state.locations)[declaratorId]) !== null && _b !== void 0 ? _b : (_c[declaratorId] = {});
75
+ (_b = (_e = state.locations)[declaratorId]) !== null && _b !== void 0 ? _b : (_e[declaratorId] = {});
72
76
  state.locations[declaratorId][key.node.name] = {
73
77
  ...property.node.loc,
74
78
  };
79
+ const commentDirectives = parseCommentDirectives(property.node.leadingComments);
80
+ if (commentDirectives) {
81
+ (_c = state.commentDirectives) !== null && _c !== void 0 ? _c : (state.commentDirectives = {});
82
+ (_d = (_f = state.commentDirectives)[declaratorId]) !== null && _d !== void 0 ? _d : (_f[declaratorId] = {});
83
+ state.commentDirectives[declaratorId][key.node.name] = commentDirectives;
84
+ }
75
85
  });
76
86
  }
77
87
  if (resetFunctionKinds.includes(callee.node.name)) {
@@ -84,11 +94,39 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
84
94
  return;
85
95
  }
86
96
  state.resetLocations[declaratorId] = resetStyles.node.loc;
97
+ // For reset styles we only care about the comment directives on the variable declaration
98
+ // The leading commment can either be attached to a variable declaration of an export declaration (i.e. export const useResetStyles = ...)
99
+ const parentDeclaration = (_b = path.findParent(p => p.isExportNamedDeclaration())) !== null && _b !== void 0 ? _b : path.findParent(p => p.isVariableDeclaration());
100
+ if (parentDeclaration) {
101
+ const commentDirectives = parseCommentDirectives(parentDeclaration.node.leadingComments);
102
+ if (commentDirectives) {
103
+ (_c = state.resetCommentDirectives) !== null && _c !== void 0 ? _c : (state.resetCommentDirectives = {});
104
+ state.resetCommentDirectives[declaratorId] = commentDirectives;
105
+ }
106
+ }
87
107
  }
88
108
  },
89
109
  },
90
110
  };
91
111
  });
112
+ function parseCommentDirectives(leadingComments) {
113
+ if (!leadingComments) {
114
+ return null;
115
+ }
116
+ const entries = leadingComments
117
+ // We don't support comment blocks
118
+ .filter(comment => comment.type === 'CommentLine')
119
+ .map(comment => {
120
+ const commentValue = comment.value.trim();
121
+ if (!commentValue.startsWith('griffel-')) {
122
+ return;
123
+ }
124
+ const tokens = commentValue.split(' ');
125
+ return [tokens[0], tokens[1]];
126
+ })
127
+ .filter(Boolean);
128
+ return entries;
129
+ }
92
130
  exports.default = (babel, options) => {
93
131
  return {
94
132
  plugins: [[plugin, options]],
@@ -1 +1 @@
1
- {"version":3,"file":"location-preset.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/location-preset.ts"],"names":[],"mappings":"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"}
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
@@ -19,18 +19,32 @@ const parse = (css, opts) => {
19
19
  generateMetadata: true,
20
20
  },
21
21
  });
22
- const { cssEntries, cssResetEntries, resetLocations, locations } = metadata;
22
+ const { cssEntries, cssResetEntries, resetLocations, locations, commentDirectives, resetCommentDirectives } = metadata;
23
23
  const cssRuleSlotNames = [];
24
24
  const cssRules = [];
25
- Object.entries(cssEntries).map(([declarator, slots]) => {
26
- Object.entries(slots).map(([slot, rules]) => {
25
+ Object.entries(cssEntries).forEach(([declarator, slots]) => {
26
+ Object.entries(slots).forEach(([slot, rules]) => {
27
+ var _a, _b;
27
28
  cssRuleSlotNames.push(`${declarator} ${slot}`);
28
- cssRules.push(rules.join(''));
29
+ let cssRule = rules.join('');
30
+ const ignoredRules = getIgnoredRulesFromDirectives((_b = (_a = commentDirectives[declarator]) === null || _a === void 0 ? void 0 : _a[slot]) !== null && _b !== void 0 ? _b : []);
31
+ if (ignoredRules.length) {
32
+ const stylelintIgnore = `/* stylelint-disable-line ${ignoredRules.join(',')} */`;
33
+ cssRule = `${cssRule} ${stylelintIgnore}`;
34
+ }
35
+ cssRules.push(cssRule);
29
36
  });
30
37
  });
31
- Object.entries(cssResetEntries).map(([declarator, resetRules]) => {
38
+ Object.entries(cssResetEntries).forEach(([declarator, resetRules]) => {
39
+ var _a;
32
40
  cssRuleSlotNames.push(`${declarator}`);
33
- cssRules.push(resetRules.join(''));
41
+ const ignoredRules = getIgnoredRulesFromDirectives((_a = resetCommentDirectives[declarator]) !== null && _a !== void 0 ? _a : []);
42
+ let cssRule = resetRules.join('');
43
+ if (ignoredRules.length) {
44
+ const stylelintIgnore = `/* stylelint-disable-line ${ignoredRules.join(',')} */`;
45
+ cssRule = `${cssRule} ${stylelintIgnore}`;
46
+ }
47
+ cssRules.push(cssRule);
34
48
  });
35
49
  const root = postcss.parse(cssRules.join('\n'));
36
50
  root.walk(node => {
@@ -51,6 +65,12 @@ const parse = (css, opts) => {
51
65
  return root;
52
66
  };
53
67
  exports.parse = parse;
68
+ function getIgnoredRulesFromDirectives(commentDirectives) {
69
+ return (commentDirectives
70
+ .filter(([directive]) => directive === 'griffel-csslint-disable')
71
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
72
+ .map(([_, rulename]) => rulename));
73
+ }
54
74
  const extractGriffelBabelPluginOptions = (opts = {}) => {
55
75
  const { babelOptions, evaluationRules, generateMetadata, modules } = opts;
56
76
  const babelPluginOptions = {};
package/src/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/parse.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = transformSync;
3
4
  const Babel = require("@babel/core");
4
5
  const babel_preset_1 = require("@griffel/babel-preset");
5
6
  const location_preset_1 = require("./location-preset");
@@ -26,5 +27,4 @@ function transformSync(sourceCode, options) {
26
27
  code: babelFileResult.code,
27
28
  };
28
29
  }
29
- exports.default = transformSync;
30
30
  //# sourceMappingURL=transform-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-sync.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/transform-sync.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AAErC,wDAAkD;AAElD,uDAA+C;AAO/C;;GAEG;AACH,SAAwB,aAAa,CAAC,UAAkB,EAAE,OAAyB;;IACjF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAA,OAAO,CAAC,aAAa,CAAC,YAAY,mCAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAChG,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;QACtD,sDAAsD;QACtD,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,EAAE,CAAC,sBAAa,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,yBAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9G,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,QAAmE;QAC7F,IAAI,EAAE,eAAe,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC;AArBD,gCAqBC"}
1
+ {"version":3,"file":"transform-sync.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/transform-sync.ts"],"names":[],"mappings":";;AAcA,gCAqBC;AAnCD,qCAAqC;AAErC,wDAAkD;AAElD,uDAA+C;AAO/C;;GAEG;AACH,SAAwB,aAAa,CAAC,UAAkB,EAAE,OAAyB;;IACjF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAA,OAAO,CAAC,aAAa,CAAC,YAAY,mCAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAChG,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;QACtD,sDAAsD;QACtD,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,OAAO;QACP,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,EAAE,CAAC,sBAAa,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,yBAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9G,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,QAAmE;QAC7F,IAAI,EAAE,eAAe,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC"}