@agimon-ai/po-style-system-tooling 0.2.14-alpha.19 → 0.2.14-alpha.20

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/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_stdio = require("./stdio-DZTgEb3-.cjs");
2
+ const require_stdio = require("./stdio-7W52L7gp.cjs");
3
3
  let node_fs = require("node:fs");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_stdio.__toESM(node_path, 1);
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { A as resolveStyleSystemThemePath, B as STYLE_SYSTEM_TYPES, F as TailwindCSSClassesService, P as DEFAULT_STYLE_SYSTEM_CONFIG, a as STYLE_SYSTEM_CLI_NAME, i as createServer$1, o as STYLE_SYSTEM_VERSION, r as generateRestrictedClassesConfig, s as createContainer, t as StdioTransportHandler, w as getAppDesignSystemConfig, y as getBundlerServiceFromConfig, z as log } from "./stdio-BSPlpcZN.mjs";
2
+ import { A as resolveStyleSystemThemePath, B as STYLE_SYSTEM_TYPES, F as TailwindCSSClassesService, P as DEFAULT_STYLE_SYSTEM_CONFIG, a as STYLE_SYSTEM_CLI_NAME, i as createServer$1, o as STYLE_SYSTEM_VERSION, r as generateRestrictedClassesConfig, s as createContainer, t as StdioTransportHandler, w as getAppDesignSystemConfig, y as getBundlerServiceFromConfig, z as log } from "./stdio-Cs3GzGK4.mjs";
3
3
  import { promises } from "node:fs";
4
4
  import path, { join } from "node:path";
5
5
  import { z } from "zod";
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_stdio = require("./stdio-DZTgEb3-.cjs");
2
+ const require_stdio = require("./stdio-7W52L7gp.cjs");
3
3
  let node_fs = require("node:fs");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_stdio.__toESM(node_path, 1);
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as resolveStyleSystemThemePath, B as STYLE_SYSTEM_TYPES, C as launchBrowserWithFallback, D as resetStyleSystemConfigCache, E as hasStyleSystemProjectConfig, F as TailwindCSSClassesService, I as BaseCSSClassesService, L as TemplatesManagerService, M as StoriesIndexService, N as CSSClassesServiceFactory, O as resolveAppDesignSystemConfig, P as DEFAULT_STYLE_SYSTEM_CONFIG, R as isContained, S as BaseBundlerService, T as getSharedComponentTags, _ as createDefaultBundlerService, b as ViteReactNativeBundlerService, c as createStyleSystemModule, d as GetComponentVisualTool, f as GetCSSClassesTool, g as ThemeService, h as ComponentRendererService, i as createServer, j as MAX_STYLE_SYSTEM_VIEWPORT_DIMENSION, k as StyleSystemConfigLoader, l as ListAppComponentsTool, m as GetUiComponentService, n as extractCustomTokenNames, p as ListThemesTool, r as generateRestrictedClassesConfig, s as createContainer, t as StdioTransportHandler, u as ListSharedComponentsTool, v as getBundlerService, w as getAppDesignSystemConfig, x as ViteReactBundlerService, y as getBundlerServiceFromConfig } from "./stdio-BSPlpcZN.mjs";
1
+ import { A as resolveStyleSystemThemePath, B as STYLE_SYSTEM_TYPES, C as launchBrowserWithFallback, D as resetStyleSystemConfigCache, E as hasStyleSystemProjectConfig, F as TailwindCSSClassesService, I as BaseCSSClassesService, L as TemplatesManagerService, M as StoriesIndexService, N as CSSClassesServiceFactory, O as resolveAppDesignSystemConfig, P as DEFAULT_STYLE_SYSTEM_CONFIG, R as isContained, S as BaseBundlerService, T as getSharedComponentTags, _ as createDefaultBundlerService, b as ViteReactNativeBundlerService, c as createStyleSystemModule, d as GetComponentVisualTool, f as GetCSSClassesTool, g as ThemeService, h as ComponentRendererService, i as createServer, j as MAX_STYLE_SYSTEM_VIEWPORT_DIMENSION, k as StyleSystemConfigLoader, l as ListAppComponentsTool, m as GetUiComponentService, n as extractCustomTokenNames, p as ListThemesTool, r as generateRestrictedClassesConfig, s as createContainer, t as StdioTransportHandler, u as ListSharedComponentsTool, v as getBundlerService, w as getAppDesignSystemConfig, x as ViteReactBundlerService, y as getBundlerServiceFromConfig } from "./stdio-Cs3GzGK4.mjs";
2
2
  import { promises } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { createHash, randomUUID } from "node:crypto";
@@ -39,8 +39,6 @@ let storybook_internal_csf_tools = require("storybook/internal/csf-tools");
39
39
  let glob = require("glob");
40
40
  let zod = require("zod");
41
41
  let playwright = require("playwright");
42
- let sharp = require("sharp");
43
- sharp = __toESM(sharp, 1);
44
42
  let node_module = require("node:module");
45
43
  let _tailwindcss_vite = require("@tailwindcss/vite");
46
44
  _tailwindcss_vite = __toESM(_tailwindcss_vite, 1);
@@ -1702,7 +1700,27 @@ async function takeScreenshot(options) {
1702
1700
  path: output,
1703
1701
  fullPage
1704
1702
  });
1705
- const screenshotMetadata = await (0, sharp.default)(screenshotBuffer).metadata();
1703
+ const screenshotMetadata = await page.evaluate(`(async () => {
1704
+ const bytes = Uint8Array.from(atob(${JSON.stringify(screenshotBuffer.toString("base64"))}), (char) => char.charCodeAt(0));
1705
+ const image = await createImageBitmap(new Blob([bytes]));
1706
+ try {
1707
+ const result = { width: image.width, height: image.height };
1708
+ if (${generateThumbnail}) {
1709
+ const width = ${JSON.stringify(thumbnailWidth)};
1710
+ const quality = ${JSON.stringify(thumbnailQuality)};
1711
+ if (!Number.isSafeInteger(width) || width <= 0 || !Number.isInteger(quality) || quality < 1 || quality > 100)
1712
+ throw new Error('Invalid thumbnail width or quality.');
1713
+ const canvas = document.createElement('canvas');
1714
+ canvas.width = width;
1715
+ canvas.height = Math.max(1, Math.round(image.height * width / image.width));
1716
+ canvas.getContext('2d').drawImage(image, 0, 0, canvas.width, canvas.height);
1717
+ result.thumbnail = canvas.toDataURL('image/jpeg', quality / 100).split(',')[1];
1718
+ }
1719
+ return result;
1720
+ } finally {
1721
+ image.close();
1722
+ }
1723
+ })()`);
1706
1724
  const result = {
1707
1725
  imagePath: output,
1708
1726
  width: screenshotMetadata.width ?? width,
@@ -1711,7 +1729,7 @@ async function takeScreenshot(options) {
1711
1729
  if (generateThumbnail) {
1712
1730
  const ext = node_path.default.extname(output);
1713
1731
  const thumbnailPath = output.replace(ext, `-thumb${ext}`);
1714
- await (0, sharp.default)(screenshotBuffer).resize(thumbnailWidth).jpeg({ quality: thumbnailQuality }).toFile(thumbnailPath.replace(ext, ".jpg"));
1732
+ await (0, node_fs_promises.writeFile)(thumbnailPath.replace(ext, ".jpg"), Buffer.from(screenshotMetadata.thumbnail, "base64"));
1715
1733
  result.thumbnailPath = thumbnailPath.replace(ext, ".jpg");
1716
1734
  }
1717
1735
  if (base64) result.base64 = screenshotBuffer.toString("base64");
@@ -2669,10 +2687,8 @@ mount();
2669
2687
  const __dirname$1 = (0, node_path.dirname)((0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href));
2670
2688
  const REACT_NATIVE_PACKAGE = "react-native";
2671
2689
  const REACT_NATIVE_WEB_PACKAGE = "react-native-web";
2672
- const REACT_NATIVE_INDEX_SUBPATH = "react-native/index.js";
2673
2690
  const REACT_NATIVE_UNISTYLES_PACKAGE = "react-native-unistyles";
2674
2691
  const REACT_NATIVE_UNISTYLES_BABEL_PLUGIN = "react-native-unistyles/plugin";
2675
- const REACT_NATIVE_REANIMATED_PACKAGE = "react-native-reanimated";
2676
2692
  const REACT_NATIVE_REANIMATED_BABEL_PLUGIN = "react-native-reanimated/plugin";
2677
2693
  const BABEL_CORE_PACKAGE = "@babel/core";
2678
2694
  const BABEL_PLUGIN_SYNTAX_JSX = "@babel/plugin-syntax-jsx";
@@ -2686,8 +2702,7 @@ const APP_SOURCE_ALIAS = "@";
2686
2702
  const APP_SOURCE_DIR = "src";
2687
2703
  const VITE_PLUGIN_ENFORCE_PRE = "pre";
2688
2704
  const VITE_REACT_NATIVE_BUNDLER_ID = "vite-react-native";
2689
- const REACT_NATIVE_REDIRECT_PLUGIN_NAME = "vite-redirect-react-native";
2690
- const REACT_NATIVE_REANIMATED_REDIRECT_PLUGIN_NAME = "vite-redirect-react-native-reanimated";
2705
+ const REACT_NATIVE_OPTIMIZE_DEPS_PLUGIN_NAME = "vite-react-native-optimize-deps";
2691
2706
  const EXPO_ICONS_REDIRECT_PLUGIN_NAME = "vite-redirect-expo-vector-icons";
2692
2707
  const NATIVE_BABEL_TRANSFORM_PLUGIN_NAME = "vite-react-native-babel";
2693
2708
  const EXPO_VECTOR_ICONS_RESOLVED_MODULE_PREFIX = `\0virtual:style-system-expo-vector-icons`;
@@ -2698,10 +2713,8 @@ const EXPO_VECTOR_ICONS_SHIM_FILE = "expo-vector-icons.ts";
2698
2713
  const EXPO_SYMBOLS_SHIM_FILE = "expo-symbols.ts";
2699
2714
  const REQUIRED_REACT_NATIVE_SHIM_FILES = [EXPO_VECTOR_ICONS_SHIM_FILE, EXPO_SYMBOLS_SHIM_FILE];
2700
2715
  const PACKAGE_JSON_SUBPATH = "package.json";
2701
- const REACT_NATIVE_WEB_DIST_INDEX = "dist/index.js";
2702
2716
  const REACT_NATIVE_UNISTYLES_WEB_INDEX = "lib/module/index.js";
2703
2717
  const REACT_NATIVE_UNISTYLES_NATIVE_COMPONENTS = "lib/module/components/native";
2704
- const REACT_NATIVE_REANIMATED_WEB_INDEX = "lib/module/index.js";
2705
2718
  const EXPO_VECTOR_ICONS_GLYPHMAP_DIR = "build/vendor/react-native-vector-icons/glyphmaps";
2706
2719
  const EXPO_VECTOR_ICONS_FONT_DIR = "build/vendor/react-native-vector-icons/Fonts";
2707
2720
  const GLYPHMAP_EXTENSION = ".json";
@@ -2987,13 +3000,11 @@ var ViteReactNativeBundlerService = class ViteReactNativeBundlerService extends
2987
3000
  return VITE_REACT_NATIVE_BUNDLER_ID;
2988
3001
  }
2989
3002
  getAdditionalVitePlugins(appPath) {
2990
- const reactNativeWebEntry = appPath ? node_path.default.join(resolvePackageDirFrom(appPath, REACT_NATIVE_WEB_PACKAGE), REACT_NATIVE_WEB_DIST_INDEX) : null;
2991
- const reactNativeReanimatedEntry = appPath ? node_path.default.join(resolvePackageDirFrom(appPath, REACT_NATIVE_REANIMATED_PACKAGE), REACT_NATIVE_REANIMATED_WEB_INDEX) : null;
2992
3003
  return [
2993
3004
  {
2994
- name: REACT_NATIVE_REDIRECT_PLUGIN_NAME,
2995
- enforce: VITE_PLUGIN_ENFORCE_PRE,
2996
- config: () => ({ optimizeDeps: {
3005
+ name: REACT_NATIVE_OPTIMIZE_DEPS_PLUGIN_NAME,
3006
+ config: (config) => ({ optimizeDeps: {
3007
+ rolldownOptions: { resolve: { extensions: config.resolve?.extensions } },
2997
3008
  exclude: [
2998
3009
  "@react-native-segmented-control/segmented-control",
2999
3010
  SAFE_AREA_CONTEXT_PACKAGE,
@@ -3002,19 +3013,7 @@ var ViteReactNativeBundlerService = class ViteReactNativeBundlerService extends
3002
3013
  "react-native-gesture-handler"
3003
3014
  ],
3004
3015
  include: ["react-native-gesture-handler > hoist-non-react-statics", "react-native-gesture-handler > invariant"]
3005
- } }),
3006
- resolveId(source) {
3007
- if (source === REACT_NATIVE_PACKAGE || source === REACT_NATIVE_INDEX_SUBPATH) return reactNativeWebEntry;
3008
- return null;
3009
- }
3010
- },
3011
- {
3012
- name: REACT_NATIVE_REANIMATED_REDIRECT_PLUGIN_NAME,
3013
- enforce: VITE_PLUGIN_ENFORCE_PRE,
3014
- resolveId(source) {
3015
- if (source === REACT_NATIVE_REANIMATED_PACKAGE) return reactNativeReanimatedEntry;
3016
- return null;
3017
- }
3016
+ } })
3018
3017
  },
3019
3018
  createExpoTypeDeclarationStubPlugin(),
3020
3019
  createSvgComponentPlugin(),
@@ -3086,13 +3085,9 @@ const styleSystemSafeAreaMetrics = {
3086
3085
  replacement: node_path.default.join(appPath, APP_SOURCE_DIR)
3087
3086
  },
3088
3087
  {
3089
- find: REACT_NATIVE_PACKAGE,
3088
+ find: /^react-native$/,
3090
3089
  replacement: reactNativeWebDir
3091
3090
  },
3092
- {
3093
- find: REACT_NATIVE_INDEX_SUBPATH,
3094
- replacement: node_path.default.join(reactNativeWebDir, REACT_NATIVE_WEB_DIST_INDEX)
3095
- },
3096
3091
  {
3097
3092
  find: /^react-native-unistyles\/components\/native\/(.+)$/,
3098
3093
  replacement: node_path.default.join(reactNativeUnistylesDir, REACT_NATIVE_UNISTYLES_NATIVE_COMPONENTS, "$1.js")
@@ -4753,7 +4748,7 @@ function createContainer(options) {
4753
4748
  }
4754
4749
  //#endregion
4755
4750
  //#region package.json
4756
- var version = "0.2.14-alpha.19";
4751
+ var version = "0.2.14-alpha.20";
4757
4752
  //#endregion
4758
4753
  //#region src/metadata.ts
4759
4754
  const STYLE_SYSTEM_CLI_NAME = "style-system";
@@ -6,6 +6,7 @@ import path, { dirname } from "node:path";
6
6
  import os, * as os$1 from "node:os";
7
7
  import pino from "pino";
8
8
  import * as fs from "node:fs/promises";
9
+ import { writeFile } from "node:fs/promises";
9
10
  import * as yaml from "js-yaml";
10
11
  import postcss from "postcss";
11
12
  import { createHash, randomUUID } from "node:crypto";
@@ -13,7 +14,6 @@ import { loadCsf } from "storybook/internal/csf-tools";
13
14
  import { glob } from "glob";
14
15
  import { z } from "zod";
15
16
  import { chromium, firefox, webkit } from "playwright";
16
- import sharp from "sharp";
17
17
  import tailwindcss from "@tailwindcss/vite";
18
18
  import { viteSingleFile } from "vite-plugin-singlefile";
19
19
  import { fileURLToPath } from "node:url";
@@ -1675,7 +1675,27 @@ async function takeScreenshot(options) {
1675
1675
  path: output,
1676
1676
  fullPage
1677
1677
  });
1678
- const screenshotMetadata = await sharp(screenshotBuffer).metadata();
1678
+ const screenshotMetadata = await page.evaluate(`(async () => {
1679
+ const bytes = Uint8Array.from(atob(${JSON.stringify(screenshotBuffer.toString("base64"))}), (char) => char.charCodeAt(0));
1680
+ const image = await createImageBitmap(new Blob([bytes]));
1681
+ try {
1682
+ const result = { width: image.width, height: image.height };
1683
+ if (${generateThumbnail}) {
1684
+ const width = ${JSON.stringify(thumbnailWidth)};
1685
+ const quality = ${JSON.stringify(thumbnailQuality)};
1686
+ if (!Number.isSafeInteger(width) || width <= 0 || !Number.isInteger(quality) || quality < 1 || quality > 100)
1687
+ throw new Error('Invalid thumbnail width or quality.');
1688
+ const canvas = document.createElement('canvas');
1689
+ canvas.width = width;
1690
+ canvas.height = Math.max(1, Math.round(image.height * width / image.width));
1691
+ canvas.getContext('2d').drawImage(image, 0, 0, canvas.width, canvas.height);
1692
+ result.thumbnail = canvas.toDataURL('image/jpeg', quality / 100).split(',')[1];
1693
+ }
1694
+ return result;
1695
+ } finally {
1696
+ image.close();
1697
+ }
1698
+ })()`);
1679
1699
  const result = {
1680
1700
  imagePath: output,
1681
1701
  width: screenshotMetadata.width ?? width,
@@ -1684,7 +1704,7 @@ async function takeScreenshot(options) {
1684
1704
  if (generateThumbnail) {
1685
1705
  const ext = path.extname(output);
1686
1706
  const thumbnailPath = output.replace(ext, `-thumb${ext}`);
1687
- await sharp(screenshotBuffer).resize(thumbnailWidth).jpeg({ quality: thumbnailQuality }).toFile(thumbnailPath.replace(ext, ".jpg"));
1707
+ await writeFile(thumbnailPath.replace(ext, ".jpg"), Buffer.from(screenshotMetadata.thumbnail, "base64"));
1688
1708
  result.thumbnailPath = thumbnailPath.replace(ext, ".jpg");
1689
1709
  }
1690
1710
  if (base64) result.base64 = screenshotBuffer.toString("base64");
@@ -2642,10 +2662,8 @@ mount();
2642
2662
  const __dirname = dirname(fileURLToPath(import.meta.url));
2643
2663
  const REACT_NATIVE_PACKAGE = "react-native";
2644
2664
  const REACT_NATIVE_WEB_PACKAGE = "react-native-web";
2645
- const REACT_NATIVE_INDEX_SUBPATH = "react-native/index.js";
2646
2665
  const REACT_NATIVE_UNISTYLES_PACKAGE = "react-native-unistyles";
2647
2666
  const REACT_NATIVE_UNISTYLES_BABEL_PLUGIN = "react-native-unistyles/plugin";
2648
- const REACT_NATIVE_REANIMATED_PACKAGE = "react-native-reanimated";
2649
2667
  const REACT_NATIVE_REANIMATED_BABEL_PLUGIN = "react-native-reanimated/plugin";
2650
2668
  const BABEL_CORE_PACKAGE = "@babel/core";
2651
2669
  const BABEL_PLUGIN_SYNTAX_JSX = "@babel/plugin-syntax-jsx";
@@ -2659,8 +2677,7 @@ const APP_SOURCE_ALIAS = "@";
2659
2677
  const APP_SOURCE_DIR = "src";
2660
2678
  const VITE_PLUGIN_ENFORCE_PRE = "pre";
2661
2679
  const VITE_REACT_NATIVE_BUNDLER_ID = "vite-react-native";
2662
- const REACT_NATIVE_REDIRECT_PLUGIN_NAME = "vite-redirect-react-native";
2663
- const REACT_NATIVE_REANIMATED_REDIRECT_PLUGIN_NAME = "vite-redirect-react-native-reanimated";
2680
+ const REACT_NATIVE_OPTIMIZE_DEPS_PLUGIN_NAME = "vite-react-native-optimize-deps";
2664
2681
  const EXPO_ICONS_REDIRECT_PLUGIN_NAME = "vite-redirect-expo-vector-icons";
2665
2682
  const NATIVE_BABEL_TRANSFORM_PLUGIN_NAME = "vite-react-native-babel";
2666
2683
  const EXPO_VECTOR_ICONS_RESOLVED_MODULE_PREFIX = `\0virtual:style-system-expo-vector-icons`;
@@ -2671,10 +2688,8 @@ const EXPO_VECTOR_ICONS_SHIM_FILE = "expo-vector-icons.ts";
2671
2688
  const EXPO_SYMBOLS_SHIM_FILE = "expo-symbols.ts";
2672
2689
  const REQUIRED_REACT_NATIVE_SHIM_FILES = [EXPO_VECTOR_ICONS_SHIM_FILE, EXPO_SYMBOLS_SHIM_FILE];
2673
2690
  const PACKAGE_JSON_SUBPATH = "package.json";
2674
- const REACT_NATIVE_WEB_DIST_INDEX = "dist/index.js";
2675
2691
  const REACT_NATIVE_UNISTYLES_WEB_INDEX = "lib/module/index.js";
2676
2692
  const REACT_NATIVE_UNISTYLES_NATIVE_COMPONENTS = "lib/module/components/native";
2677
- const REACT_NATIVE_REANIMATED_WEB_INDEX = "lib/module/index.js";
2678
2693
  const EXPO_VECTOR_ICONS_GLYPHMAP_DIR = "build/vendor/react-native-vector-icons/glyphmaps";
2679
2694
  const EXPO_VECTOR_ICONS_FONT_DIR = "build/vendor/react-native-vector-icons/Fonts";
2680
2695
  const GLYPHMAP_EXTENSION = ".json";
@@ -2960,13 +2975,11 @@ var ViteReactNativeBundlerService = class ViteReactNativeBundlerService extends
2960
2975
  return VITE_REACT_NATIVE_BUNDLER_ID;
2961
2976
  }
2962
2977
  getAdditionalVitePlugins(appPath) {
2963
- const reactNativeWebEntry = appPath ? path.join(resolvePackageDirFrom(appPath, REACT_NATIVE_WEB_PACKAGE), REACT_NATIVE_WEB_DIST_INDEX) : null;
2964
- const reactNativeReanimatedEntry = appPath ? path.join(resolvePackageDirFrom(appPath, REACT_NATIVE_REANIMATED_PACKAGE), REACT_NATIVE_REANIMATED_WEB_INDEX) : null;
2965
2978
  return [
2966
2979
  {
2967
- name: REACT_NATIVE_REDIRECT_PLUGIN_NAME,
2968
- enforce: VITE_PLUGIN_ENFORCE_PRE,
2969
- config: () => ({ optimizeDeps: {
2980
+ name: REACT_NATIVE_OPTIMIZE_DEPS_PLUGIN_NAME,
2981
+ config: (config) => ({ optimizeDeps: {
2982
+ rolldownOptions: { resolve: { extensions: config.resolve?.extensions } },
2970
2983
  exclude: [
2971
2984
  "@react-native-segmented-control/segmented-control",
2972
2985
  SAFE_AREA_CONTEXT_PACKAGE,
@@ -2975,19 +2988,7 @@ var ViteReactNativeBundlerService = class ViteReactNativeBundlerService extends
2975
2988
  "react-native-gesture-handler"
2976
2989
  ],
2977
2990
  include: ["react-native-gesture-handler > hoist-non-react-statics", "react-native-gesture-handler > invariant"]
2978
- } }),
2979
- resolveId(source) {
2980
- if (source === REACT_NATIVE_PACKAGE || source === REACT_NATIVE_INDEX_SUBPATH) return reactNativeWebEntry;
2981
- return null;
2982
- }
2983
- },
2984
- {
2985
- name: REACT_NATIVE_REANIMATED_REDIRECT_PLUGIN_NAME,
2986
- enforce: VITE_PLUGIN_ENFORCE_PRE,
2987
- resolveId(source) {
2988
- if (source === REACT_NATIVE_REANIMATED_PACKAGE) return reactNativeReanimatedEntry;
2989
- return null;
2990
- }
2991
+ } })
2991
2992
  },
2992
2993
  createExpoTypeDeclarationStubPlugin(),
2993
2994
  createSvgComponentPlugin(),
@@ -3059,13 +3060,9 @@ const styleSystemSafeAreaMetrics = {
3059
3060
  replacement: path.join(appPath, APP_SOURCE_DIR)
3060
3061
  },
3061
3062
  {
3062
- find: REACT_NATIVE_PACKAGE,
3063
+ find: /^react-native$/,
3063
3064
  replacement: reactNativeWebDir
3064
3065
  },
3065
- {
3066
- find: REACT_NATIVE_INDEX_SUBPATH,
3067
- replacement: path.join(reactNativeWebDir, REACT_NATIVE_WEB_DIST_INDEX)
3068
- },
3069
3066
  {
3070
3067
  find: /^react-native-unistyles\/components\/native\/(.+)$/,
3071
3068
  replacement: path.join(reactNativeUnistylesDir, REACT_NATIVE_UNISTYLES_NATIVE_COMPONENTS, "$1.js")
@@ -4726,7 +4723,7 @@ function createContainer(options) {
4726
4723
  }
4727
4724
  //#endregion
4728
4725
  //#region package.json
4729
- var version = "0.2.14-alpha.19";
4726
+ var version = "0.2.14-alpha.20";
4730
4727
  //#endregion
4731
4728
  //#region src/metadata.ts
4732
4729
  const STYLE_SYSTEM_CLI_NAME = "style-system";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agimon-ai/po-style-system-tooling",
3
- "version": "0.2.14-alpha.19",
3
+ "version": "0.2.14-alpha.20",
4
4
  "description": "MCP server for exploring themes, Tailwind CSS classes, and UI components from Storybook with standalone component rendering capabilities",
5
5
  "keywords": [
6
6
  "design-system",
@@ -40,8 +40,8 @@
40
40
  "access": "public"
41
41
  },
42
42
  "dependencies": {
43
- "@agimon-ai/foundation-exec": "0.27.13",
44
- "@agimon-ai/foundation-validator": "0.27.13",
43
+ "@agimon-ai/foundation-exec": "0.27.14",
44
+ "@agimon-ai/foundation-validator": "0.27.14",
45
45
  "@modelcontextprotocol/node": "2.1.1",
46
46
  "@modelcontextprotocol/server": "2.3.1",
47
47
  "@tailwindcss/vite": "4.3.3",
@@ -50,16 +50,16 @@
50
50
  "commander": "15.0.0",
51
51
  "glob": "13.0.6",
52
52
  "inversify": "8.2.3",
53
- "js-yaml": "5.4.3",
53
+ "js-yaml": "5.5.0",
54
54
  "pino": "10.4.0",
55
- "playwright": "^1.64.0",
56
- "postcss": "8.5.29",
55
+ "playwright": "^1.64.1",
56
+ "postcss": "8.5.30",
57
57
  "reflect-metadata": "0.2.2",
58
- "sharp": "0.35.4",
59
- "storybook": "10.6.1",
58
+ "sharp": "0.35.5",
59
+ "storybook": "10.6.2",
60
60
  "tailwindcss": "4.3.3",
61
61
  "vite": "8.3.4",
62
- "vite-plugin-singlefile": "^2.3.3"
62
+ "vite-plugin-singlefile": "^2.3.4"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@babel/parser": "8.0.7",
@@ -72,8 +72,8 @@
72
72
  "@types/react-dom": "19.3.0",
73
73
  "@vitest/coverage-v8": "4.1.10",
74
74
  "esbuild": "0.28.2",
75
- "react": "19.3.0",
76
- "react-dom": "19.3.0",
75
+ "react": "19.3.1",
76
+ "react-dom": "19.3.1",
77
77
  "react-native-web": "0.21.4",
78
78
  "tsdown": "0.23.1",
79
79
  "typescript": "6.0.3",