@se-studio/contentful-rest-api 1.0.129 → 1.0.131

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @se-studio/contentful-rest-api
2
2
 
3
+ ## 1.0.131
4
+
5
+ ### Patch Changes
6
+
7
+ - Version bump: patch for changed packages
8
+ - Updated dependencies
9
+ - @se-studio/core-data-types@1.0.126
10
+
3
11
  ## 1.0.128
4
12
 
5
13
  ### Patch Changes
@@ -21,6 +21,20 @@ export interface SvgIssue {
21
21
  * @returns Array of issues found (empty = no known problems)
22
22
  */
23
23
  export declare function detectSvgIssues(svgContent: string, iconId: string): SvgIssue[];
24
+ /**
25
+ * Converts CSS class-based fill/stroke rules (e.g. Illustrator's .st0) to
26
+ * inline presentation attributes on the matching elements, then removes the
27
+ * <style> block (and any now-empty <defs>).
28
+ *
29
+ * Only handles simple single-class selectors (.st0 { fill: #xxx }). Complex
30
+ * selectors (child combinators, pseudo-classes, compound classes, etc.) are
31
+ * left untouched — the caller should have already detected CSS_COMPLEX_SELECTORS
32
+ * and decided not to call this function in that case.
33
+ *
34
+ * @param svgContent - Raw SVG markup
35
+ * @returns SVG markup with class-based fills/strokes converted to attributes
36
+ */
37
+ export declare function inlineSvgClassStyles(svgContent: string): string;
24
38
  /**
25
39
  * Fetches SVG content from a URL.
26
40
  * Uses the parent request's cache tags (page-level) for revalidation.
@@ -1 +1 @@
1
- {"version":3,"file":"svgProcessor.d.ts","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,uBAAuB,GACvB,cAAc,GACd,UAAU,GACV,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CA4F9E;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAwB9E"}
1
+ {"version":3,"file":"svgProcessor.d.ts","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,uBAAuB,GACvB,cAAc,GACd,UAAU,GACV,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CA+F9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAuD/D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA0C9E"}
@@ -33,8 +33,11 @@ export function detectSvgIssues(svgContent, iconId) {
33
33
  }
34
34
  // Complex selectors that can't be mechanically inlined
35
35
  // Matches: child/sibling operators (> ~ +), attribute selectors ([...]),
36
- // pseudo-classes (:), compound class selectors (.a.b), element+class (path.x)
37
- if (/[>~+[\]:]|[a-z]\.[\w-]|\.[\w-]+\.[\w-]/i.test(styleContent)) {
36
+ // pseudo-classes (:[a-z], e.g. :hover), compound class selectors (.a.b),
37
+ // element+class (path.x).
38
+ // Note: `:` is only matched when followed by a letter to avoid false-positives
39
+ // from CSS property values such as `fill:#8b6ffe`.
40
+ if (/[>~+[\]]|:[a-zA-Z]|[a-z]\.[\w-]|\.[\w-]+\.[\w-]/i.test(styleContent)) {
38
41
  issues.push({
39
42
  severity: 'warn',
40
43
  code: 'CSS_COMPLEX_SELECTORS',
@@ -91,6 +94,73 @@ export function detectSvgIssues(svgContent, iconId) {
91
94
  }
92
95
  return issues;
93
96
  }
97
+ /**
98
+ * Converts CSS class-based fill/stroke rules (e.g. Illustrator's .st0) to
99
+ * inline presentation attributes on the matching elements, then removes the
100
+ * <style> block (and any now-empty <defs>).
101
+ *
102
+ * Only handles simple single-class selectors (.st0 { fill: #xxx }). Complex
103
+ * selectors (child combinators, pseudo-classes, compound classes, etc.) are
104
+ * left untouched — the caller should have already detected CSS_COMPLEX_SELECTORS
105
+ * and decided not to call this function in that case.
106
+ *
107
+ * @param svgContent - Raw SVG markup
108
+ * @returns SVG markup with class-based fills/strokes converted to attributes
109
+ */
110
+ export function inlineSvgClassStyles(svgContent) {
111
+ const styleBlockMatch = svgContent.match(/<style[^>]*>([\s\S]*?)<\/style>/i);
112
+ if (!styleBlockMatch)
113
+ return svgContent;
114
+ const styleContent = styleBlockMatch[1] ?? '';
115
+ // Build a map of className → { fill?, stroke? } from simple .cls { ... } rules.
116
+ // We skip any rule whose selector contains combinators or pseudo-classes because
117
+ // those can't be mechanically inlined element-by-element.
118
+ const classStyles = {};
119
+ const ruleRegex = /\.([\w-]+)\s*\{([^}]+)\}/g;
120
+ for (const ruleMatch of styleContent.matchAll(ruleRegex)) {
121
+ const className = ruleMatch[1];
122
+ const body = ruleMatch[2];
123
+ if (!className || !body)
124
+ continue;
125
+ const props = {};
126
+ const propRegex = /\b(fill|stroke)\s*:\s*([^;}\s]+)/gi;
127
+ for (const propMatch of body.matchAll(propRegex)) {
128
+ const prop = propMatch[1];
129
+ const value = propMatch[2];
130
+ if (prop && value)
131
+ props[prop.toLowerCase()] = value;
132
+ }
133
+ if (Object.keys(props).length > 0)
134
+ classStyles[className] = props;
135
+ }
136
+ if (Object.keys(classStyles).length === 0)
137
+ return svgContent;
138
+ // Apply the collected styles as presentation attributes on matching elements.
139
+ // Matches any opening tag that carries a class="..." attribute.
140
+ svgContent = svgContent.replace(/(<[a-zA-Z][a-zA-Z0-9]*\b[^>]*?\bclass\s*=\s*["']([^"']*)["'][^>]*?>)/g, (fullTag, _unused, classAttr) => {
141
+ const classes = classAttr.trim().split(/\s+/);
142
+ let extra = '';
143
+ for (const cls of classes) {
144
+ const styles = classStyles[cls];
145
+ if (!styles)
146
+ continue;
147
+ for (const [prop, value] of Object.entries(styles)) {
148
+ // Don't overwrite an existing presentation attribute.
149
+ if (!new RegExp(`\\b${prop}\\s*=`, 'i').test(fullTag)) {
150
+ extra += ` ${prop}="${value}"`;
151
+ }
152
+ }
153
+ }
154
+ if (!extra)
155
+ return fullTag;
156
+ // Insert before the closing > or />.
157
+ return fullTag.replace(/(\s*\/?>)$/, `${extra}$1`);
158
+ });
159
+ // Remove the <style> block and any <defs> that are now empty.
160
+ svgContent = svgContent.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '');
161
+ svgContent = svgContent.replace(/<defs[^>]*>\s*<\/defs>/gi, '');
162
+ return svgContent;
163
+ }
94
164
  /**
95
165
  * Fetches SVG content from a URL.
96
166
  * Uses the parent request's cache tags (page-level) for revalidation.
@@ -117,10 +187,25 @@ export async function fetchSvgContent(url) {
117
187
  * @returns Processed SVG symbol element as a string
118
188
  */
119
189
  export function processSvgForSprite(svgContent, iconId) {
120
- // Warn about known problematic patterns before processing
190
+ // Detect known problematic patterns before processing
121
191
  const issues = detectSvgIssues(svgContent, iconId);
122
- for (const issue of issues) {
123
- console.warn(`[SVG sprite] ${issue.message}`);
192
+ const hasFillStroke = issues.some((i) => i.code === 'CSS_FILL_STROKE');
193
+ const hasComplexSelectors = issues.some((i) => i.code === 'CSS_COMPLEX_SELECTORS');
194
+ if (hasFillStroke && !hasComplexSelectors) {
195
+ // Safe to auto-fix: inline the class-based fills/strokes as presentation attributes.
196
+ svgContent = inlineSvgClassStyles(svgContent);
197
+ // Re-detect on the fixed content so we only warn about issues that remain.
198
+ if (process.env.NODE_ENV === 'development') {
199
+ const remaining = detectSvgIssues(svgContent, iconId).filter((i) => i.code !== 'CSS_FILL_STROKE');
200
+ for (const issue of remaining) {
201
+ console.warn(`[SVG sprite] ${issue.message}`);
202
+ }
203
+ }
204
+ }
205
+ else if (process.env.NODE_ENV === 'development') {
206
+ for (const issue of issues) {
207
+ console.warn(`[SVG sprite] ${issue.message}`);
208
+ }
124
209
  }
125
210
  // Parse the SVG to extract viewBox and content
126
211
  // Handle optional spaces around equals sign
@@ -1 +1 @@
1
- {"version":3,"file":"svgProcessor.js","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,MAAc;IAChE,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,qCAAqC;IACrC,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC7E,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EACL,SAAS,MAAM,gEAAgE;oBAC/E,gFAAgF;oBAChF,uFAAuF;aAC1F,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,yEAAyE;QACzE,8EAA8E;QAC9E,IAAI,yCAAyC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EACL,SAAS,MAAM,qEAAqE;oBACpF,iCAAiC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,IAAI,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,cAAc;gBACpB,OAAO,EACL,SAAS,MAAM,oEAAoE;oBACnF,iEAAiE;aACpE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EACL,SAAS,MAAM,2CAA2C;gBAC1D,2FAA2F;SAC9F,CAAC,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,kFAAkF;IAClF,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EACL,SAAS,MAAM,kEAAkE;gBACjF,qFAAqF;SACxF,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,YAAY;YAClB,OAAO,EACL,SAAS,MAAM,oCAAoC;gBACnD,wEAAwE;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EACL,SAAS,MAAM,0CAA0C;gBACzD,iFAAiF;SACpF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAAc;IACpE,0DAA0D;IAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,+CAA+C;IAC/C,4CAA4C;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAE7D,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,QAAQ,MAAM,EAAE,CAAC;IAClC,OAAO,eAAe,QAAQ,cAAc,OAAO,KAAK,YAAY,WAAW,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"svgProcessor.js","sourceRoot":"","sources":["../../src/converters/svgProcessor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/contentful-rest-api",
3
- "version": "1.0.129",
3
+ "version": "1.0.131",
4
4
  "description": "Type-safe Contentful REST API client with caching and rate limiting for Next.js applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,20 +47,20 @@
47
47
  "url": "https://github.com/Something-Else-Studio/se-core-product/issues"
48
48
  },
49
49
  "dependencies": {
50
- "@contentful/rich-text-types": "^17.2.5",
51
- "contentful": "^11.12.0",
50
+ "@contentful/rich-text-types": "^17.2.7",
51
+ "contentful": "^11.12.1",
52
52
  "server-only": "0.0.1",
53
- "@se-studio/core-data-types": "1.0.125"
53
+ "@se-studio/core-data-types": "1.0.126"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "next": ">=15.5.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@biomejs/biome": "^2.4.10",
60
- "@types/node": "^22.19.15",
61
- "next": "^15.5.14",
59
+ "@biomejs/biome": "^2.4.12",
60
+ "@types/node": "^22.19.17",
61
+ "next": "^15.5.15",
62
62
  "typescript": "^6.0.2",
63
- "vitest": "^4.1.2"
63
+ "vitest": "^4.1.4"
64
64
  },
65
65
  "scripts": {
66
66
  "build": "tsc --project tsconfig.build.json",