@powerlines/plugin-tamagui 0.1.243 → 0.1.244

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.
@@ -0,0 +1,29 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) {
13
+ __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ }
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+
27
+ //#endregion
28
+
29
+ exports.__toESM = __toESM;
package/dist/index.cjs CHANGED
@@ -1,40 +1,12 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
- //#region rolldown:runtime
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
12
- key = keys[i];
13
- if (!__hasOwnProp.call(to, key) && key !== except) {
14
- __defProp(to, key, {
15
- get: ((k) => from[k]).bind(null, key),
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- }
19
- }
20
- }
21
- return to;
22
- };
23
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
- value: mod,
25
- enumerable: true
26
- }) : target, mod));
27
-
28
- //#endregion
29
- require('./plugin-DHXHjv16.cjs');
30
- require('./types-DHkg7xmX.cjs');
2
+ const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
31
3
  let __stryke_fs_resolve = require("@stryke/fs/resolve");
32
4
  let __stryke_hash_neutral = require("@stryke/hash/neutral");
33
5
  let __stryke_path_join = require("@stryke/path/join");
34
6
  let __tamagui_static_worker = require("@tamagui/static-worker");
35
- __tamagui_static_worker = __toESM(__tamagui_static_worker);
7
+ __tamagui_static_worker = require_rolldown_runtime.__toESM(__tamagui_static_worker);
36
8
  let defu = require("defu");
37
- defu = __toESM(defu);
9
+ defu = require_rolldown_runtime.__toESM(defu);
38
10
  let powerlines_plugin_utils_get_config_path = require("powerlines/plugin-utils/get-config-path");
39
11
  let powerlines_plugin_utils_paths = require("powerlines/plugin-utils/paths");
40
12
  let vite = require("vite");
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "./plugin-CaOhv_gj.cjs";
2
- import "./index-CEgs-Dz2.cjs";
1
+ import { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig } from "./types/plugin.cjs";
2
+ import "./types/index.cjs";
3
3
  import { Plugin } from "powerlines/types/plugin";
4
4
 
5
5
  //#region src/index.d.ts
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "./plugin-EesHacfe.mjs";
2
- import "./index-BgAdqTbb.mjs";
1
+ import { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig } from "./types/plugin.mjs";
2
+ import "./types/index.mjs";
3
3
  import { Plugin } from "powerlines/types/plugin";
4
4
 
5
5
  //#region src/index.d.ts
package/dist/index.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./plugin-C3MaN5jp.mjs";
2
- import "./types-CTUnla4x.mjs";
3
1
  import { resolvePackage } from "@stryke/fs/resolve";
4
2
  import { murmurhash } from "@stryke/hash/neutral";
5
3
  import { joinPaths } from "@stryke/path/join";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["server: ViteDevServer | null","alias: BuildResolvedConfig[\"alias\"]","extracted: ExtractedResponse | null"],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { murmurhash } from \"@stryke/hash/neutral\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport type { ExtractedResponse, TamaguiOptions } from \"@tamagui/static-worker\";\nimport * as Static from \"@tamagui/static-worker\";\nimport {\n getPragmaOptions,\n loadTamaguiBuildConfig\n} from \"@tamagui/static-worker\";\nimport defu from \"defu\";\nimport { getConfigPath } from \"powerlines/plugin-utils/get-config-path\";\nimport { replacePathTokens } from \"powerlines/plugin-utils/paths\";\nimport {\n BuildResolvedConfig,\n ViteResolvedBuildConfig\n} from \"powerlines/types/build\";\nimport { EnvironmentConfig } from \"powerlines/types/config\";\nimport { Plugin } from \"powerlines/types/plugin\";\nimport { transformWithEsbuild, ViteDevServer } from \"vite\";\nimport { TamaguiPluginContext, TamaguiPluginOptions } from \"./types/plugin\";\n\nexport * from \"./types\";\n\n/**\n * Tamagui plugin for Powerlines.\n *\n * @param options - The Tamagui plugin user configuration options.\n * @returns A Powerlines plugin that integrates Tamagui into an existing Powerlines project.\n */\nexport const plugin = <\n TContext extends TamaguiPluginContext = TamaguiPluginContext\n>(\n options: TamaguiPluginOptions = {}\n): Plugin<TContext> => {\n let memoryCache = {} as Record<string, { code: string; map?: any }>;\n let cacheSize = 0;\n\n const clearCompilerCache = () => {\n memoryCache = {};\n cacheSize = 0;\n };\n\n const cssMap = new Map<string, string>();\n let server: ViteDevServer | null = null;\n\n return {\n name: \"tamagui\",\n async config() {\n const configPath = getConfigPath(this, \"tamagui\");\n\n const tamaguiOptions = await loadTamaguiBuildConfig(\n defu(\n {\n ...options,\n components: [joinPaths(\"{projectRoot}\", \"src/components\")]\n },\n {\n config: configPath,\n disableExtraction: false,\n platform: \"web\" as const,\n logTimings:\n this.config.logLevel === \"debug\" ||\n this.config.logLevel === \"trace\",\n prefixLogs: \"Powerlines\"\n } as Partial<TamaguiOptions>\n )\n );\n\n const alias: BuildResolvedConfig[\"alias\"] = [];\n if (tamaguiOptions.platform !== \"native\") {\n alias.push({\n find: \"react-native/Libraries/Renderer/shims/ReactFabric\",\n replacement:\n (await resolvePackage(\"@tamagui/proxy-worm\")) ||\n \"@tamagui/proxy-worm\"\n });\n\n alias.push({\n find: \"react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry\",\n replacement:\n (await resolvePackage(\"@tamagui/proxy-worm\")) ||\n \"@tamagui/proxy-worm\"\n });\n alias.push({\n find: \"react-native-svg\",\n replacement:\n (await resolvePackage(\"react-native-svg\")) || \"react-native-svg\"\n });\n\n if (tamaguiOptions?.useReactNativeWebLite) {\n alias.push({\n find: \"react-native\",\n replacement:\n (await resolvePackage(\"react-native-web-lite\")) ||\n \"react-native-web-lite\"\n });\n\n const reactNativeWebLite =\n (await resolvePackage(\n tamaguiOptions?.useReactNativeWebLite === \"without-animated\"\n ? \"@tamagui/react-native-web-lite/without-animated\"\n : \"@tamagui/react-native-web-lite\"\n )) || tamaguiOptions?.useReactNativeWebLite === \"without-animated\"\n ? \"@tamagui/react-native-web-lite/without-animated\"\n : \"@tamagui/react-native-web-lite\";\n alias.push({\n find: /^react-native$/,\n replacement: reactNativeWebLite\n });\n\n alias.push({\n find: /^react-native\\/(.+)$/,\n replacement: `${reactNativeWebLite}/$1`\n });\n alias.push({\n find: /^react-native-web$/,\n replacement: reactNativeWebLite\n });\n alias.push({\n find: /^react-native-web\\/(.+)$/,\n replacement: `${reactNativeWebLite}/$1`\n });\n\n alias.push({\n find: /react-native.*\\/dist\\/exports\\/StyleSheet\\/compiler\\/createReactDOMStyle/,\n replacement:\n (await resolvePackage(\n \"@tamagui/react-native-web-lite/dist/exports/StyleSheet/compiler/createReactDOMStyle\"\n )) ||\n \"@tamagui/react-native-web-lite/dist/exports/StyleSheet/compiler/createReactDOMStyle\"\n });\n }\n }\n\n return {\n tamagui: tamaguiOptions,\n build: {\n platform: \"browser\",\n extensions: [\n `.web.mjs`,\n `.web.js`,\n `.web.jsx`,\n `.web.ts`,\n `.web.tsx`,\n \".mjs\",\n \".js\",\n \".mts\",\n \".ts\",\n \".jsx\",\n \".tsx\",\n \".json\"\n ],\n define: {\n _frameTimestamp: undefined,\n _WORKLET: false,\n __DEV__: `${this.config.mode === \"development\"}`,\n \"process.env.NODE_ENV\": JSON.stringify(\n process.env.NODE_ENV || this.config.mode\n ),\n \"process.env.ENABLE_RSC\": JSON.stringify(\n process.env.ENABLE_RSC || \"\"\n ),\n \"process.env.ENABLE_STEPS\": JSON.stringify(\n process.env.ENABLE_STEPS || \"\"\n ),\n \"process.env.IS_STATIC\": JSON.stringify(false),\n ...(this.config.mode === \"production\" && {\n \"process.env.TAMAGUI_OPTIMIZE_THEMES\": JSON.stringify(true)\n })\n },\n alias\n }\n };\n },\n configEnvironment(name: string, environment: EnvironmentConfig) {\n if (environment.consumer === \"client\" || name === \"client\") {\n return {\n build: {\n define: {\n \"process.env.TAMAGUI_IS_CLIENT\": JSON.stringify(true),\n \"process.env.TAMAGUI_ENVIRONMENT\": '\"client\"'\n }\n }\n };\n }\n\n return null;\n },\n configResolved() {\n if (\n !this.config.tamagui.components ||\n this.config.tamagui.components.length === 0\n ) {\n throw new Error(\n `Tamagui Plugin: No components paths defined in Tamagui configuration. Please ensure that the 'components' option is set correctly.`\n );\n }\n\n this.config.tamagui.components = this.config.tamagui.components\n .map(path => replacePathTokens(this, path))\n .filter(Boolean);\n\n if (this.config.build.variant === \"vite\") {\n (this.config.build as ViteResolvedBuildConfig).optimizeDeps ??= {};\n (this.config.build as ViteResolvedBuildConfig).optimizeDeps!.include ??=\n [];\n (\n this.config.build as ViteResolvedBuildConfig\n ).optimizeDeps!.include!.push(\"@tamagui/core/inject-styles\");\n }\n },\n async resolveId(id: string) {\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" || this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n const [validId, query] = id.split(\"?\");\n if (!validId?.endsWith(\".tamagui.css\")) {\n return;\n }\n\n // Absolute paths seem to occur often in monorepos, where files are\n // imported from outside the config root.\n let absoluteId = id;\n if (!id.startsWith(this.config.projectRoot)) {\n absoluteId = joinPaths(this.config.projectRoot, validId);\n }\n\n // There should always be an entry in the `cssMap` here.\n // The only valid scenario for a missing one is if someone had written\n // a file in their app using the .tamagui.js/.tamagui.css extension\n if (cssMap.has(absoluteId)) {\n // Keep the original query string for HMR.\n return absoluteId + (query ? `?${query}` : \"\");\n }\n\n return null;\n },\n async load(id) {\n if (this.config?.tamagui?.disableExtraction) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" || this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n return;\n }\n\n const [validId] = id.split(\"?\");\n\n return validId ? cssMap.get(validId) : null;\n },\n transform: {\n order: \"pre\",\n async handler(code, id) {\n if (id.includes(\"expo-linear-gradient\")) {\n return transformWithEsbuild(code, id, {\n loader: \"jsx\",\n jsx: \"automatic\"\n });\n }\n\n if (this.config?.tamagui?.disableExtraction) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" ||\n this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n return;\n }\n\n const [validId] = id.split(\"?\");\n if (!validId?.endsWith(\".tsx\")) {\n return;\n }\n\n const firstCommentIndex = code.indexOf(\"// \");\n const { shouldDisable, shouldPrintDebug } = await getPragmaOptions({\n source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : \"\",\n path: validId\n });\n\n if (shouldPrintDebug) {\n this.trace(\n `Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}\\n\\nOriginal source:\\n${code}\\n\\n`\n );\n }\n\n if (shouldDisable) {\n return;\n }\n\n const cacheKey = murmurhash({\n cacheEnv:\n this.environment.name === \"client\" ||\n this.environment.name === \"ssr\"\n ? // same cache key for ssr and web since they are the same\n \"web\"\n : this.environment.name,\n code,\n id\n });\n\n const cached = memoryCache[cacheKey];\n if (cached) {\n return cached;\n }\n\n let extracted: ExtractedResponse | null;\n try {\n extracted = await Static.extractToClassNames({\n source: code,\n sourcePath: validId,\n options: this.config.tamagui,\n shouldPrintDebug\n });\n } catch (err) {\n // Log the error but don't fail the build - just skip optimization\n this.error(err instanceof Error ? err.message : String(err));\n return;\n }\n\n if (!extracted) {\n return;\n }\n\n const rootRelativeId = `${validId}.tamagui.css`;\n\n let absoluteId = rootRelativeId;\n if (!absoluteId.startsWith(this.config.projectRoot)) {\n absoluteId = joinPaths(this.config.projectRoot, rootRelativeId);\n }\n\n let source = extracted.js;\n if (extracted.styles) {\n this.addWatchFile(rootRelativeId);\n\n if (server && cssMap.has(absoluteId)) {\n if (server) {\n const { moduleGraph } = server;\n const modules = moduleGraph.getModulesByFile(rootRelativeId);\n\n if (modules) {\n for (const module of modules) {\n moduleGraph.invalidateModule(module);\n\n // Vite uses this timestamp to add `?t=` query string automatically for HMR.\n module.lastHMRTimestamp =\n module.lastInvalidationTimestamp || Date.now();\n }\n }\n }\n }\n\n source = `${source.toString()}\\nimport \"${rootRelativeId}\";`;\n cssMap.set(absoluteId, extracted.styles);\n }\n\n const result = {\n code: source.toString(),\n map: extracted.map\n };\n\n cacheSize += result.code.length;\n // ~50Mb cache for recently compiler files\n if (cacheSize > 26214400) {\n clearCompilerCache();\n }\n\n memoryCache[cacheKey] = result;\n\n return result;\n }\n },\n async finalize() {\n // Only destroy the pool at the very end of the entire build\n await Static?.destroyPool();\n },\n vite: {\n configureServer(_server) {\n server = _server;\n }\n }\n } as Plugin<TContext>;\n};\n\nexport default plugin;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["server: ViteDevServer | null","alias: BuildResolvedConfig[\"alias\"]","extracted: ExtractedResponse | null"],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { murmurhash } from \"@stryke/hash/neutral\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport type { ExtractedResponse, TamaguiOptions } from \"@tamagui/static-worker\";\nimport * as Static from \"@tamagui/static-worker\";\nimport {\n getPragmaOptions,\n loadTamaguiBuildConfig\n} from \"@tamagui/static-worker\";\nimport defu from \"defu\";\nimport { getConfigPath } from \"powerlines/plugin-utils/get-config-path\";\nimport { replacePathTokens } from \"powerlines/plugin-utils/paths\";\nimport {\n BuildResolvedConfig,\n ViteResolvedBuildConfig\n} from \"powerlines/types/build\";\nimport { EnvironmentConfig } from \"powerlines/types/config\";\nimport { Plugin } from \"powerlines/types/plugin\";\nimport { transformWithEsbuild, ViteDevServer } from \"vite\";\nimport { TamaguiPluginContext, TamaguiPluginOptions } from \"./types/plugin\";\n\nexport * from \"./types\";\n\n/**\n * Tamagui plugin for Powerlines.\n *\n * @param options - The Tamagui plugin user configuration options.\n * @returns A Powerlines plugin that integrates Tamagui into an existing Powerlines project.\n */\nexport const plugin = <\n TContext extends TamaguiPluginContext = TamaguiPluginContext\n>(\n options: TamaguiPluginOptions = {}\n): Plugin<TContext> => {\n let memoryCache = {} as Record<string, { code: string; map?: any }>;\n let cacheSize = 0;\n\n const clearCompilerCache = () => {\n memoryCache = {};\n cacheSize = 0;\n };\n\n const cssMap = new Map<string, string>();\n let server: ViteDevServer | null = null;\n\n return {\n name: \"tamagui\",\n async config() {\n const configPath = getConfigPath(this, \"tamagui\");\n\n const tamaguiOptions = await loadTamaguiBuildConfig(\n defu(\n {\n ...options,\n components: [joinPaths(\"{projectRoot}\", \"src/components\")]\n },\n {\n config: configPath,\n disableExtraction: false,\n platform: \"web\" as const,\n logTimings:\n this.config.logLevel === \"debug\" ||\n this.config.logLevel === \"trace\",\n prefixLogs: \"Powerlines\"\n } as Partial<TamaguiOptions>\n )\n );\n\n const alias: BuildResolvedConfig[\"alias\"] = [];\n if (tamaguiOptions.platform !== \"native\") {\n alias.push({\n find: \"react-native/Libraries/Renderer/shims/ReactFabric\",\n replacement:\n (await resolvePackage(\"@tamagui/proxy-worm\")) ||\n \"@tamagui/proxy-worm\"\n });\n\n alias.push({\n find: \"react-native/Libraries/Renderer/shims/ReactNativeViewConfigRegistry\",\n replacement:\n (await resolvePackage(\"@tamagui/proxy-worm\")) ||\n \"@tamagui/proxy-worm\"\n });\n alias.push({\n find: \"react-native-svg\",\n replacement:\n (await resolvePackage(\"react-native-svg\")) || \"react-native-svg\"\n });\n\n if (tamaguiOptions?.useReactNativeWebLite) {\n alias.push({\n find: \"react-native\",\n replacement:\n (await resolvePackage(\"react-native-web-lite\")) ||\n \"react-native-web-lite\"\n });\n\n const reactNativeWebLite =\n (await resolvePackage(\n tamaguiOptions?.useReactNativeWebLite === \"without-animated\"\n ? \"@tamagui/react-native-web-lite/without-animated\"\n : \"@tamagui/react-native-web-lite\"\n )) || tamaguiOptions?.useReactNativeWebLite === \"without-animated\"\n ? \"@tamagui/react-native-web-lite/without-animated\"\n : \"@tamagui/react-native-web-lite\";\n alias.push({\n find: /^react-native$/,\n replacement: reactNativeWebLite\n });\n\n alias.push({\n find: /^react-native\\/(.+)$/,\n replacement: `${reactNativeWebLite}/$1`\n });\n alias.push({\n find: /^react-native-web$/,\n replacement: reactNativeWebLite\n });\n alias.push({\n find: /^react-native-web\\/(.+)$/,\n replacement: `${reactNativeWebLite}/$1`\n });\n\n alias.push({\n find: /react-native.*\\/dist\\/exports\\/StyleSheet\\/compiler\\/createReactDOMStyle/,\n replacement:\n (await resolvePackage(\n \"@tamagui/react-native-web-lite/dist/exports/StyleSheet/compiler/createReactDOMStyle\"\n )) ||\n \"@tamagui/react-native-web-lite/dist/exports/StyleSheet/compiler/createReactDOMStyle\"\n });\n }\n }\n\n return {\n tamagui: tamaguiOptions,\n build: {\n platform: \"browser\",\n extensions: [\n `.web.mjs`,\n `.web.js`,\n `.web.jsx`,\n `.web.ts`,\n `.web.tsx`,\n \".mjs\",\n \".js\",\n \".mts\",\n \".ts\",\n \".jsx\",\n \".tsx\",\n \".json\"\n ],\n define: {\n _frameTimestamp: undefined,\n _WORKLET: false,\n __DEV__: `${this.config.mode === \"development\"}`,\n \"process.env.NODE_ENV\": JSON.stringify(\n process.env.NODE_ENV || this.config.mode\n ),\n \"process.env.ENABLE_RSC\": JSON.stringify(\n process.env.ENABLE_RSC || \"\"\n ),\n \"process.env.ENABLE_STEPS\": JSON.stringify(\n process.env.ENABLE_STEPS || \"\"\n ),\n \"process.env.IS_STATIC\": JSON.stringify(false),\n ...(this.config.mode === \"production\" && {\n \"process.env.TAMAGUI_OPTIMIZE_THEMES\": JSON.stringify(true)\n })\n },\n alias\n }\n };\n },\n configEnvironment(name: string, environment: EnvironmentConfig) {\n if (environment.consumer === \"client\" || name === \"client\") {\n return {\n build: {\n define: {\n \"process.env.TAMAGUI_IS_CLIENT\": JSON.stringify(true),\n \"process.env.TAMAGUI_ENVIRONMENT\": '\"client\"'\n }\n }\n };\n }\n\n return null;\n },\n configResolved() {\n if (\n !this.config.tamagui.components ||\n this.config.tamagui.components.length === 0\n ) {\n throw new Error(\n `Tamagui Plugin: No components paths defined in Tamagui configuration. Please ensure that the 'components' option is set correctly.`\n );\n }\n\n this.config.tamagui.components = this.config.tamagui.components\n .map(path => replacePathTokens(this, path))\n .filter(Boolean);\n\n if (this.config.build.variant === \"vite\") {\n (this.config.build as ViteResolvedBuildConfig).optimizeDeps ??= {};\n (this.config.build as ViteResolvedBuildConfig).optimizeDeps!.include ??=\n [];\n (\n this.config.build as ViteResolvedBuildConfig\n ).optimizeDeps!.include!.push(\"@tamagui/core/inject-styles\");\n }\n },\n async resolveId(id: string) {\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" || this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n const [validId, query] = id.split(\"?\");\n if (!validId?.endsWith(\".tamagui.css\")) {\n return;\n }\n\n // Absolute paths seem to occur often in monorepos, where files are\n // imported from outside the config root.\n let absoluteId = id;\n if (!id.startsWith(this.config.projectRoot)) {\n absoluteId = joinPaths(this.config.projectRoot, validId);\n }\n\n // There should always be an entry in the `cssMap` here.\n // The only valid scenario for a missing one is if someone had written\n // a file in their app using the .tamagui.js/.tamagui.css extension\n if (cssMap.has(absoluteId)) {\n // Keep the original query string for HMR.\n return absoluteId + (query ? `?${query}` : \"\");\n }\n\n return null;\n },\n async load(id) {\n if (this.config?.tamagui?.disableExtraction) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" || this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n return;\n }\n\n const [validId] = id.split(\"?\");\n\n return validId ? cssMap.get(validId) : null;\n },\n transform: {\n order: \"pre\",\n async handler(code, id) {\n if (id.includes(\"expo-linear-gradient\")) {\n return transformWithEsbuild(code, id, {\n loader: \"jsx\",\n jsx: \"automatic\"\n });\n }\n\n if (this.config?.tamagui?.disableExtraction) {\n // only optimize on client - server should produce identical styles anyway!\n return;\n }\n\n if (\n this.environment?.name &&\n (this.environment.name === \"ios\" ||\n this.environment.name === \"android\")\n ) {\n return;\n }\n\n if (\n this.config?.tamagui?.disableServerOptimization &&\n this.environment?.name &&\n this.environment.name !== \"client\"\n ) {\n return;\n }\n\n const [validId] = id.split(\"?\");\n if (!validId?.endsWith(\".tsx\")) {\n return;\n }\n\n const firstCommentIndex = code.indexOf(\"// \");\n const { shouldDisable, shouldPrintDebug } = await getPragmaOptions({\n source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : \"\",\n path: validId\n });\n\n if (shouldPrintDebug) {\n this.trace(\n `Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}\\n\\nOriginal source:\\n${code}\\n\\n`\n );\n }\n\n if (shouldDisable) {\n return;\n }\n\n const cacheKey = murmurhash({\n cacheEnv:\n this.environment.name === \"client\" ||\n this.environment.name === \"ssr\"\n ? // same cache key for ssr and web since they are the same\n \"web\"\n : this.environment.name,\n code,\n id\n });\n\n const cached = memoryCache[cacheKey];\n if (cached) {\n return cached;\n }\n\n let extracted: ExtractedResponse | null;\n try {\n extracted = await Static.extractToClassNames({\n source: code,\n sourcePath: validId,\n options: this.config.tamagui,\n shouldPrintDebug\n });\n } catch (err) {\n // Log the error but don't fail the build - just skip optimization\n this.error(err instanceof Error ? err.message : String(err));\n return;\n }\n\n if (!extracted) {\n return;\n }\n\n const rootRelativeId = `${validId}.tamagui.css`;\n\n let absoluteId = rootRelativeId;\n if (!absoluteId.startsWith(this.config.projectRoot)) {\n absoluteId = joinPaths(this.config.projectRoot, rootRelativeId);\n }\n\n let source = extracted.js;\n if (extracted.styles) {\n this.addWatchFile(rootRelativeId);\n\n if (server && cssMap.has(absoluteId)) {\n if (server) {\n const { moduleGraph } = server;\n const modules = moduleGraph.getModulesByFile(rootRelativeId);\n\n if (modules) {\n for (const module of modules) {\n moduleGraph.invalidateModule(module);\n\n // Vite uses this timestamp to add `?t=` query string automatically for HMR.\n module.lastHMRTimestamp =\n module.lastInvalidationTimestamp || Date.now();\n }\n }\n }\n }\n\n source = `${source.toString()}\\nimport \"${rootRelativeId}\";`;\n cssMap.set(absoluteId, extracted.styles);\n }\n\n const result = {\n code: source.toString(),\n map: extracted.map\n };\n\n cacheSize += result.code.length;\n // ~50Mb cache for recently compiler files\n if (cacheSize > 26214400) {\n clearCompilerCache();\n }\n\n memoryCache[cacheKey] = result;\n\n return result;\n }\n },\n async finalize() {\n // Only destroy the pool at the very end of the entire build\n await Static?.destroyPool();\n },\n vite: {\n configureServer(_server) {\n server = _server;\n }\n }\n } as Plugin<TContext>;\n};\n\nexport default plugin;\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- require('../plugin-DHXHjv16.cjs');
2
- require('../types-DHkg7xmX.cjs');
@@ -1,3 +1,2 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "../plugin-CaOhv_gj.cjs";
2
- import "../index-CEgs-Dz2.cjs";
1
+ import { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig } from "./plugin.cjs";
3
2
  export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
@@ -1,3 +1,2 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "../plugin-EesHacfe.mjs";
2
- import "../index-BgAdqTbb.mjs";
1
+ import { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig } from "./plugin.mjs";
3
2
  export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
@@ -1,4 +1 @@
1
- import "../plugin-C3MaN5jp.mjs";
2
- import "../types-CTUnla4x.mjs";
3
-
4
1
  export { };
@@ -1 +0,0 @@
1
- require('../plugin-DHXHjv16.cjs');
@@ -1,2 +1,37 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "../plugin-CaOhv_gj.cjs";
2
- export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
1
+ import { TamaguiOptions } from "@tamagui/types";
2
+ import { UserConfig } from "powerlines/types/config";
3
+ import { PluginContext } from "powerlines/types/context";
4
+ import { ResolvedConfig } from "powerlines/types/resolved";
5
+
6
+ //#region src/types/plugin.d.ts
7
+ type TamaguiPluginOptions = Partial<TamaguiOptions> & {
8
+ /**
9
+ * The target platform for the Tamagui build.
10
+ *
11
+ * @defaultValue "web"
12
+ */
13
+ platform?: "web" | "native";
14
+ /**
15
+ * An array of component paths to include in the Tamagui build.
16
+ *
17
+ * @remarks
18
+ * These paths can include glob patterns to match multiple files or directories and placeholder tokens (the `replacePathTokens` function will be applied to allow for dynamic path resolution).
19
+ *
20
+ * @defaultValue ["\{sourceRoot\}/components"]
21
+ */
22
+ components?: string[];
23
+ };
24
+ interface TamaguiPluginUserConfig extends UserConfig {
25
+ tamagui: TamaguiPluginOptions;
26
+ }
27
+ interface TamaguiPluginResolvedConfig extends ResolvedConfig {
28
+ tamagui: TamaguiOptions & Required<Pick<TamaguiPluginOptions, "platform">>;
29
+ }
30
+ type TamaguiPluginContext<TResolvedConfig extends TamaguiPluginResolvedConfig = TamaguiPluginResolvedConfig> = PluginContext<TResolvedConfig>;
31
+ declare type __ΩTamaguiPluginOptions = any[];
32
+ declare type __ΩTamaguiPluginUserConfig = any[];
33
+ declare type __ΩTamaguiPluginResolvedConfig = any[];
34
+ declare type __ΩTamaguiPluginContext = any[];
35
+ //#endregion
36
+ export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
37
+ //# sourceMappingURL=plugin.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;;KAuBY,oBAAA,GAAuB,QAAQ;;AAA3C;AAmBA;AAIA;;EAC0C,QAAA,CAAA,EAAA,KAAA,GAAA,QAAA;EAAL;;;;AAGrC;;;;EAGI,UAAA,CAAA,EAAA,MAAA,EAAA;CAAa;UAXA,uBAAA,SAAgC;WACtC;;UAGM,2BAAA,SAAoC;WAC1C,iBAAiB,SAAS,KAAK;;KAG9B,6CAER,8BAA8B,+BAC9B,cAAc"}
@@ -1,2 +1,37 @@
1
- import { a as __ΩTamaguiPluginContext, c as __ΩTamaguiPluginUserConfig, i as TamaguiPluginUserConfig, n as TamaguiPluginOptions, o as __ΩTamaguiPluginOptions, r as TamaguiPluginResolvedConfig, s as __ΩTamaguiPluginResolvedConfig, t as TamaguiPluginContext } from "../plugin-EesHacfe.mjs";
2
- export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
1
+ import { TamaguiOptions } from "@tamagui/types";
2
+ import { UserConfig } from "powerlines/types/config";
3
+ import { PluginContext } from "powerlines/types/context";
4
+ import { ResolvedConfig } from "powerlines/types/resolved";
5
+
6
+ //#region src/types/plugin.d.ts
7
+ type TamaguiPluginOptions = Partial<TamaguiOptions> & {
8
+ /**
9
+ * The target platform for the Tamagui build.
10
+ *
11
+ * @defaultValue "web"
12
+ */
13
+ platform?: "web" | "native";
14
+ /**
15
+ * An array of component paths to include in the Tamagui build.
16
+ *
17
+ * @remarks
18
+ * These paths can include glob patterns to match multiple files or directories and placeholder tokens (the `replacePathTokens` function will be applied to allow for dynamic path resolution).
19
+ *
20
+ * @defaultValue ["\{sourceRoot\}/components"]
21
+ */
22
+ components?: string[];
23
+ };
24
+ interface TamaguiPluginUserConfig extends UserConfig {
25
+ tamagui: TamaguiPluginOptions;
26
+ }
27
+ interface TamaguiPluginResolvedConfig extends ResolvedConfig {
28
+ tamagui: TamaguiOptions & Required<Pick<TamaguiPluginOptions, "platform">>;
29
+ }
30
+ type TamaguiPluginContext<TResolvedConfig extends TamaguiPluginResolvedConfig = TamaguiPluginResolvedConfig> = PluginContext<TResolvedConfig>;
31
+ declare type __ΩTamaguiPluginOptions = any[];
32
+ declare type __ΩTamaguiPluginUserConfig = any[];
33
+ declare type __ΩTamaguiPluginResolvedConfig = any[];
34
+ declare type __ΩTamaguiPluginContext = any[];
35
+ //#endregion
36
+ export { TamaguiPluginContext, TamaguiPluginOptions, TamaguiPluginResolvedConfig, TamaguiPluginUserConfig, __ΩTamaguiPluginContext, __ΩTamaguiPluginOptions, __ΩTamaguiPluginResolvedConfig, __ΩTamaguiPluginUserConfig };
37
+ //# sourceMappingURL=plugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;;KAuBY,oBAAA,GAAuB,QAAQ;;AAA3C;AAmBA;AAIA;;EAC0C,QAAA,CAAA,EAAA,KAAA,GAAA,QAAA;EAAL;;;;AAGrC;;;;EAGI,UAAA,CAAA,EAAA,MAAA,EAAA;CAAa;UAXA,uBAAA,SAAgC;WACtC;;UAGM,2BAAA,SAAoC;WAC1C,iBAAiB,SAAS,KAAK;;KAG9B,6CAER,8BAA8B,+BAC9B,cAAc"}
@@ -1,3 +1 @@
1
- import "../plugin-C3MaN5jp.mjs";
2
-
3
1
  export { };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-tamagui",
3
- "version": "0.1.243",
3
+ "version": "0.1.244",
4
4
  "type": "module",
5
5
  "description": "A package containing the Tamagui plugin for Powerlines.",
6
6
  "repository": {
@@ -94,16 +94,16 @@
94
94
  "@stryke/path": "^0.26.4",
95
95
  "@tamagui/static-worker": "^1.144.3",
96
96
  "defu": "^6.1.4",
97
- "powerlines": "^0.38.20",
97
+ "powerlines": "^0.38.21",
98
98
  "typescript": "^5.9.3",
99
99
  "vite": "8.0.0-beta.2"
100
100
  },
101
101
  "devDependencies": {
102
- "@powerlines/plugin-plugin": "^0.12.204",
102
+ "@powerlines/plugin-plugin": "^0.12.205",
103
103
  "@tamagui/types": "^1.144.3",
104
104
  "@types/node": "^24.10.9"
105
105
  },
106
106
  "publishConfig": { "access": "public" },
107
107
  "types": "./dist/index.d.cts",
108
- "gitHead": "54a89805dd69f77013ebbd3282232563d7af4e7b"
108
+ "gitHead": "6000a15bf3fbc1b7eaaf967088c68eef9949786a"
109
109
  }
@@ -1 +0,0 @@
1
- export { };
@@ -1 +0,0 @@
1
- export { };
@@ -1 +0,0 @@
1
- export { };
@@ -1,37 +0,0 @@
1
- import { TamaguiOptions } from "@tamagui/types";
2
- import { UserConfig } from "powerlines/types/config";
3
- import { PluginContext } from "powerlines/types/context";
4
- import { ResolvedConfig } from "powerlines/types/resolved";
5
-
6
- //#region src/types/plugin.d.ts
7
- type TamaguiPluginOptions = Partial<TamaguiOptions> & {
8
- /**
9
- * The target platform for the Tamagui build.
10
- *
11
- * @defaultValue "web"
12
- */
13
- platform?: "web" | "native";
14
- /**
15
- * An array of component paths to include in the Tamagui build.
16
- *
17
- * @remarks
18
- * These paths can include glob patterns to match multiple files or directories and placeholder tokens (the `replacePathTokens` function will be applied to allow for dynamic path resolution).
19
- *
20
- * @defaultValue ["\{sourceRoot\}/components"]
21
- */
22
- components?: string[];
23
- };
24
- interface TamaguiPluginUserConfig extends UserConfig {
25
- tamagui: TamaguiPluginOptions;
26
- }
27
- interface TamaguiPluginResolvedConfig extends ResolvedConfig {
28
- tamagui: TamaguiOptions & Required<Pick<TamaguiPluginOptions, "platform">>;
29
- }
30
- type TamaguiPluginContext<TResolvedConfig extends TamaguiPluginResolvedConfig = TamaguiPluginResolvedConfig> = PluginContext<TResolvedConfig>;
31
- declare type __ΩTamaguiPluginOptions = any[];
32
- declare type __ΩTamaguiPluginUserConfig = any[];
33
- declare type __ΩTamaguiPluginResolvedConfig = any[];
34
- declare type __ΩTamaguiPluginContext = any[];
35
- //#endregion
36
- export { __ΩTamaguiPluginContext as a, __ΩTamaguiPluginUserConfig as c, TamaguiPluginUserConfig as i, TamaguiPluginOptions as n, __ΩTamaguiPluginOptions as o, TamaguiPluginResolvedConfig as r, __ΩTamaguiPluginResolvedConfig as s, TamaguiPluginContext as t };
37
- //# sourceMappingURL=plugin-CaOhv_gj.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-CaOhv_gj.d.cts","names":[],"sources":["../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;;KAuBY,oBAAA,GAAuB,QAAQ;;AAA3C;AAmBA;AAIA;;EAC0C,QAAA,CAAA,EAAA,KAAA,GAAA,QAAA;EAAL;;;;AAGrC;;;;EAGI,UAAA,CAAA,EAAA,MAAA,EAAA;CAAa;UAXA,uBAAA,SAAgC;WACtC;;UAGM,2BAAA,SAAoC;WAC1C,iBAAiB,SAAS,KAAK;;KAG9B,6CAER,8BAA8B,+BAC9B,cAAc"}
File without changes
@@ -1,37 +0,0 @@
1
- import { TamaguiOptions } from "@tamagui/types";
2
- import { UserConfig } from "powerlines/types/config";
3
- import { PluginContext } from "powerlines/types/context";
4
- import { ResolvedConfig } from "powerlines/types/resolved";
5
-
6
- //#region src/types/plugin.d.ts
7
- type TamaguiPluginOptions = Partial<TamaguiOptions> & {
8
- /**
9
- * The target platform for the Tamagui build.
10
- *
11
- * @defaultValue "web"
12
- */
13
- platform?: "web" | "native";
14
- /**
15
- * An array of component paths to include in the Tamagui build.
16
- *
17
- * @remarks
18
- * These paths can include glob patterns to match multiple files or directories and placeholder tokens (the `replacePathTokens` function will be applied to allow for dynamic path resolution).
19
- *
20
- * @defaultValue ["\{sourceRoot\}/components"]
21
- */
22
- components?: string[];
23
- };
24
- interface TamaguiPluginUserConfig extends UserConfig {
25
- tamagui: TamaguiPluginOptions;
26
- }
27
- interface TamaguiPluginResolvedConfig extends ResolvedConfig {
28
- tamagui: TamaguiOptions & Required<Pick<TamaguiPluginOptions, "platform">>;
29
- }
30
- type TamaguiPluginContext<TResolvedConfig extends TamaguiPluginResolvedConfig = TamaguiPluginResolvedConfig> = PluginContext<TResolvedConfig>;
31
- declare type __ΩTamaguiPluginOptions = any[];
32
- declare type __ΩTamaguiPluginUserConfig = any[];
33
- declare type __ΩTamaguiPluginResolvedConfig = any[];
34
- declare type __ΩTamaguiPluginContext = any[];
35
- //#endregion
36
- export { __ΩTamaguiPluginContext as a, __ΩTamaguiPluginUserConfig as c, TamaguiPluginUserConfig as i, TamaguiPluginOptions as n, __ΩTamaguiPluginOptions as o, TamaguiPluginResolvedConfig as r, __ΩTamaguiPluginResolvedConfig as s, TamaguiPluginContext as t };
37
- //# sourceMappingURL=plugin-EesHacfe.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-EesHacfe.d.mts","names":[],"sources":["../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;;KAuBY,oBAAA,GAAuB,QAAQ;;AAA3C;AAmBA;AAIA;;EAC0C,QAAA,CAAA,EAAA,KAAA,GAAA,QAAA;EAAL;;;;AAGrC;;;;EAGI,UAAA,CAAA,EAAA,MAAA,EAAA;CAAa;UAXA,uBAAA,SAAgC;WACtC;;UAGM,2BAAA,SAAoC;WAC1C,iBAAiB,SAAS,KAAK;;KAG9B,6CAER,8BAA8B,+BAC9B,cAAc"}
@@ -1 +0,0 @@
1
- export { };
File without changes