@tamagui/vite-plugin 2.0.0-rc.3 → 2.0.0-rc.30

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.
@@ -1 +0,0 @@
1
- {"version":3,"names":["KEYS","cache","size","pending","MAX_CACHE_SIZE","getGlobal","key","defaultValue","globalThis","setGlobal","value","getCache","getCached","setCache","entry","newSize","js","length","clearCache","getPending","Map","getPendingExtraction","get","setPendingExtraction","promise","set","clearPendingExtraction","delete"],"sources":["../../src/cache.ts"],"sourcesContent":[null],"mappings":"AAiBA,MAAMA,IAAA,GAAO;IACXC,KAAA,EAAO;IACPC,IAAA,EAAM;IACNC,OAAA,EAAS;EACX;EAGMC,cAAA,GAAiB;AAEvB,SAASC,UAAaC,GAAA,EAAaC,YAAA,EAAoB;EACrD,OAAKC,UAAA,CAAmBF,GAAG,MAAM,WAC7BE,UAAA,CAAmBF,GAAG,IAAIC,YAAA,GAEtBC,UAAA,CAAmBF,GAAG;AAChC;AAEA,SAASG,UAAaH,GAAA,EAAaI,KAAA,EAAgB;EAC/CF,UAAA,CAAmBF,GAAG,IAAII,KAAA;AAC9B;AAKO,SAASC,SAAA,EAAuC;EACrD,OAAON,SAAA,CAAUL,IAAA,CAAKC,KAAA,EAAO,CAAC,CAAC;AACjC;AAKO,SAASW,UAAUN,GAAA,EAAqC;EAC7D,OAAOK,QAAA,CAAS,EAAEL,GAAG;AACvB;AAMO,SAASO,SAASP,GAAA,EAAaQ,KAAA,EAAyB;EAC7D,MAAMb,KAAA,GAAQU,QAAA,CAAS;IAEjBI,OAAA,GADcV,SAAA,CAAkBL,IAAA,CAAKE,IAAA,EAAM,CAAC,IACpBY,KAAA,CAAME,EAAA,CAAGC,MAAA;EAEnCF,OAAA,GAAUX,cAAA,GACZc,UAAA,CAAW,IAEXT,SAAA,CAAUT,IAAA,CAAKE,IAAA,EAAMa,OAAO,GAG9Bd,KAAA,CAAMK,GAAG,IAAIQ,KAAA;AACf;AAKO,SAASI,WAAA,EAAmB;EACjCT,SAAA,CAAUT,IAAA,CAAKC,KAAA,EAAO,CAAC,CAAC,GACxBQ,SAAA,CAAUT,IAAA,CAAKE,IAAA,EAAM,CAAC;AACxB;AAMO,SAASiB,WAAA,EAAsD;EACpE,OAAOd,SAAA,CAAUL,IAAA,CAAKG,OAAA,EAAS,mBAAIiB,GAAA,CAAI,CAAC;AAC1C;AAKO,SAASC,qBACdf,GAAA,EACwC;EACxC,OAAOa,UAAA,CAAW,EAAEG,GAAA,CAAIhB,GAAG;AAC7B;AAKO,SAASiB,qBACdjB,GAAA,EACAkB,OAAA,EACM;EACNL,UAAA,CAAW,EAAEM,GAAA,CAAInB,GAAA,EAAKkB,OAAO;AAC/B;AAKO,SAASE,uBAAuBpB,GAAA,EAAmB;EACxDa,UAAA,CAAW,EAAEQ,MAAA,CAAOrB,GAAG;AACzB","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- const extensions = [
2
- ".ios.js",
3
- ".native.js",
4
- ".native.ts",
5
- ".native.tsx",
6
- ".js",
7
- ".jsx",
8
- ".json",
9
- ".ts",
10
- ".tsx",
11
- ".mjs"
12
- ];
13
- export {
14
- extensions
15
- };
16
- //# sourceMappingURL=extensions.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extensions.ts"],
4
- "mappings": "AAAO,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
5
- "names": []
6
- }
@@ -1,129 +0,0 @@
1
- import * as Static from "@tamagui/static-worker";
2
- import { getPragmaOptions } from "@tamagui/static-worker";
3
- import path from "node:path";
4
- import { normalizePath } from "vite";
5
- import { disableStatic, loadTamaguiBuildConfig, tamaguiOptions } from "./loadTamagui";
6
- import { createHash } from "node:crypto";
7
- function tamaguiExtractPlugin(optionsIn) {
8
- if (optionsIn?.disable)
9
- return {
10
- name: "tamagui-extract"
11
- };
12
- const getHash = (input) => createHash("sha1").update(input).digest("base64"), clearCompilerCache = () => {
13
- memoryCache = {}, cacheSize = 0;
14
- };
15
- let memoryCache = {}, cacheSize = 0;
16
- const cssMap = /* @__PURE__ */ new Map();
17
- let config, server;
18
- const virtualExt = ".tamagui.css", getAbsoluteVirtualFileId = (filePath) => filePath.startsWith(config.root) ? filePath : normalizePath(path.join(config.root, filePath));
19
- function isVite6AndNotClient(environment) {
20
- return environment?.name && environment.name !== "client";
21
- }
22
- function isVite6Native(environment) {
23
- return environment?.name && (environment.name === "ios" || environment.name === "android");
24
- }
25
- function invalidateModule(absoluteId) {
26
- if (!server) return;
27
- const { moduleGraph } = server, modules = moduleGraph.getModulesByFile(absoluteId);
28
- if (modules)
29
- for (const module of modules)
30
- moduleGraph.invalidateModule(module), module.lastHMRTimestamp = module.lastInvalidationTimestamp || Date.now();
31
- }
32
- return {
33
- name: "tamagui-extract",
34
- enforce: "pre",
35
- configureServer(_server) {
36
- server = _server;
37
- },
38
- async buildStart() {
39
- await loadTamaguiBuildConfig(optionsIn);
40
- },
41
- async closeBundle() {
42
- },
43
- config(userConf) {
44
- userConf.optimizeDeps ||= {}, userConf.optimizeDeps.include ||= [], userConf.optimizeDeps.include.push("@tamagui/core/inject-styles");
45
- },
46
- async configResolved(resolvedConfig) {
47
- config = resolvedConfig;
48
- },
49
- async resolveId(source) {
50
- if (isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment))
51
- return;
52
- const [validId, query] = source.split("?");
53
- if (!validId.endsWith(virtualExt))
54
- return;
55
- const absoluteId = source.startsWith(config.root) ? source : getAbsoluteVirtualFileId(validId);
56
- if (cssMap.has(absoluteId))
57
- return absoluteId + (query ? `?${query}` : "");
58
- },
59
- /**
60
- * TODO
61
- *
62
- * mainFields module:jsx breaks, so lets just have a mapping here
63
- * where we load() and map it to the jsx path before transform
64
- *
65
- */
66
- async load(id) {
67
- if (disableStatic || isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment))
68
- return;
69
- const [validId] = id.split("?");
70
- return cssMap.get(validId);
71
- },
72
- transform: {
73
- order: "pre",
74
- async handler(code, id) {
75
- if (disableStatic || isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment))
76
- return;
77
- const [validId] = id.split("?");
78
- if (!validId.endsWith(".tsx"))
79
- return;
80
- const firstCommentIndex = code.indexOf("// "), { shouldDisable, shouldPrintDebug } = await getPragmaOptions({
81
- source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : "",
82
- path: validId
83
- });
84
- if (shouldPrintDebug && (console.trace(
85
- `Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}`
86
- ), console.info(`
87
-
88
- Original source:
89
- ${code}
90
-
91
- `)), shouldDisable)
92
- return;
93
- const cacheEnv = this.environment.name === "client" || this.environment.name === "ssr" ? (
94
- // same cache key for ssr and web since they are the same
95
- "web"
96
- ) : this.environment.name, cacheKey = getHash(`${cacheEnv}${code}${id}`), cached = memoryCache[cacheKey];
97
- if (cached)
98
- return cached;
99
- let extracted;
100
- try {
101
- extracted = await Static.extractToClassNames({
102
- source: code,
103
- sourcePath: validId,
104
- options: tamaguiOptions,
105
- shouldPrintDebug
106
- });
107
- } catch (err) {
108
- console.error(err instanceof Error ? err.message : String(err));
109
- return;
110
- }
111
- if (!extracted)
112
- return;
113
- const rootRelativeId = `${validId}${virtualExt}`, absoluteId = getAbsoluteVirtualFileId(rootRelativeId);
114
- let source = extracted.js;
115
- extracted.styles && (this.addWatchFile(rootRelativeId), server && cssMap.has(absoluteId) && invalidateModule(rootRelativeId), source = `${source}
116
- import "${rootRelativeId}";`, cssMap.set(absoluteId, extracted.styles));
117
- const codeOut = source.toString(), out = {
118
- code: codeOut,
119
- map: extracted.map
120
- };
121
- return cacheSize += codeOut.length, cacheSize > 26214400 && clearCompilerCache(), memoryCache[cacheKey] = out, out;
122
- }
123
- }
124
- };
125
- }
126
- export {
127
- tamaguiExtractPlugin
128
- };
129
- //# sourceMappingURL=extract.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extract.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,125 +0,0 @@
1
- import * as Static from "@tamagui/static-worker";
2
- import { getPragmaOptions } from "@tamagui/static-worker";
3
- import path from "node:path";
4
- import { normalizePath } from "vite";
5
- import { disableStatic, loadTamaguiBuildConfig, tamaguiOptions } from "./loadTamagui.mjs";
6
- import { createHash } from "node:crypto";
7
- function tamaguiExtractPlugin(optionsIn) {
8
- if (optionsIn?.disable) return {
9
- name: "tamagui-extract"
10
- };
11
- const getHash = input => createHash("sha1").update(input).digest("base64"),
12
- clearCompilerCache = () => {
13
- memoryCache = {}, cacheSize = 0;
14
- };
15
- let memoryCache = {},
16
- cacheSize = 0;
17
- const cssMap = /* @__PURE__ */new Map();
18
- let config, server;
19
- const virtualExt = ".tamagui.css",
20
- getAbsoluteVirtualFileId = filePath => filePath.startsWith(config.root) ? filePath : normalizePath(path.join(config.root, filePath));
21
- function isVite6AndNotClient(environment) {
22
- return environment?.name && environment.name !== "client";
23
- }
24
- function isVite6Native(environment) {
25
- return environment?.name && (environment.name === "ios" || environment.name === "android");
26
- }
27
- function invalidateModule(absoluteId) {
28
- if (!server) return;
29
- const {
30
- moduleGraph
31
- } = server,
32
- modules = moduleGraph.getModulesByFile(absoluteId);
33
- if (modules) for (const module of modules) moduleGraph.invalidateModule(module), module.lastHMRTimestamp = module.lastInvalidationTimestamp || Date.now();
34
- }
35
- return {
36
- name: "tamagui-extract",
37
- enforce: "pre",
38
- configureServer(_server) {
39
- server = _server;
40
- },
41
- async buildStart() {
42
- await loadTamaguiBuildConfig(optionsIn);
43
- },
44
- async closeBundle() {},
45
- config(userConf) {
46
- userConf.optimizeDeps ||= {}, userConf.optimizeDeps.include ||= [], userConf.optimizeDeps.include.push("@tamagui/core/inject-styles");
47
- },
48
- async configResolved(resolvedConfig) {
49
- config = resolvedConfig;
50
- },
51
- async resolveId(source) {
52
- if (isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment)) return;
53
- const [validId, query] = source.split("?");
54
- if (!validId.endsWith(virtualExt)) return;
55
- const absoluteId = source.startsWith(config.root) ? source : getAbsoluteVirtualFileId(validId);
56
- if (cssMap.has(absoluteId)) return absoluteId + (query ? `?${query}` : "");
57
- },
58
- /**
59
- * TODO
60
- *
61
- * mainFields module:jsx breaks, so lets just have a mapping here
62
- * where we load() and map it to the jsx path before transform
63
- *
64
- */
65
- async load(id) {
66
- if (disableStatic || isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment)) return;
67
- const [validId] = id.split("?");
68
- return cssMap.get(validId);
69
- },
70
- transform: {
71
- order: "pre",
72
- async handler(code, id) {
73
- if (disableStatic || isVite6Native(this.environment) || tamaguiOptions?.disableServerOptimization && isVite6AndNotClient(this.environment)) return;
74
- const [validId] = id.split("?");
75
- if (!validId.endsWith(".tsx")) return;
76
- const firstCommentIndex = code.indexOf("// "),
77
- {
78
- shouldDisable,
79
- shouldPrintDebug
80
- } = await getPragmaOptions({
81
- source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : "",
82
- path: validId
83
- });
84
- if (shouldPrintDebug && (console.trace(`Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}`), console.info(`
85
-
86
- Original source:
87
- ${code}
88
-
89
- `)), shouldDisable) return;
90
- const cacheEnv = this.environment.name === "client" || this.environment.name === "ssr" ?
91
- // same cache key for ssr and web since they are the same
92
- "web" : this.environment.name,
93
- cacheKey = getHash(`${cacheEnv}${code}${id}`),
94
- cached = memoryCache[cacheKey];
95
- if (cached) return cached;
96
- let extracted;
97
- try {
98
- extracted = await Static.extractToClassNames({
99
- source: code,
100
- sourcePath: validId,
101
- options: tamaguiOptions,
102
- shouldPrintDebug
103
- });
104
- } catch (err) {
105
- console.error(err instanceof Error ? err.message : String(err));
106
- return;
107
- }
108
- if (!extracted) return;
109
- const rootRelativeId = `${validId}${virtualExt}`,
110
- absoluteId = getAbsoluteVirtualFileId(rootRelativeId);
111
- let source = extracted.js;
112
- extracted.styles && (this.addWatchFile(rootRelativeId), server && cssMap.has(absoluteId) && invalidateModule(rootRelativeId), source = `${source}
113
- import "${rootRelativeId}";`, cssMap.set(absoluteId, extracted.styles));
114
- const codeOut = source.toString(),
115
- out = {
116
- code: codeOut,
117
- map: extracted.map
118
- };
119
- return cacheSize += codeOut.length, cacheSize > 26214400 && clearCompilerCache(), memoryCache[cacheKey] = out, out;
120
- }
121
- }
122
- };
123
- }
124
- export { tamaguiExtractPlugin };
125
- //# sourceMappingURL=extract.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Static","getPragmaOptions","path","normalizePath","disableStatic","loadTamaguiBuildConfig","tamaguiOptions","createHash","tamaguiExtractPlugin","optionsIn","disable","name","getHash","input","update","digest","clearCompilerCache","memoryCache","cacheSize","cssMap","Map","config","server","virtualExt","getAbsoluteVirtualFileId","filePath","startsWith","root","join","isVite6AndNotClient","environment","isVite6Native","invalidateModule","absoluteId","moduleGraph","modules","getModulesByFile","module","lastHMRTimestamp","lastInvalidationTimestamp","Date","now","enforce","configureServer","_server","buildStart","closeBundle","userConf","optimizeDeps","include","push","configResolved","resolvedConfig","resolveId","source","disableServerOptimization","validId","query","split","endsWith","has","load","id","get","transform","order","handler","code","firstCommentIndex","indexOf","shouldDisable","shouldPrintDebug","slice","console","trace","info","cacheEnv","cacheKey","cached","extracted","extractToClassNames","sourcePath","options","err","error","Error","message","String","rootRelativeId","js","styles","addWatchFile","set","codeOut","toString","out","map","length"],"sources":["../../src/extract.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- import * as StaticWorker from "@tamagui/static-worker";
2
- const LOAD_STATE_KEY = "__tamagui_load_state__";
3
- function getLoadState() {
4
- return globalThis[LOAD_STATE_KEY] || (globalThis[LOAD_STATE_KEY] = {
5
- loadPromise: null,
6
- loadedOptions: null,
7
- fullConfigLoaded: !1,
8
- fullConfigLoadPromise: null
9
- }), globalThis[LOAD_STATE_KEY];
10
- }
11
- function getTamaguiOptions() {
12
- return getLoadState().loadedOptions;
13
- }
14
- function getLoadPromise() {
15
- return getLoadState().loadPromise;
16
- }
17
- async function loadTamaguiBuildConfig(optionsIn) {
18
- const state = getLoadState();
19
- return state.loadedOptions ? state.loadedOptions : (state.loadPromise || (state.loadPromise = (async () => {
20
- const options = await StaticWorker.loadTamaguiBuildConfig({
21
- ...optionsIn,
22
- platform: "web"
23
- });
24
- return state.loadedOptions = options, options;
25
- })()), state.loadPromise);
26
- }
27
- async function ensureFullConfigLoaded() {
28
- const state = getLoadState();
29
- if (!state.fullConfigLoaded)
30
- return state.fullConfigLoadPromise || (state.fullConfigLoadPromise = (async () => {
31
- const options = await loadTamaguiBuildConfig();
32
- !options.disableWatchTamaguiConfig && !options.disable && await StaticWorker.loadTamagui({
33
- components: ["tamagui"],
34
- platform: "web",
35
- ...options
36
- }), state.fullConfigLoaded = !0;
37
- })()), state.fullConfigLoadPromise;
38
- }
39
- async function cleanup() {
40
- await StaticWorker.destroyPool();
41
- const state = getLoadState();
42
- state.loadPromise = null, state.loadedOptions = null, state.fullConfigLoaded = !1, state.fullConfigLoadPromise = null;
43
- }
44
- export {
45
- cleanup,
46
- ensureFullConfigLoaded,
47
- getLoadPromise,
48
- getTamaguiOptions,
49
- loadTamaguiBuildConfig
50
- };
51
- //# sourceMappingURL=loadTamagui.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/loadTamagui.ts"],
4
- "mappings": "AAAA,YAAY,kBAAkB;AAI9B,MAAM,iBAAiB;AASvB,SAAS,eAA0B;AACjC,SAAM,WAAmB,cAAc,MACnC,WAAmB,cAAc,IAAI;AAAA,IACrC,aAAa;AAAA,IACb,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,uBAAuB;AAAA,EACzB,IAEM,WAAmB,cAAc;AAC3C;AAEO,SAAS,oBAA2C;AACzD,SAAO,aAAa,EAAE;AACxB;AAEO,SAAS,iBAAiD;AAC/D,SAAO,aAAa,EAAE;AACxB;AAMA,eAAsB,uBACpB,WACyB;AACzB,QAAM,QAAQ,aAAa;AAC3B,SAAI,MAAM,gBAAsB,MAAM,iBAClC,MAAM,gBAEV,MAAM,eAAe,YAAY;AAC/B,UAAM,UAAU,MAAM,aAAa,uBAAuB;AAAA,MACxD,GAAG;AAAA,MACH,UAAU;AAAA,IACZ,CAAC;AAED,iBAAM,gBAAgB,SACf;AAAA,EACT,GAAG,IAEI,MAAM;AACf;AAMA,eAAsB,yBAAwC;AAC5D,QAAM,QAAQ,aAAa;AAE3B,MAAI,OAAM;AACV,WAAI,MAAM,0BAIV,MAAM,yBAAyB,YAAY;AACzC,YAAM,UAAU,MAAM,uBAAuB;AAG7C,MAAI,CAAC,QAAQ,6BAA6B,CAAC,QAAQ,WACjD,MAAM,aAAa,YAAY;AAAA,QAC7B,YAAY,CAAC,SAAS;AAAA,QACtB,UAAU;AAAA,QACV,GAAG;AAAA,MACL,CAAC,GAEH,MAAM,mBAAmB;AAAA,IAC3B,GAAG,IAEI,MAAM;AACf;AAEA,eAAsB,UAAU;AAC9B,QAAM,aAAa,YAAY;AAC/B,QAAM,QAAQ,aAAa;AAC3B,QAAM,cAAc,MACpB,MAAM,gBAAgB,MACtB,MAAM,mBAAmB,IACzB,MAAM,wBAAwB;AAChC;",
5
- "names": []
6
- }
@@ -1,294 +0,0 @@
1
- import * as Static from "@tamagui/static-worker";
2
- import { getPragmaOptions } from "@tamagui/static-worker";
3
- import { createHash } from "node:crypto";
4
- import path from "node:path";
5
- import { fileURLToPath } from "node:url";
6
- import { normalizePath, transformWithEsbuild } from "vite";
7
- import {
8
- loadTamaguiBuildConfig,
9
- getLoadPromise,
10
- getTamaguiOptions,
11
- ensureFullConfigLoaded
12
- } from "./loadTamagui";
13
- const resolve = (name) => fileURLToPath(import.meta.resolve(name)), CACHE_KEY = "__tamagui_vite_cache__", CACHE_SIZE_KEY = "__tamagui_vite_cache_size__", PENDING_KEY = "__tamagui_vite_pending__";
14
- function getSharedCache() {
15
- return globalThis[CACHE_KEY] || (globalThis[CACHE_KEY] = {}), globalThis[CACHE_KEY];
16
- }
17
- function getSharedCacheSize() {
18
- return globalThis[CACHE_SIZE_KEY] || 0;
19
- }
20
- function setSharedCacheSize(size) {
21
- globalThis[CACHE_SIZE_KEY] = size;
22
- }
23
- function clearSharedCache() {
24
- globalThis[CACHE_KEY] = {}, globalThis[CACHE_SIZE_KEY] = 0;
25
- }
26
- function getPendingExtractions() {
27
- return globalThis[PENDING_KEY] || (globalThis[PENDING_KEY] = /* @__PURE__ */ new Map()), globalThis[PENDING_KEY];
28
- }
29
- function tamaguiAliases(options = {}) {
30
- const aliases = [];
31
- if (options.svg && aliases.push({
32
- find: "react-native-svg",
33
- replacement: resolve("@tamagui/react-native-svg")
34
- }), options.rnwLite) {
35
- const rnwl = resolve(
36
- options.rnwLite === "without-animated" ? "@tamagui/react-native-web-lite/without-animated" : "@tamagui/react-native-web-lite"
37
- ), rnwlBase = path.dirname(resolve("@tamagui/react-native-web-lite/package.json"));
38
- aliases.push(
39
- {
40
- // map deep RNW paths like dist/exports/StyleSheet/preprocess to rnw-lite's flat structure
41
- // extracts the final path segment (e.g. "preprocess" or "createReactDOMStyle")
42
- find: /^react-native(?:-web)?\/dist\/(?:exports|modules)\/.*\/([^/]+)$/,
43
- replacement: `${rnwlBase}/dist/esm/$1.mjs`
44
- },
45
- {
46
- find: /^react-native$/,
47
- replacement: rnwl
48
- },
49
- {
50
- find: /^react-native\/(Libraries\/Utilities\/codegenNativeComponent|Libraries\/Utilities\/codegenNativeCommand)$/,
51
- replacement: `${rnwlBase}/$1`
52
- },
53
- {
54
- find: "react-native/package.json",
55
- replacement: resolve("@tamagui/react-native-web-lite/package.json")
56
- },
57
- {
58
- find: /^react-native-web$/,
59
- replacement: rnwl
60
- }
61
- );
62
- }
63
- return aliases;
64
- }
65
- function tamaguiPlugin({
66
- disableResolveConfig,
67
- ...tamaguiOptionsIn
68
- } = {}) {
69
- let shouldExtract = !tamaguiOptionsIn.disableExtraction, watcher;
70
- const enableNativeEnv = !!globalThis.__vxrnEnableNativeEnv, extensions = [
71
- ".web.mjs",
72
- ".web.js",
73
- ".web.jsx",
74
- ".web.ts",
75
- ".web.tsx",
76
- ".mjs",
77
- ".js",
78
- ".mts",
79
- ".ts",
80
- ".jsx",
81
- ".tsx",
82
- ".json"
83
- ];
84
- loadTamaguiBuildConfig(tamaguiOptionsIn);
85
- const ensureLoaded = async () => {
86
- const promise = getLoadPromise();
87
- promise && await promise;
88
- const options = getTamaguiOptions();
89
- return options && (shouldExtract = !options.disableExtraction), options;
90
- }, getHash = (input) => createHash("sha1").update(input).digest("base64"), memoryCache = getSharedCache(), cssMap = /* @__PURE__ */ new Map();
91
- let config, server;
92
- const virtualExt = ".tamagui.css", getAbsoluteVirtualFileId = (filePath) => filePath.startsWith(config.root) ? filePath : normalizePath(path.join(config.root, filePath));
93
- function isNotClient(environment) {
94
- return environment?.name && environment.name !== "client";
95
- }
96
- function isNative(environment) {
97
- return environment?.name && (environment.name === "ios" || environment.name === "android");
98
- }
99
- function invalidateModule(absoluteId) {
100
- if (!server) return;
101
- const { moduleGraph } = server, modules = moduleGraph.getModulesByFile(absoluteId);
102
- if (modules)
103
- for (const module of modules)
104
- moduleGraph.invalidateModule(module), module.lastHMRTimestamp = module.lastInvalidationTimestamp || Date.now();
105
- }
106
- return [{
107
- name: "tamagui",
108
- enforce: "pre",
109
- configureServer(_server) {
110
- server = _server;
111
- },
112
- async buildEnd() {
113
- await watcher?.then((res) => {
114
- res?.dispose();
115
- });
116
- },
117
- async transform(code, id) {
118
- if (id.includes("expo-linear-gradient"))
119
- return transformWithEsbuild(code, id, {
120
- loader: "jsx",
121
- jsx: "automatic"
122
- });
123
- },
124
- async config(_, env) {
125
- const options = await ensureLoaded();
126
- if (!options)
127
- throw new Error("No tamagui options loaded");
128
- return options.disableWatchTamaguiConfig || (watcher = Static.watchTamaguiConfig({
129
- components: ["tamagui"],
130
- config: "./src/tamagui.config.ts",
131
- ...options
132
- }).catch((err) => {
133
- console.error(` [Tamagui] Error watching config: ${err}`);
134
- })), {
135
- envPrefix: ["TAMAGUI_"],
136
- environments: {
137
- client: {
138
- define: {
139
- "process.env.TAMAGUI_IS_CLIENT": JSON.stringify(!0),
140
- "process.env.TAMAGUI_ENVIRONMENT": '"client"'
141
- }
142
- }
143
- },
144
- define: {
145
- // reanimated support
146
- _frameTimestamp: void 0,
147
- _WORKLET: !1,
148
- __DEV__: `${env.mode === "development"}`,
149
- "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || env.mode),
150
- "process.env.ENABLE_RSC": JSON.stringify(process.env.ENABLE_RSC || ""),
151
- "process.env.ENABLE_STEPS": JSON.stringify(process.env.ENABLE_STEPS || ""),
152
- "process.env.IS_STATIC": JSON.stringify(!1),
153
- ...env.mode === "production" && {
154
- "process.env.TAMAGUI_OPTIMIZE_THEMES": JSON.stringify(!0)
155
- }
156
- },
157
- resolve: disableResolveConfig || enableNativeEnv ? {} : {
158
- extensions,
159
- alias: {
160
- ...options.platform !== "native" && {
161
- "react-native/Libraries/Renderer/shims/ReactFabric": resolve("@tamagui/proxy-worm"),
162
- "react-native/Libraries/Utilities/codegenNativeComponent": resolve("@tamagui/proxy-worm"),
163
- "react-native-svg": resolve("@tamagui/react-native-svg"),
164
- ...!options?.useReactNativeWebLite && {
165
- "react-native": resolve("react-native-web")
166
- }
167
- }
168
- }
169
- }
170
- };
171
- }
172
- }, {
173
- name: "tamagui-rnw-lite",
174
- config() {
175
- if (enableNativeEnv)
176
- return {};
177
- const options = getTamaguiOptions();
178
- return options?.useReactNativeWebLite ? {
179
- resolve: {
180
- alias: tamaguiAliases({ rnwLite: options.useReactNativeWebLite })
181
- }
182
- } : {};
183
- }
184
- }, {
185
- name: "tamagui-extract",
186
- enforce: "pre",
187
- async config(userConf) {
188
- await ensureLoaded(), shouldExtract && (userConf.optimizeDeps ||= {}, userConf.optimizeDeps.include ||= [], userConf.optimizeDeps.include.push("@tamagui/core/inject-styles"));
189
- },
190
- async configResolved(resolvedConfig) {
191
- config = resolvedConfig;
192
- },
193
- async resolveId(source) {
194
- if (!shouldExtract || isNative(this.environment) || isNotClient(this.environment))
195
- return;
196
- const [validId, query] = source.split("?");
197
- if (!validId.endsWith(virtualExt))
198
- return;
199
- const absoluteId = source.startsWith(config.root) ? source : getAbsoluteVirtualFileId(validId);
200
- if (cssMap.has(absoluteId))
201
- return absoluteId + (query ? `?${query}` : "");
202
- },
203
- async load(id) {
204
- if (!shouldExtract || getTamaguiOptions()?.disable || isNative(this.environment) || isNotClient(this.environment))
205
- return;
206
- const [validId] = id.split("?");
207
- return cssMap.get(validId);
208
- },
209
- transform: {
210
- order: "pre",
211
- async handler(code, id) {
212
- const options = await ensureLoaded();
213
- if (await ensureFullConfigLoaded(), options?.disable || isNative(this.environment))
214
- return;
215
- const [validId] = id.split("?");
216
- if (!validId.endsWith(".tsx"))
217
- return;
218
- const firstCommentIndex = code.indexOf("// "), { shouldDisable, shouldPrintDebug } = await getPragmaOptions({
219
- source: firstCommentIndex >= 0 ? code.slice(firstCommentIndex) : "",
220
- path: validId
221
- });
222
- if (shouldPrintDebug && (console.trace(
223
- `Current file: ${id} in environment: ${this.environment?.name}, shouldDisable: ${shouldDisable}`
224
- ), console.info(`
225
-
226
- Original source:
227
- ${code}
228
-
229
- `)), shouldDisable)
230
- return;
231
- const isSSR = isNotClient(this.environment), cacheKey = getHash(`${code}${id}`), pending = getPendingExtractions(), formatResult = (entry) => ({ code: !isSSR && entry.cssImport ? `${entry.js}
232
- ${entry.cssImport}` : entry.js, map: entry.map }), cached = memoryCache[cacheKey];
233
- if (cached)
234
- return process.env.DEBUG_TAMAGUI_CACHE && console.info(
235
- `[tamagui-cache] HIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`
236
- ), formatResult(cached);
237
- const pendingExtraction = pending.get(cacheKey);
238
- if (pendingExtraction) {
239
- process.env.DEBUG_TAMAGUI_CACHE && console.info(
240
- `[tamagui-cache] WAIT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`
241
- );
242
- const result = await pendingExtraction;
243
- return result ? formatResult(result) : void 0;
244
- }
245
- process.env.DEBUG_TAMAGUI_CACHE && console.info(
246
- `[tamagui-cache] EXTRACT ${this.environment?.name || "unknown"} ${id.split("/").pop()} key=${cacheKey.slice(0, 8)}`
247
- );
248
- const extractionPromise = (async () => {
249
- let extracted;
250
- try {
251
- extracted = await Static.extractToClassNames({
252
- source: code,
253
- sourcePath: validId,
254
- options,
255
- shouldPrintDebug
256
- });
257
- } catch (err) {
258
- return process.env.DEBUG_TAMAGUI_CACHE && console.info(
259
- `[tamagui-cache] ERROR extracting ${id.split("/").pop()}:`,
260
- err
261
- ), console.error(err instanceof Error ? err.message : String(err)), null;
262
- }
263
- if (!extracted)
264
- return process.env.DEBUG_TAMAGUI_CACHE && console.info(
265
- `[tamagui-cache] no extraction result for ${id.split("/").pop()}`
266
- ), null;
267
- const rootRelativeId = `${validId}${virtualExt}`, absoluteId = getAbsoluteVirtualFileId(rootRelativeId);
268
- let cssImport = null;
269
- extracted.styles && (this.addWatchFile(rootRelativeId), server && cssMap.has(absoluteId) && invalidateModule(rootRelativeId), cssImport = `import "${rootRelativeId}";`, cssMap.set(absoluteId, extracted.styles));
270
- const jsCode = extracted.js.toString(), cacheEntry = {
271
- js: jsCode,
272
- map: extracted.map,
273
- cssImport
274
- }, newSize = getSharedCacheSize() + jsCode.length;
275
- return newSize > 67108864 ? clearSharedCache() : setSharedCacheSize(newSize), memoryCache[cacheKey] = cacheEntry, process.env.DEBUG_TAMAGUI_CACHE && console.info(
276
- `[tamagui-cache] WRITE key=${cacheKey.slice(0, 8)} cacheSize=${Object.keys(memoryCache).length}`
277
- ), cacheEntry;
278
- })();
279
- pending.set(cacheKey, extractionPromise);
280
- try {
281
- const result = await extractionPromise;
282
- return result ? formatResult(result) : void 0;
283
- } finally {
284
- pending.delete(cacheKey);
285
- }
286
- }
287
- }
288
- }];
289
- }
290
- export {
291
- tamaguiAliases,
292
- tamaguiPlugin
293
- };
294
- //# sourceMappingURL=plugin.js.map