@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.
- package/dist/cjs/index.js +11 -8
- package/dist/cjs/plugin.cjs +9 -9
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/plugin.mjs +9 -9
- package/dist/esm/plugin.mjs.map +1 -1
- package/package.json +11 -10
- package/src/plugin.ts +18 -6
- package/types/plugin.d.ts +2 -2
- package/types/plugin.d.ts.map +1 -1
- package/dist/cjs/cache.cjs +0 -70
- package/dist/cjs/cache.js +0 -63
- package/dist/cjs/cache.js.map +0 -6
- package/dist/cjs/extensions.js +0 -32
- package/dist/cjs/extensions.js.map +0 -6
- package/dist/cjs/extract.cjs +0 -159
- package/dist/cjs/extract.js +0 -148
- package/dist/cjs/extract.js.map +0 -6
- package/dist/cjs/loadTamagui.js +0 -75
- package/dist/cjs/loadTamagui.js.map +0 -6
- package/dist/cjs/plugin.js +0 -307
- package/dist/cjs/plugin.js.map +0 -6
- package/dist/esm/cache.js +0 -47
- package/dist/esm/cache.js.map +0 -6
- package/dist/esm/cache.mjs +0 -40
- package/dist/esm/cache.mjs.map +0 -1
- package/dist/esm/extensions.js +0 -16
- package/dist/esm/extensions.js.map +0 -6
- package/dist/esm/extract.js +0 -129
- package/dist/esm/extract.js.map +0 -6
- package/dist/esm/extract.mjs +0 -125
- package/dist/esm/extract.mjs.map +0 -1
- package/dist/esm/loadTamagui.js +0 -51
- package/dist/esm/loadTamagui.js.map +0 -6
- package/dist/esm/plugin.js +0 -294
- package/dist/esm/plugin.js.map +0 -6
- package/types/cache.d.ts +0 -50
- package/types/cache.d.ts.map +0 -1
- package/types/extract.d.ts.map +0 -1
package/dist/esm/cache.mjs.map
DELETED
|
@@ -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":[]}
|
package/dist/esm/extensions.js
DELETED
package/dist/esm/extract.js
DELETED
|
@@ -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
|
package/dist/esm/extract.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/extract.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/extract.mjs
DELETED
|
@@ -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
|
package/dist/esm/extract.mjs.map
DELETED
|
@@ -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":[]}
|
package/dist/esm/loadTamagui.js
DELETED
|
@@ -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
|
-
}
|
package/dist/esm/plugin.js
DELETED
|
@@ -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
|