@griffel/postcss-syntax 1.0.8 → 1.1.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.0.8",
3
+ "version": "1.1.1",
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.5.8",
12
+ "@griffel/babel-preset": "^1.5.9",
13
13
  "@babel/helper-plugin-utils": "^7.22.5",
14
14
  "postcss": "^8.4.29"
15
15
  },
@@ -1,3 +1,5 @@
1
1
  export declare const GRIFFEL_SLOT_RAW = "griffel-slot";
2
2
  export declare const GRIFFEL_SRC_RAW = "griffel-src";
3
3
  export declare const GRIFFEL_DECLARATOR_RAW = "griffel-declarator";
4
+ export declare const GRIFFEL_SLOT_LOCATION_RAW = "griffel-slot-location";
5
+ export declare const GRIFFEL_DECLARATOR_LOCATION_RAW = "griffel-declarator-location";
package/src/constants.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRIFFEL_DECLARATOR_RAW = exports.GRIFFEL_SRC_RAW = exports.GRIFFEL_SLOT_RAW = void 0;
3
+ exports.GRIFFEL_DECLARATOR_LOCATION_RAW = exports.GRIFFEL_SLOT_LOCATION_RAW = exports.GRIFFEL_DECLARATOR_RAW = exports.GRIFFEL_SRC_RAW = exports.GRIFFEL_SLOT_RAW = void 0;
4
4
  exports.GRIFFEL_SLOT_RAW = 'griffel-slot';
5
5
  exports.GRIFFEL_SRC_RAW = 'griffel-src';
6
6
  exports.GRIFFEL_DECLARATOR_RAW = 'griffel-declarator';
7
+ exports.GRIFFEL_SLOT_LOCATION_RAW = 'griffel-slot-location';
8
+ exports.GRIFFEL_DECLARATOR_LOCATION_RAW = 'griffel-declarator-location';
7
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,sBAAsB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,sBAAsB,GAAG,oBAAoB,CAAC;AAC9C,QAAA,yBAAyB,GAAG,uBAAuB,CAAC;AACpD,QAAA,+BAA+B,GAAG,6BAA6B,CAAC"}
package/src/index.d.ts CHANGED
@@ -5,7 +5,8 @@ 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/lib/document").default;
8
+ }, opts?: import("./parse").ParserOptions | undefined) => import("postcss/lib/root").default;
9
9
  stringify: import("postcss").Stringifier;
10
10
  };
11
11
  export default _default;
12
+ export { GRIFFEL_DECLARATOR_LOCATION_RAW, GRIFFEL_SLOT_LOCATION_RAW } from './constants';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSyntax = exports.stringify = exports.parse = void 0;
3
+ exports.GRIFFEL_SLOT_LOCATION_RAW = exports.GRIFFEL_DECLARATOR_LOCATION_RAW = exports.createSyntax = exports.stringify = exports.parse = void 0;
4
4
  const parse_1 = require("./parse");
5
5
  Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
6
6
  const stringify_1 = require("./stringify");
@@ -11,4 +11,7 @@ exports.default = {
11
11
  parse: parse_1.parse,
12
12
  stringify: stringify_1.stringify,
13
13
  };
14
+ var constants_1 = require("./constants");
15
+ Object.defineProperty(exports, "GRIFFEL_DECLARATOR_LOCATION_RAW", { enumerable: true, get: function () { return constants_1.GRIFFEL_DECLARATOR_LOCATION_RAW; } });
16
+ Object.defineProperty(exports, "GRIFFEL_SLOT_LOCATION_RAW", { enumerable: true, get: function () { return constants_1.GRIFFEL_SLOT_LOCATION_RAW; } });
14
17
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGvB,sFAHA,aAAK,OAGA;AAFd,2CAAwC;AAExB,0FAFP,qBAAS,OAEO;AACzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,SAAS,EAAT,qBAAS;CACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/postcss-syntax/src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAGvB,sFAHA,aAAK,OAGA;AAFd,2CAAwC;AAExB,0FAFP,qBAAS,OAEO;AACzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,SAAS,EAAT,qBAAS;CACV,CAAC;AAEF,yCAAyF;AAAhF,4HAAA,+BAA+B,OAAA;AAAE,sHAAA,yBAAyB,OAAA"}
@@ -72,9 +72,6 @@ const plugin = (0, helper_plugin_utils_1.declare)((api, options) => {
72
72
  state.locations[declaratorId][key.node.name] = {
73
73
  ...property.node.loc,
74
74
  };
75
- state.locations[declaratorId][key.node.name] = {
76
- ...property.node.loc,
77
- };
78
75
  });
79
76
  }
80
77
  if (resetFunctionKinds.includes(callee.node.name)) {
@@ -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.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  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
- export interface ParserOptions extends PostCSSParserOptions, BabelPluginOptions {
4
+ export interface ParserOptions extends Pick<PostCSSParserOptions, 'from'>, BabelPluginOptions {
5
5
  }
6
+ /**
7
+ * Generates CSS rules from a JavaScript file. Each slot in `makeStyles` and each `makeResetStyles` will be one line in the output.
8
+ * 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.
9
+ */
6
10
  export declare const parse: (css: string | {
7
11
  toString(): string;
8
- }, opts?: ParserOptions) => postcss.Document;
12
+ }, opts?: ParserOptions) => postcss.Root;
package/src/parse.js CHANGED
@@ -4,9 +4,13 @@ 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
+ /**
8
+ * Generates CSS rules from a JavaScript file. Each slot in `makeStyles` and each `makeResetStyles` will be one line in the output.
9
+ * 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.
10
+ */
7
11
  const parse = (css, opts) => {
8
12
  const { from: filename = 'postcss-syntax.styles.ts' } = opts !== null && opts !== void 0 ? opts : {};
9
- const griffelPluginOptions = extractGrifellBabelPluginOptions(opts);
13
+ const griffelPluginOptions = extractGriffelBabelPluginOptions(opts);
10
14
  const code = css.toString();
11
15
  const { metadata } = (0, transform_sync_1.default)(code, {
12
16
  filename,
@@ -16,91 +20,38 @@ const parse = (css, opts) => {
16
20
  },
17
21
  });
18
22
  const { cssEntries, cssResetEntries, resetLocations, locations } = metadata;
19
- const cssRuleNodes = Object.entries(cssEntries)
20
- .map(([declarator, slots]) => {
21
- return Object.entries(slots).reduce((arr, [slot, rules]) => {
22
- if (!locations[declarator][slot]) {
23
- throw new Error(`No code location for ${declarator}:${slot} - please report a bug`);
24
- }
25
- const location = locations[declarator][slot];
26
- const nodes = rules.map(rule => {
27
- const root = postcss.parse(rule);
28
- root.walk(node => {
29
- node.raws[constants_1.GRIFFEL_SLOT_RAW] = slot;
30
- node.raws[constants_1.GRIFFEL_DECLARATOR_RAW] = declarator;
31
- if (!node.source) {
32
- return;
33
- }
34
- // There's currently no way to to map generated CSS to original JS code
35
- // Mapping each node to the original slot is probably the best we can do for now
36
- node.source.end = {
37
- offset: 0,
38
- column: location.end.column,
39
- line: location.end.line,
40
- };
41
- node.source.start = {
42
- offset: 0,
43
- column: location.start.column,
44
- line: location.start.line,
45
- };
46
- });
47
- return root.nodes[0];
48
- });
49
- return [...arr, ...nodes];
50
- }, []);
51
- })
52
- .flat();
53
- const cssResetRuleNodes = Object.entries(cssResetEntries).map(([declarator, [resetRule]]) => {
54
- if (!resetLocations[declarator]) {
55
- throw new Error(`No code location for ${declarator} - please report a bug`);
56
- }
57
- const location = resetLocations[declarator];
58
- const root = postcss.parse(resetRule);
59
- root.walk(node => {
60
- node.raws[constants_1.GRIFFEL_DECLARATOR_RAW] = declarator;
61
- if (!node.source) {
62
- return;
63
- }
64
- // There's currently no way to to map generated CSS to original JS code through Griffel AOT
65
- // Mapping each node to the original slot is probably the best we can do for now
66
- node.source.end = {
67
- offset: 0,
68
- column: location.end.column,
69
- line: location.end.line,
70
- };
71
- node.source.start = {
72
- offset: 0,
73
- column: location.start.column,
74
- line: location.start.line,
75
- };
23
+ const cssRuleSlotNames = [];
24
+ const cssRules = [];
25
+ Object.entries(cssEntries).map(([declarator, slots]) => {
26
+ Object.entries(slots).map(([slot, rules]) => {
27
+ cssRuleSlotNames.push(`${declarator} ${slot}`);
28
+ cssRules.push(rules.join(''));
76
29
  });
77
- return root.nodes[0];
78
30
  });
79
- const root = new postcss.Root();
80
- const allNodes = cssRuleNodes.concat(cssResetRuleNodes);
81
- for (const rule of allNodes) {
82
- root.append(rule);
83
- }
84
- const doc = new postcss.Document();
85
- root.parent = doc;
86
- // https://github.com/callstack/linaria/blob/911b59b0b8bb7de2accce63ece528841f2b29f4a/packages/postcss-linaria/src/parse.ts#L180
87
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
88
- // @ts-ignore
89
- root.document = doc;
90
- doc.nodes.push(root);
91
- doc.source = {
92
- input: new postcss.Input(code),
93
- start: {
94
- line: 1,
95
- column: 1,
96
- offset: 0,
97
- },
98
- };
99
- doc.raws[constants_1.GRIFFEL_SRC_RAW] = css;
100
- return doc;
31
+ Object.entries(cssResetEntries).map(([declarator, resetRules]) => {
32
+ cssRuleSlotNames.push(`${declarator}`);
33
+ cssRules.push(resetRules.join(''));
34
+ });
35
+ const root = postcss.parse(cssRules.join('\n'));
36
+ root.walk(node => {
37
+ if (!node.source || node.source.start === undefined) {
38
+ return;
39
+ }
40
+ const [declarator, slot] = cssRuleSlotNames[node.source.start.line - 1].split(' ');
41
+ node.raws[constants_1.GRIFFEL_DECLARATOR_RAW] = declarator;
42
+ if (slot) {
43
+ node.raws[constants_1.GRIFFEL_SLOT_RAW] = slot;
44
+ node.raws[constants_1.GRIFFEL_SLOT_LOCATION_RAW] = locations[declarator][slot];
45
+ }
46
+ else {
47
+ node.raws[constants_1.GRIFFEL_DECLARATOR_LOCATION_RAW] = resetLocations[declarator];
48
+ }
49
+ });
50
+ root.raws[constants_1.GRIFFEL_SRC_RAW] = css;
51
+ return root;
101
52
  };
102
53
  exports.parse = parse;
103
- const extractGrifellBabelPluginOptions = (opts = {}) => {
54
+ const extractGriffelBabelPluginOptions = (opts = {}) => {
104
55
  const { babelOptions, evaluationRules, generateMetadata, modules } = opts;
105
56
  const babelPluginOptions = {};
106
57
  if (babelOptions) {
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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"}
@@ -7,27 +7,14 @@ const location_preset_1 = require("./location-preset");
7
7
  * Transforms passed source code with Babel, uses user's config for parsing, but ignores it for transforms.
8
8
  */
9
9
  function transformSync(sourceCode, options) {
10
- // Parse the code first so Babel will use user's babel config for parsing
11
- // During transforms we don't want to use user's config
12
- const babelAST = Babel.parseSync(sourceCode, {
13
- caller: { name: 'griffel' },
14
- filename: options.filename,
15
- sourceMaps: true,
16
- // TODO - we might need to add some babel config in the eslint rule options
17
- // if the user doesn't want to use their normal babel config for this
18
- // but let's only add it if it becomes necessary
19
- });
20
- if (babelAST === null) {
21
- throw new Error(`Failed to create AST for "${options.filename}" due unknown Babel error...`);
22
- }
23
- const babelFileResult = Babel.transformFromAstSync(babelAST, sourceCode, {
10
+ var _a;
11
+ const { plugins, presets } = (_a = options.pluginOptions.babelOptions) !== null && _a !== void 0 ? _a : { plugins: [], presets: [] };
12
+ const babelFileResult = Babel.transformSync(sourceCode, {
24
13
  // Ignore all user's configs and apply only our plugin
25
14
  babelrc: false,
26
15
  configFile: false,
27
- presets: [
28
- [babel_preset_1.default, options.pluginOptions],
29
- [location_preset_1.default, options.pluginOptions],
30
- ],
16
+ plugins,
17
+ presets: [...(presets !== null && presets !== void 0 ? presets : []), [babel_preset_1.default, options.pluginOptions], [location_preset_1.default, options.pluginOptions]],
31
18
  filename: options.filename,
32
19
  sourceFileName: options.filename,
33
20
  });
@@ -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,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE;QAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,IAAI;QAChB,2EAA2E;QAC3E,qEAAqE;QACrE,gDAAgD;KACjD,CAAC,CAAC;IAEH,IAAI,QAAQ,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;KAC9F;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE;QACvE,sDAAsD;QACtD,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE;YACP,CAAC,sBAAa,EAAE,OAAO,CAAC,aAAa,CAAC;YACtC,CAAC,yBAAc,EAAE,OAAO,CAAC,aAAa,CAAC;SACxC;QAED,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;KACzF;IAED,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,QAAmE;QAC7F,IAAI,EAAE,eAAe,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC;AArCD,gCAqCC"}
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;QAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;KACzF;IAED,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,QAAmE;QAC7F,IAAI,EAAE,eAAe,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC;AArBD,gCAqBC"}