@tamagui/vite-plugin 2.0.0-rc.4 → 2.0.0-rc.40

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.
Files changed (45) hide show
  1. package/dist/cjs/extensions.cjs +12 -10
  2. package/dist/cjs/index.cjs +7 -5
  3. package/dist/cjs/loadTamagui.cjs +58 -39
  4. package/dist/cjs/plugin.cjs +252 -130
  5. package/dist/esm/index.js +1 -1
  6. package/dist/esm/index.js.map +1 -6
  7. package/dist/esm/loadTamagui.mjs +34 -17
  8. package/dist/esm/loadTamagui.mjs.map +1 -1
  9. package/dist/esm/plugin.mjs +221 -101
  10. package/dist/esm/plugin.mjs.map +1 -1
  11. package/package.json +12 -11
  12. package/src/plugin.ts +18 -15
  13. package/types/plugin.d.ts +2 -2
  14. package/types/plugin.d.ts.map +1 -1
  15. package/dist/cjs/cache.cjs +0 -70
  16. package/dist/cjs/cache.js +0 -63
  17. package/dist/cjs/cache.js.map +0 -6
  18. package/dist/cjs/extensions.js +0 -32
  19. package/dist/cjs/extensions.js.map +0 -6
  20. package/dist/cjs/extract.cjs +0 -159
  21. package/dist/cjs/extract.js +0 -148
  22. package/dist/cjs/extract.js.map +0 -6
  23. package/dist/cjs/index.js +0 -15
  24. package/dist/cjs/index.js.map +0 -6
  25. package/dist/cjs/loadTamagui.js +0 -75
  26. package/dist/cjs/loadTamagui.js.map +0 -6
  27. package/dist/cjs/plugin.js +0 -307
  28. package/dist/cjs/plugin.js.map +0 -6
  29. package/dist/esm/cache.js +0 -47
  30. package/dist/esm/cache.js.map +0 -6
  31. package/dist/esm/cache.mjs +0 -40
  32. package/dist/esm/cache.mjs.map +0 -1
  33. package/dist/esm/extensions.js +0 -16
  34. package/dist/esm/extensions.js.map +0 -6
  35. package/dist/esm/extract.js +0 -129
  36. package/dist/esm/extract.js.map +0 -6
  37. package/dist/esm/extract.mjs +0 -125
  38. package/dist/esm/extract.mjs.map +0 -1
  39. package/dist/esm/loadTamagui.js +0 -51
  40. package/dist/esm/loadTamagui.js.map +0 -6
  41. package/dist/esm/plugin.js +0 -294
  42. package/dist/esm/plugin.js.map +0 -6
  43. package/types/cache.d.ts +0 -50
  44. package/types/cache.d.ts.map +0 -1
  45. package/types/extract.d.ts.map +0 -1
@@ -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":"AAGA,YAAYA,MAAA,MAAY;AACxB,SAASC,gBAAA,QAAwB;AACjC,OAAOC,IAAA,MAAU;AAEjB,SAASC,aAAA,QAAuC;AAChD,SAASC,aAAA,EAAeC,sBAAA,EAAwBC,cAAA,QAAsB;AAEtE,SAASC,UAAA,QAAkB;AAEpB,SAASC,qBAAqBC,SAAA,EAA6C;EAChF,IAAIA,SAAA,EAAWC,OAAA,EACb,OAAO;IACLC,IAAA,EAAM;EACR;EAGF,MAAMC,OAAA,GAAWC,KAAA,IAAkBN,UAAA,CAAW,MAAM,EAAEO,MAAA,CAAOD,KAAK,EAAEE,MAAA,CAAO,QAAQ;IAE7EC,kBAAA,GAAqBA,CAAA,KAAM;MAC/BC,WAAA,GAAc,CAAC,GACfC,SAAA,GAAY;IACd;EAEA,IAAID,WAAA,GAAc,CAAC;IACfC,SAAA,GAAY;EAEhB,MAAMC,MAAA,GAAS,mBAAIC,GAAA,CAAoB;EAEvC,IAAIC,MAAA,EACAC,MAAA;EACJ,MAAMC,UAAA,GAAa;IAEbC,wBAAA,GAA4BC,QAAA,IAC5BA,QAAA,CAASC,UAAA,CAAWL,MAAA,CAAOM,IAAI,IAC1BF,QAAA,GAEFtB,aAAA,CAAcD,IAAA,CAAK0B,IAAA,CAAKP,MAAA,CAAOM,IAAA,EAAMF,QAAQ,CAAC;EAGvD,SAASI,oBAAoBC,WAAA,EAA2B;IACtD,OAAOA,WAAA,EAAanB,IAAA,IAAQmB,WAAA,CAAYnB,IAAA,KAAS;EACnD;EAEA,SAASoB,cAAcD,WAAA,EAA2B;IAChD,OACEA,WAAA,EAAanB,IAAA,KAASmB,WAAA,CAAYnB,IAAA,KAAS,SAASmB,WAAA,CAAYnB,IAAA,KAAS;EAE7E;EAEA,SAASqB,iBAAiBC,UAAA,EAAoB;IAC5C,IAAI,CAACX,MAAA,EAAQ;IAEb,MAAM;QAAEY;MAAY,IAAIZ,MAAA;MAClBa,OAAA,GAAUD,WAAA,CAAYE,gBAAA,CAAiBH,UAAU;IAEvD,IAAIE,OAAA,EACF,WAAWE,MAAA,IAAUF,OAAA,EACnBD,WAAA,CAAYF,gBAAA,CAAiBK,MAAM,GAGnCA,MAAA,CAAOC,gBAAA,GAAmBD,MAAA,CAAOE,yBAAA,IAA6BC,IAAA,CAAKC,GAAA,CAAI;EAG7E;EAEA,OAAO;IACL9B,IAAA,EAAM;IACN+B,OAAA,EAAS;IAETC,gBAAgBC,OAAA,EAAS;MACvBtB,MAAA,GAASsB,OAAA;IACX;IAEA,MAAMC,WAAA,EAAa;MACjB,MAAMxC,sBAAA,CAAuBI,SAAS;IACxC;IAEA,MAAMqC,YAAA,EAAc,CAKpB;IAEAzB,OAAO0B,QAAA,EAAU;MACfA,QAAA,CAASC,YAAA,KAAiB,CAAC,GAC3BD,QAAA,CAASC,YAAA,CAAaC,OAAA,KAAY,EAAC,EACnCF,QAAA,CAASC,YAAA,CAAaC,OAAA,CAAQC,IAAA,CAAK,6BAA6B;IAClE;IAEA,MAAMC,eAAeC,cAAA,EAAgB;MACnC/B,MAAA,GAAS+B,cAAA;IACX;IAEA,MAAMC,UAAUC,MAAA,EAAQ;MAKtB,IAJIvB,aAAA,CAAc,KAAKD,WAAW,KAKhCxB,cAAA,EAAgBiD,yBAAA,IAChB1B,mBAAA,CAAoB,KAAKC,WAAW,GAGpC;MAGF,MAAM,CAAC0B,OAAA,EAASC,KAAK,IAAIH,MAAA,CAAOI,KAAA,CAAM,GAAG;MAEzC,IAAI,CAACF,OAAA,CAAQG,QAAA,CAASpC,UAAU,GAC9B;MAKF,MAAMU,UAAA,GAAaqB,MAAA,CAAO5B,UAAA,CAAWL,MAAA,CAAOM,IAAI,IAC5C2B,MAAA,GACA9B,wBAAA,CAAyBgC,OAAO;MAKpC,IAAIrC,MAAA,CAAOyC,GAAA,CAAI3B,UAAU,GAEvB,OAAOA,UAAA,IAAcwB,KAAA,GAAQ,IAAIA,KAAK,KAAK;IAE/C;IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAUA,MAAMI,KAAKC,EAAA,EAAI;MAUb,IATI1D,aAAA,IAKA2B,aAAA,CAAc,KAAKD,WAAW,KAKhCxB,cAAA,EAAgBiD,yBAAA,IAChB1B,mBAAA,CAAoB,KAAKC,WAAW,GAEpC;MAGF,MAAM,CAAC0B,OAAO,IAAIM,EAAA,CAAGJ,KAAA,CAAM,GAAG;MAC9B,OAAOvC,MAAA,CAAO4C,GAAA,CAAIP,OAAO;IAC3B;IAEAQ,SAAA,EAAW;MACTC,KAAA,EAAO;MACP,MAAMC,QAAQC,IAAA,EAAML,EAAA,EAAI;QAUtB,IATI1D,aAAA,IAKA2B,aAAA,CAAc,KAAKD,WAAW,KAKhCxB,cAAA,EAAgBiD,yBAAA,IAChB1B,mBAAA,CAAoB,KAAKC,WAAW,GAEpC;QAGF,MAAM,CAAC0B,OAAO,IAAIM,EAAA,CAAGJ,KAAA,CAAM,GAAG;QAC9B,IAAI,CAACF,OAAA,CAAQG,QAAA,CAAS,MAAM,GAC1B;QAGF,MAAMS,iBAAA,GAAoBD,IAAA,CAAKE,OAAA,CAAQ,KAAK;UACtC;YAAEC,aAAA;YAAeC;UAAiB,IAAI,MAAMtE,gBAAA,CAAiB;YACjEqD,MAAA,EAAQc,iBAAA,IAAqB,IAAID,IAAA,CAAKK,KAAA,CAAMJ,iBAAiB,IAAI;YACjElE,IAAA,EAAMsD;UACR,CAAC;QASD,IAPIe,gBAAA,KACFE,OAAA,CAAQC,KAAA,CACN,iBAAiBZ,EAAE,oBAAoB,KAAKhC,WAAA,EAAanB,IAAI,oBAAoB2D,aAAa,EAChG,GACAG,OAAA,CAAQE,IAAA,CAAK;AAAA;AAAA;AAAA,EAAyBR,IAAI;AAAA;AAAA,CAAM,IAG9CG,aAAA,EACF;QAGF,MAAMM,QAAA,GACJ,KAAK9C,WAAA,CAAYnB,IAAA,KAAS,YAAY,KAAKmB,WAAA,CAAYnB,IAAA,KAAS;UAAA;UAE5D,QACA,KAAKmB,WAAA,CAAYnB,IAAA;UACjBkE,QAAA,GAAWjE,OAAA,CAAQ,GAAGgE,QAAQ,GAAGT,IAAI,GAAGL,EAAE,EAAE;UAC5CgB,MAAA,GAAS7D,WAAA,CAAY4D,QAAQ;QACnC,IAAIC,MAAA,EACF,OAAOA,MAAA;QAGT,IAAIC,SAAA;QACJ,IAAI;UACFA,SAAA,GAAY,MAAM/E,MAAA,CAAQgF,mBAAA,CAAoB;YAC5C1B,MAAA,EAAQa,IAAA;YACRc,UAAA,EAAYzB,OAAA;YACZ0B,OAAA,EAAS5E,cAAA;YACTiE;UACF,CAAC;QACH,SAASY,GAAA,EAAK;UAEZV,OAAA,CAAQW,KAAA,CAAMD,GAAA,YAAeE,KAAA,GAAQF,GAAA,CAAIG,OAAA,GAAUC,MAAA,CAAOJ,GAAG,CAAC;UAC9D;QACF;QAEA,IAAI,CAACJ,SAAA,EACH;QAGF,MAAMS,cAAA,GAAiB,GAAGhC,OAAO,GAAGjC,UAAU;UACxCU,UAAA,GAAaT,wBAAA,CAAyBgE,cAAc;QAE1D,IAAIlC,MAAA,GAASyB,SAAA,CAAUU,EAAA;QAEnBV,SAAA,CAAUW,MAAA,KACZ,KAAKC,YAAA,CAAaH,cAAc,GAE5BlE,MAAA,IAAUH,MAAA,CAAOyC,GAAA,CAAI3B,UAAU,KACjCD,gBAAA,CAAiBwD,cAAc,GAGjClC,MAAA,GAAS,GAAGA,MAAM;AAAA,UAAakC,cAAc,MAC7CrE,MAAA,CAAOyE,GAAA,CAAI3D,UAAA,EAAY8C,SAAA,CAAUW,MAAM;QAGzC,MAAMG,OAAA,GAAUvC,MAAA,CAAOwC,QAAA,CAAS;UAC1BC,GAAA,GAAM;YACV5B,IAAA,EAAM0B,OAAA;YACNG,GAAA,EAAKjB,SAAA,CAAUiB;UACjB;QAEA,OAAA9E,SAAA,IAAa2E,OAAA,CAAQI,MAAA,EAEjB/E,SAAA,GAAY,YACdF,kBAAA,CAAmB,GAErBC,WAAA,CAAY4D,QAAQ,IAAIkB,GAAA,EAEjBA,GAAA;MACT;IACF;EACF;AACF","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
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/plugin.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
package/types/cache.d.ts DELETED
@@ -1,50 +0,0 @@
1
- /**
2
- * Shared cache for Tamagui vite plugin
3
- *
4
- * Uses globalThis to share state across vite environments (SSR, client, etc.)
5
- * This prevents duplicate babel transforms when both SSR and client process the same file.
6
- *
7
- * The cache stores compiled JS separately from CSS imports so that:
8
- * - SSR gets just the JS (no CSS import needed)
9
- * - Client gets JS + CSS import
10
- */
11
- export type CacheEntry = {
12
- js: string;
13
- map: any;
14
- cssImport: string | null;
15
- };
16
- /**
17
- * Get the shared extraction cache
18
- */
19
- export declare function getCache(): Record<string, CacheEntry>;
20
- /**
21
- * Get a cached entry
22
- */
23
- export declare function getCached(key: string): CacheEntry | undefined;
24
- /**
25
- * Store an entry in the cache
26
- * Automatically clears cache if size limit exceeded
27
- */
28
- export declare function setCache(key: string, entry: CacheEntry): void;
29
- /**
30
- * Clear all cached entries
31
- */
32
- export declare function clearCache(): void;
33
- /**
34
- * Get the pending extractions map
35
- * Used to dedupe concurrent requests for the same file
36
- */
37
- export declare function getPending(): Map<string, Promise<CacheEntry | null>>;
38
- /**
39
- * Check if an extraction is already in progress for a key
40
- */
41
- export declare function getPendingExtraction(key: string): Promise<CacheEntry | null> | undefined;
42
- /**
43
- * Mark an extraction as in progress
44
- */
45
- export declare function setPendingExtraction(key: string, promise: Promise<CacheEntry | null>): void;
46
- /**
47
- * Clear a pending extraction
48
- */
49
- export declare function clearPendingExtraction(key: string): void;
50
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,GAAG,CAAA;IACR,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB,CAAA;AAsBD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAErD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE7D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAY7D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,SAAS,CAExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAClC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,wBAAwB,CAAA;AAI/E,OAAO,KAAK,EAAE,MAAM,EAAiC,MAAM,MAAM,CAAA;AAMjE,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CA2PhF"}