@tamagui/static 2.0.0-rc.17 → 2.0.0-rc.17-1772005607095
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/extractor/bundle.cjs +13 -26
- package/dist/extractor/bundle.js +9 -24
- package/dist/extractor/bundle.js.map +1 -1
- package/dist/extractor/bundleConfig.cjs +14 -5
- package/dist/extractor/bundleConfig.js +20 -8
- package/dist/extractor/bundleConfig.js.map +1 -1
- package/package.json +15 -15
- package/src/extractor/bundle.ts +20 -41
- package/src/extractor/bundleConfig.ts +27 -17
- package/types/extractor/bundle.d.ts +83 -1
- package/types/extractor/bundle.d.ts.map +1 -1
- package/types/extractor/bundleConfig.d.ts.map +1 -1
|
@@ -36,8 +36,7 @@ __export(bundle_exports, {
|
|
|
36
36
|
esbundleTamaguiConfig: () => esbundleTamaguiConfig
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(bundle_exports);
|
|
39
|
-
var
|
|
40
|
-
import_esbuild = __toESM(require("esbuild")),
|
|
39
|
+
var import_esbuild = __toESM(require("esbuild")),
|
|
41
40
|
FS = __toESM(require("fs-extra")),
|
|
42
41
|
import_esbuildAliasPlugin = require("./esbuildAliasPlugin.cjs"),
|
|
43
42
|
import_loadTamagui = require("./loadTamagui.cjs"),
|
|
@@ -96,26 +95,23 @@ function getESBuildConfig({
|
|
|
96
95
|
name: "external",
|
|
97
96
|
setup(build) {
|
|
98
97
|
build.onResolve({
|
|
99
|
-
filter: /^@tamagui
|
|
100
|
-
}, args => args.kind === "entry-point" ? null :
|
|
98
|
+
filter: /^@tamagui\/(core|web)$/
|
|
99
|
+
}, args => args.kind === "entry-point" ? null : {
|
|
101
100
|
path: platform === "native" ? "@tamagui/core/native" : args.path,
|
|
102
101
|
external: !0
|
|
103
|
-
} : {
|
|
104
|
-
path: args.path,
|
|
105
|
-
external: !0
|
|
106
102
|
}), build.onResolve({
|
|
107
103
|
filter: /react-native\/package.json$/
|
|
108
|
-
},
|
|
104
|
+
}, () => ({
|
|
109
105
|
path: "react-native/package.json",
|
|
110
106
|
external: !0
|
|
111
107
|
})), build.onResolve({
|
|
112
108
|
filter: /^(react-native|react-native\/.*)$/
|
|
113
|
-
},
|
|
109
|
+
}, () => ({
|
|
114
110
|
path: "@tamagui/react-native-web-lite",
|
|
115
111
|
external: !0
|
|
116
112
|
})), build.onResolve({
|
|
117
113
|
filter: /react-native-reanimated/
|
|
118
|
-
},
|
|
114
|
+
}, () => ({
|
|
119
115
|
path: "react-native-reanimated",
|
|
120
116
|
external: !0
|
|
121
117
|
})), build.onResolve({
|
|
@@ -132,20 +128,11 @@ function getESBuildConfig({
|
|
|
132
128
|
};
|
|
133
129
|
}
|
|
134
130
|
async function esbundleTamaguiConfig(props, platform, aliases) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if ((lockStat ? (/* @__PURE__ */new Date()).getTime() - new Date(lockStat.mtime).getTime() : Number.POSITIVE_INFINITY) < 500) {
|
|
143
|
-
process.env.DEBUG?.startsWith("tamagui") && console.info("Waiting for existing build", props.entryPoints);
|
|
144
|
-
let tries = 5;
|
|
145
|
-
for (; tries--;) {
|
|
146
|
-
if (await FS.pathExists(props.outfile)) return;
|
|
147
|
-
await new Promise(res => setTimeout(res, 50));
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
FS.writeFile(lockFile, "");
|
|
131
|
+
const config = getESBuildConfig(props, platform, aliases),
|
|
132
|
+
tmpFile = props.outfile + ".tmp." + process.pid,
|
|
133
|
+
result = await import_esbuild.default.build({
|
|
134
|
+
...config,
|
|
135
|
+
outfile: tmpFile
|
|
136
|
+
});
|
|
137
|
+
return await FS.rename(tmpFile, props.outfile), result;
|
|
151
138
|
}
|
package/dist/extractor/bundle.js
CHANGED
|
@@ -27,7 +27,7 @@ __export(bundle_exports, {
|
|
|
27
27
|
esbundleTamaguiConfig: () => esbundleTamaguiConfig
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(bundle_exports);
|
|
30
|
-
var
|
|
30
|
+
var import_esbuild = __toESM(require("esbuild")), FS = __toESM(require("fs-extra")), import_esbuildAliasPlugin = require("./esbuildAliasPlugin"), import_loadTamagui = require("./loadTamagui"), import_esbuildTsconfigPaths = require("./esbuildTsconfigPaths");
|
|
31
31
|
const esbuildLoaderConfig = {
|
|
32
32
|
".js": "jsx",
|
|
33
33
|
".png": "dataurl",
|
|
@@ -88,19 +88,16 @@ function getESBuildConfig({ entryPoints, resolvePlatformSpecificEntries, ...opti
|
|
|
88
88
|
{
|
|
89
89
|
name: "external",
|
|
90
90
|
setup(build) {
|
|
91
|
-
build.onResolve({ filter: /^@tamagui
|
|
91
|
+
build.onResolve({ filter: /^@tamagui\/(core|web)$/ }, (args) => args.kind === "entry-point" ? null : {
|
|
92
92
|
path: platform === "native" ? "@tamagui/core/native" : args.path,
|
|
93
93
|
external: !0
|
|
94
|
-
} : {
|
|
95
|
-
path: args.path,
|
|
96
|
-
external: !0
|
|
97
|
-
}), build.onResolve({ filter: /react-native\/package.json$/ }, (args) => ({
|
|
94
|
+
}), build.onResolve({ filter: /react-native\/package.json$/ }, () => ({
|
|
98
95
|
path: "react-native/package.json",
|
|
99
96
|
external: !0
|
|
100
|
-
})), build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (
|
|
97
|
+
})), build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, () => ({
|
|
101
98
|
path: "@tamagui/react-native-web-lite",
|
|
102
99
|
external: !0
|
|
103
|
-
})), build.onResolve({ filter: /react-native-reanimated/ }, (
|
|
100
|
+
})), build.onResolve({ filter: /react-native-reanimated/ }, () => ({
|
|
104
101
|
path: "react-native-reanimated",
|
|
105
102
|
external: !0
|
|
106
103
|
})), build.onResolve({ filter: /^(framer-motion|motion)/ }, (args) => ({
|
|
@@ -117,22 +114,10 @@ function getESBuildConfig({ entryPoints, resolvePlatformSpecificEntries, ...opti
|
|
|
117
114
|
};
|
|
118
115
|
}
|
|
119
116
|
async function esbundleTamaguiConfig(props, platform, aliases) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
async function asyncLock(props) {
|
|
125
|
-
const lockFile = (0, import_node_path.join)((0, import_node_path.dirname)(props.outfile), (0, import_node_path.basename)(props.outfile, ".lock")), lockStat = await FS.stat(lockFile).catch(() => {
|
|
117
|
+
const config = getESBuildConfig(props, platform, aliases), tmpFile = props.outfile + ".tmp." + process.pid, result = await import_esbuild.default.build({
|
|
118
|
+
...config,
|
|
119
|
+
outfile: tmpFile
|
|
126
120
|
});
|
|
127
|
-
|
|
128
|
-
process.env.DEBUG?.startsWith("tamagui") && console.info("Waiting for existing build", props.entryPoints);
|
|
129
|
-
let tries = 5;
|
|
130
|
-
for (; tries--; ) {
|
|
131
|
-
if (await FS.pathExists(props.outfile))
|
|
132
|
-
return;
|
|
133
|
-
await new Promise((res) => setTimeout(res, 50));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
FS.writeFile(lockFile, "");
|
|
121
|
+
return await FS.rename(tmpFile, props.outfile), result;
|
|
137
122
|
}
|
|
138
123
|
//# sourceMappingURL=bundle.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/extractor/bundle.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["esbuild"]
|
|
6
6
|
}
|
|
@@ -100,10 +100,12 @@ async function bundleConfig(props) {
|
|
|
100
100
|
componentOutPaths = baseComponents.map(componentModule => (0, import_node_path.join)(tmpDir, `${componentModule.split(import_node_path.sep).join("-").replace(/[^a-z0-9]+/gi, "")}-components.config.cjs`));
|
|
101
101
|
process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.info("Building config entry", configEntry);
|
|
102
102
|
let shouldBuild = !props.disableInitialBuild;
|
|
103
|
-
if (shouldBuild && props.config)
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
if (shouldBuild && props.config) {
|
|
104
|
+
const allOutFiles = [configOutPath, ...componentOutPaths];
|
|
105
|
+
try {
|
|
106
|
+
(await Promise.all(allOutFiles.map(f => FS.stat(f).catch(() => null)))).every(s => s !== null && Date.now() - s.mtimeMs < 3e3) && (shouldBuild = !1);
|
|
107
|
+
} catch {}
|
|
108
|
+
}
|
|
107
109
|
if (shouldBuild) {
|
|
108
110
|
try {
|
|
109
111
|
await FS.ensureDir(tmpDir);
|
|
@@ -129,8 +131,15 @@ async function bundleConfig(props) {
|
|
|
129
131
|
`)}
|
|
130
132
|
`));
|
|
131
133
|
}
|
|
134
|
+
if (hasBundledOnce) {
|
|
135
|
+
try {
|
|
136
|
+
delete require.cache[require.resolve(configOutPath)];
|
|
137
|
+
} catch {}
|
|
138
|
+
for (const p of componentOutPaths) try {
|
|
139
|
+
delete require.cache[require.resolve(p)];
|
|
140
|
+
} catch {}
|
|
141
|
+
} else hasBundledOnce = !0;
|
|
132
142
|
let out;
|
|
133
|
-
if (hasBundledOnce) for (const key in require.cache) /(core|web)[/\\]dist/.test(key) || delete require.cache[key];else hasBundledOnce = !0;
|
|
134
143
|
out = require(configOutPath);
|
|
135
144
|
let config = out.default || out || out.config;
|
|
136
145
|
if (config && config.config && !config.tokens && (config = config.config), !config) throw new Error(`No config: ${config}`);
|
|
@@ -84,12 +84,17 @@ async function bundleConfig(props) {
|
|
|
84
84
|
);
|
|
85
85
|
process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.info("Building config entry", configEntry);
|
|
86
86
|
let shouldBuild = !props.disableInitialBuild;
|
|
87
|
-
if (shouldBuild && props.config)
|
|
87
|
+
if (shouldBuild && props.config) {
|
|
88
|
+
const allOutFiles = [configOutPath, ...componentOutPaths];
|
|
88
89
|
try {
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
(await Promise.all(
|
|
91
|
+
allOutFiles.map((f) => FS.stat(f).catch(() => null))
|
|
92
|
+
)).every(
|
|
93
|
+
(s) => s !== null && Date.now() - s.mtimeMs < 3e3
|
|
94
|
+
) && (shouldBuild = !1);
|
|
91
95
|
} catch {
|
|
92
96
|
}
|
|
97
|
+
}
|
|
93
98
|
if (shouldBuild) {
|
|
94
99
|
try {
|
|
95
100
|
await FS.ensureDir(tmpDir);
|
|
@@ -131,12 +136,19 @@ async function bundleConfig(props) {
|
|
|
131
136
|
`
|
|
132
137
|
));
|
|
133
138
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
if (hasBundledOnce) {
|
|
140
|
+
try {
|
|
141
|
+
delete require.cache[require.resolve(configOutPath)];
|
|
142
|
+
} catch {
|
|
143
|
+
}
|
|
144
|
+
for (const p of componentOutPaths)
|
|
145
|
+
try {
|
|
146
|
+
delete require.cache[require.resolve(p)];
|
|
147
|
+
} catch {
|
|
148
|
+
}
|
|
149
|
+
} else
|
|
139
150
|
hasBundledOnce = !0;
|
|
151
|
+
let out;
|
|
140
152
|
out = require(configOutPath);
|
|
141
153
|
let config = out.default || out || out.config;
|
|
142
154
|
if (config && config.config && !config.tokens && (config = config.config), !config)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/extractor/bundleConfig.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqB,sCACrB,kBAAqB,qCACrB,IAAmB,kCACnB,iBAAyC,oBACzC,mBAAgE,sBAEhE,mBAAgC,+BAMhC,iBAAoB,6BACpB,KAAoB,8BACpB,kBAAyB,6BACzB,yBAAkD,+BAElD,oBAA2B,yBAC3B,gBAA2D,qBAC3D,+CAAsD,oDACtD,4BAAmC;AAuBnC,MAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEM,sBAAsB;AAAA,EAC1B,QAAQ;AAAA,IACN,SAAS,GAAG,QAAQ,IAAI,aAAa,aAAa;AAAA,EACpD;AACF,GAEa,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,UAAU;AAAA,EACV,GAAG;AACL;AAKA,IAAI,gBAAsC,MACtC,aAAa,IACb,aAAmC;AACvC,MAAM,gBAAgB,oBAAI,IAAc;AAEjC,SAAS,0BAA0B;AACxC,SAAI,eAAe,gBACV,MAET,aAAa,eACN;AACT;AAEA,IAAI,eAA6C;AAE1C,MAAM,kBAAkB,MAAM;AAErC,eAAsB,iBAAiB,OAAuB,UAAU,IAAO;AAC7E,MAAI;AACF,UAAM,IAAI,QAAQ,CAAC,QAAQ;AACzB,oBAAc,IAAI,GAAG;AAAA,IACvB,CAAC;AAAA,WACQ,CAAC,iBAAiB;AAC3B,WAAO,MAAM,aAAa,KAAK;AAEjC,SAAO;AACT;AAEA,OAAO,sBAAsB;AAE7B,SAAS,iBAAiB,QAAa;AACrC,SAAO,oBAAoB,KAAK,IAAI,GACpC,OAAO,2BAA2B;AACpC;AAEA,IAAI,iBAAiB,IAKjB,iBAAiB;AAErB,eAAsB,aAAa,OAAuB;AAExD,MAAI,OAAO,4BAA4B,KAAK,IAAI,IAAI,OAAO,oBAAoB;AAE7E,WAAO,OAAO;AAGhB,MAAI;AACF,iBAAa;AAEb,UAAM,cAAc,MAAM,aACtB,oFAAsC,MAAM,MAAM,IAClD,IACE,aAAS,uBAAK,QAAQ,IAAI,GAAG,UAAU,GACvC,oBAAgB,uBAAK,QAAQ,oBAAoB,GACjD,kBAAkB,MAAM,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,MAAM,eAAe,GAC7E,oBAAoB,eAAe;AAAA,MAAI,CAAC,wBAC5C;AAAA,QACE;AAAA,QACA,GAAG,gBACA,MAAM,oBAAG,EACT,KAAK,GAAG,EACR,QAAQ,gBAAgB,EAAE,CAAC;AAAA,MAChC;AAAA,IACF;AAEA,IACE,QAAQ,IAAI,aAAa,iBACzB,QAAQ,IAAI,OAAO,WAAW,SAAS,KAEvC,QAAQ,KAAK,yBAAyB,WAAW;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["forceExports", "esbuild", "traverse", "generate"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/static",
|
|
3
|
-
"version": "2.0.0-rc.17",
|
|
3
|
+
"version": "2.0.0-rc.17-1772005607095",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -48,19 +48,19 @@
|
|
|
48
48
|
"@babel/template": "^7.25.0",
|
|
49
49
|
"@babel/traverse": "^7.25.4",
|
|
50
50
|
"@babel/types": "^7.25.4",
|
|
51
|
-
"@tamagui/cli-color": "2.0.0-rc.17",
|
|
52
|
-
"@tamagui/config-default": "2.0.0-rc.17",
|
|
53
|
-
"@tamagui/core": "2.0.0-rc.17",
|
|
54
|
-
"@tamagui/fake-react-native": "2.0.0-rc.17",
|
|
55
|
-
"@tamagui/generate-themes": "2.0.0-rc.17",
|
|
56
|
-
"@tamagui/helpers": "2.0.0-rc.17",
|
|
57
|
-
"@tamagui/helpers-node": "2.0.0-rc.17",
|
|
58
|
-
"@tamagui/proxy-worm": "2.0.0-rc.17",
|
|
59
|
-
"@tamagui/react-native-web-internals": "2.0.0-rc.17",
|
|
60
|
-
"@tamagui/react-native-web-lite": "2.0.0-rc.17",
|
|
61
|
-
"@tamagui/shorthands": "2.0.0-rc.17",
|
|
62
|
-
"@tamagui/types": "2.0.0-rc.17",
|
|
63
|
-
"@tamagui/web": "2.0.0-rc.17",
|
|
51
|
+
"@tamagui/cli-color": "2.0.0-rc.17-1772005607095",
|
|
52
|
+
"@tamagui/config-default": "2.0.0-rc.17-1772005607095",
|
|
53
|
+
"@tamagui/core": "2.0.0-rc.17-1772005607095",
|
|
54
|
+
"@tamagui/fake-react-native": "2.0.0-rc.17-1772005607095",
|
|
55
|
+
"@tamagui/generate-themes": "2.0.0-rc.17-1772005607095",
|
|
56
|
+
"@tamagui/helpers": "2.0.0-rc.17-1772005607095",
|
|
57
|
+
"@tamagui/helpers-node": "2.0.0-rc.17-1772005607095",
|
|
58
|
+
"@tamagui/proxy-worm": "2.0.0-rc.17-1772005607095",
|
|
59
|
+
"@tamagui/react-native-web-internals": "2.0.0-rc.17-1772005607095",
|
|
60
|
+
"@tamagui/react-native-web-lite": "2.0.0-rc.17-1772005607095",
|
|
61
|
+
"@tamagui/shorthands": "2.0.0-rc.17-1772005607095",
|
|
62
|
+
"@tamagui/types": "2.0.0-rc.17-1772005607095",
|
|
63
|
+
"@tamagui/web": "2.0.0-rc.17-1772005607095",
|
|
64
64
|
"babel-literal-to-ast": "^2.1.0",
|
|
65
65
|
"browserslist": "^4.28.1",
|
|
66
66
|
"check-dependency-version-consistency": "^4.1.0",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@babel/plugin-syntax-typescript": "^7.25.4",
|
|
80
|
-
"@tamagui/build": "2.0.0-rc.17",
|
|
80
|
+
"@tamagui/build": "2.0.0-rc.17-1772005607095",
|
|
81
81
|
"@types/babel__core": "^7.20.5",
|
|
82
82
|
"@types/find-root": "^1.1.2",
|
|
83
83
|
"@types/node": "^22.1.0",
|
package/src/extractor/bundle.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { join } from 'node:path'
|
|
2
2
|
import esbuild from 'esbuild'
|
|
3
3
|
import * as FS from 'fs-extra'
|
|
4
4
|
import type { TamaguiPlatform } from '../types'
|
|
@@ -95,42 +95,34 @@ function getESBuildConfig(
|
|
|
95
95
|
{
|
|
96
96
|
name: 'external',
|
|
97
97
|
setup(build) {
|
|
98
|
-
// externalize @tamagui
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
build.onResolve({ filter: /^@tamagui
|
|
102
|
-
// entry points cannot be external
|
|
98
|
+
// only externalize @tamagui/core and @tamagui/web - these are provided at runtime
|
|
99
|
+
// other @tamagui/* packages (like @tamagui/config/v3) must be bundled in to avoid
|
|
100
|
+
// ESM race conditions when multiple threads require() them concurrently
|
|
101
|
+
build.onResolve({ filter: /^@tamagui\/(core|web)$/ }, (args) => {
|
|
103
102
|
if (args.kind === 'entry-point') {
|
|
104
103
|
return null
|
|
105
104
|
}
|
|
106
|
-
// special case: @tamagui/core and @tamagui/web resolve to /native for native platform
|
|
107
|
-
if (args.path.match(/^@tamagui\/(core|web)$/)) {
|
|
108
|
-
return {
|
|
109
|
-
path: platform === 'native' ? '@tamagui/core/native' : args.path,
|
|
110
|
-
external: true,
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
105
|
return {
|
|
114
|
-
path: args.path,
|
|
106
|
+
path: platform === 'native' ? '@tamagui/core/native' : args.path,
|
|
115
107
|
external: true,
|
|
116
108
|
}
|
|
117
109
|
})
|
|
118
110
|
|
|
119
|
-
build.onResolve({ filter: /react-native\/package.json$/ }, (
|
|
111
|
+
build.onResolve({ filter: /react-native\/package.json$/ }, () => {
|
|
120
112
|
return {
|
|
121
113
|
path: 'react-native/package.json',
|
|
122
114
|
external: true,
|
|
123
115
|
}
|
|
124
116
|
})
|
|
125
117
|
|
|
126
|
-
build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (
|
|
118
|
+
build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, () => {
|
|
127
119
|
return {
|
|
128
120
|
path: '@tamagui/react-native-web-lite',
|
|
129
121
|
external: true,
|
|
130
122
|
}
|
|
131
123
|
})
|
|
132
124
|
|
|
133
|
-
build.onResolve({ filter: /react-native-reanimated/ }, (
|
|
125
|
+
build.onResolve({ filter: /react-native-reanimated/ }, () => {
|
|
134
126
|
return {
|
|
135
127
|
path: 'react-native-reanimated',
|
|
136
128
|
external: true,
|
|
@@ -161,31 +153,18 @@ export async function esbundleTamaguiConfig(
|
|
|
161
153
|
platform: TamaguiPlatform,
|
|
162
154
|
aliases?: Record<string, string>
|
|
163
155
|
) {
|
|
164
|
-
await asyncLock(props)
|
|
165
156
|
const config = getESBuildConfig(props, platform, aliases)
|
|
166
|
-
return await esbuild.build(config)
|
|
167
|
-
}
|
|
168
157
|
|
|
169
|
-
//
|
|
170
|
-
|
|
171
|
-
const
|
|
172
|
-
const
|
|
173
|
-
|
|
158
|
+
// build to memory first, then write atomically (temp file + rename)
|
|
159
|
+
// to prevent other threads from reading partially-written files
|
|
160
|
+
const tmpFile = props.outfile + '.tmp.' + process.pid
|
|
161
|
+
const result = await esbuild.build({
|
|
162
|
+
...config,
|
|
163
|
+
outfile: tmpFile,
|
|
174
164
|
})
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
console.info(`Waiting for existing build`, props.entryPoints)
|
|
181
|
-
}
|
|
182
|
-
let tries = 5
|
|
183
|
-
while (tries--) {
|
|
184
|
-
if (await FS.pathExists(props.outfile)) {
|
|
185
|
-
return
|
|
186
|
-
}
|
|
187
|
-
await new Promise((res) => setTimeout(res, 50))
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
void FS.writeFile(lockFile, '')
|
|
165
|
+
|
|
166
|
+
// atomic rename prevents other threads from reading partial files
|
|
167
|
+
await FS.rename(tmpFile, props.outfile)
|
|
168
|
+
|
|
169
|
+
return result
|
|
191
170
|
}
|
|
@@ -141,19 +141,25 @@ export async function bundleConfig(props: TamaguiOptions) {
|
|
|
141
141
|
console.info(`Building config entry`, configEntry)
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
// check if
|
|
145
|
-
// this prevents duplicate builds across worker threads
|
|
144
|
+
// check if ALL output files (config + components) already exist and are recent
|
|
145
|
+
// (built by another worker) - this prevents duplicate builds across worker threads
|
|
146
|
+
// we must check ALL files, not just the config, to avoid a race where another
|
|
147
|
+
// worker has written the config but not yet finished writing component files
|
|
146
148
|
let shouldBuild = !props.disableInitialBuild
|
|
147
149
|
if (shouldBuild && props.config) {
|
|
150
|
+
const allOutFiles = [configOutPath, ...componentOutPaths]
|
|
148
151
|
try {
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
const stats = await Promise.all(
|
|
153
|
+
allOutFiles.map((f) => FS.stat(f).catch(() => null))
|
|
154
|
+
)
|
|
155
|
+
const allExistAndRecent = stats.every(
|
|
156
|
+
(s) => s !== null && Date.now() - s.mtimeMs < 3000
|
|
157
|
+
)
|
|
158
|
+
if (allExistAndRecent) {
|
|
153
159
|
shouldBuild = false
|
|
154
160
|
}
|
|
155
161
|
} catch {
|
|
156
|
-
//
|
|
162
|
+
// something went wrong checking files, just build
|
|
157
163
|
}
|
|
158
164
|
}
|
|
159
165
|
|
|
@@ -217,23 +223,27 @@ export async function bundleConfig(props: TamaguiOptions) {
|
|
|
217
223
|
}
|
|
218
224
|
}
|
|
219
225
|
|
|
220
|
-
|
|
221
|
-
//
|
|
222
|
-
//
|
|
223
|
-
// in files that hookMatcher skips
|
|
226
|
+
// clear specific output file caches so we pick up the fresh (or newly discovered) build
|
|
227
|
+
// only clear the built output files - not all require.cache entries, since that breaks
|
|
228
|
+
// external requires like @tamagui/config/v3 that are externalized in the bundled CJS
|
|
224
229
|
if (hasBundledOnce) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
//
|
|
229
|
-
|
|
230
|
-
|
|
230
|
+
try {
|
|
231
|
+
delete require.cache[require.resolve(configOutPath)]
|
|
232
|
+
} catch {
|
|
233
|
+
// file may not exist yet
|
|
234
|
+
}
|
|
235
|
+
for (const p of componentOutPaths) {
|
|
236
|
+
try {
|
|
237
|
+
delete require.cache[require.resolve(p)]
|
|
238
|
+
} catch {
|
|
239
|
+
// file may not exist yet
|
|
231
240
|
}
|
|
232
241
|
}
|
|
233
242
|
} else {
|
|
234
243
|
hasBundledOnce = true
|
|
235
244
|
}
|
|
236
245
|
|
|
246
|
+
let out
|
|
237
247
|
out = require(configOutPath)
|
|
238
248
|
|
|
239
249
|
// try and find .config, even if on .default
|
|
@@ -34,6 +34,88 @@ type Props = Omit<Partial<esbuild.BuildOptions>, 'entryPoints'> & {
|
|
|
34
34
|
entryPoints: string[];
|
|
35
35
|
resolvePlatformSpecificEntries?: boolean;
|
|
36
36
|
};
|
|
37
|
-
export declare function esbundleTamaguiConfig(props: Props, platform: TamaguiPlatform, aliases?: Record<string, string>): Promise<esbuild.BuildResult<
|
|
37
|
+
export declare function esbundleTamaguiConfig(props: Props, platform: TamaguiPlatform, aliases?: Record<string, string>): Promise<esbuild.BuildResult<{
|
|
38
|
+
outfile: string;
|
|
39
|
+
bundle?: boolean;
|
|
40
|
+
splitting?: boolean;
|
|
41
|
+
preserveSymlinks?: boolean;
|
|
42
|
+
metafile?: boolean;
|
|
43
|
+
outdir?: string;
|
|
44
|
+
outbase?: string;
|
|
45
|
+
external?: string[];
|
|
46
|
+
packages?: "bundle" | "external";
|
|
47
|
+
alias?: Record<string, string>;
|
|
48
|
+
loader?: {
|
|
49
|
+
[ext: string]: esbuild.Loader;
|
|
50
|
+
};
|
|
51
|
+
resolveExtensions?: string[];
|
|
52
|
+
mainFields?: string[];
|
|
53
|
+
conditions?: string[];
|
|
54
|
+
write?: boolean;
|
|
55
|
+
allowOverwrite?: boolean;
|
|
56
|
+
tsconfig?: string;
|
|
57
|
+
outExtension?: {
|
|
58
|
+
[ext: string]: string;
|
|
59
|
+
};
|
|
60
|
+
publicPath?: string;
|
|
61
|
+
entryNames?: string;
|
|
62
|
+
chunkNames?: string;
|
|
63
|
+
assetNames?: string;
|
|
64
|
+
inject?: string[];
|
|
65
|
+
banner?: {
|
|
66
|
+
[type: string]: string;
|
|
67
|
+
};
|
|
68
|
+
footer?: {
|
|
69
|
+
[type: string]: string;
|
|
70
|
+
};
|
|
71
|
+
entryPoints?: (string | {
|
|
72
|
+
in: string;
|
|
73
|
+
out: string;
|
|
74
|
+
})[] | Record<string, string>;
|
|
75
|
+
stdin?: esbuild.StdinOptions;
|
|
76
|
+
plugins?: esbuild.Plugin[];
|
|
77
|
+
absWorkingDir?: string;
|
|
78
|
+
nodePaths?: string[];
|
|
79
|
+
sourcemap?: boolean | "linked" | "inline" | "external" | "both";
|
|
80
|
+
legalComments?: "none" | "inline" | "eof" | "linked" | "external";
|
|
81
|
+
sourceRoot?: string;
|
|
82
|
+
sourcesContent?: boolean;
|
|
83
|
+
format?: esbuild.Format;
|
|
84
|
+
globalName?: string;
|
|
85
|
+
target?: string | string[];
|
|
86
|
+
supported?: Record<string, boolean>;
|
|
87
|
+
platform?: esbuild.Platform;
|
|
88
|
+
mangleProps?: RegExp;
|
|
89
|
+
reserveProps?: RegExp;
|
|
90
|
+
mangleQuoted?: boolean;
|
|
91
|
+
mangleCache?: Record<string, string | false>;
|
|
92
|
+
drop?: esbuild.Drop[];
|
|
93
|
+
dropLabels?: string[];
|
|
94
|
+
minify?: boolean;
|
|
95
|
+
minifyWhitespace?: boolean;
|
|
96
|
+
minifyIdentifiers?: boolean;
|
|
97
|
+
minifySyntax?: boolean;
|
|
98
|
+
lineLimit?: number;
|
|
99
|
+
charset?: esbuild.Charset;
|
|
100
|
+
treeShaking?: boolean;
|
|
101
|
+
ignoreAnnotations?: boolean;
|
|
102
|
+
jsx?: "transform" | "preserve" | "automatic";
|
|
103
|
+
jsxFactory?: string;
|
|
104
|
+
jsxFragment?: string;
|
|
105
|
+
jsxImportSource?: string;
|
|
106
|
+
jsxDev?: boolean;
|
|
107
|
+
jsxSideEffects?: boolean;
|
|
108
|
+
define?: {
|
|
109
|
+
[key: string]: string;
|
|
110
|
+
};
|
|
111
|
+
pure?: string[];
|
|
112
|
+
keepNames?: boolean;
|
|
113
|
+
absPaths?: esbuild.AbsPaths[];
|
|
114
|
+
color?: boolean;
|
|
115
|
+
logLevel?: esbuild.LogLevel;
|
|
116
|
+
logLimit?: number;
|
|
117
|
+
logOverride?: Record<string, esbuild.LogLevel>;
|
|
118
|
+
tsconfigRaw?: string | esbuild.TsconfigRaw;
|
|
119
|
+
}>>;
|
|
38
120
|
export {};
|
|
39
121
|
//# sourceMappingURL=bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/extractor/bundle.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAQV,eAAO,MAAM,uBAAuB,QAAqD,CAAA;AAEzF;;GAEG;AAEH,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC,CAAA;
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/extractor/bundle.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAQV,eAAO,MAAM,uBAAuB,QAAqD,CAAA;AAEzF;;GAEG;AAEH,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,GAAG;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,8BAA8B,CAAC,EAAE,OAAO,CAAA;CACzC,CAAA;AAoGD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAKrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,YAAY,CAAA;KAC3B,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAgBD,eAAO,MAAM,cAAc;;;;;;;;CAMK,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAQxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AAEjD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAS5E;AAgBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"bundleConfig.d.ts","sourceRoot":"","sources":["../../src/extractor/bundleConfig.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAA;AAKrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C,KAAK,WAAW,GAAG;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;QACE,YAAY,EAAE,YAAY,CAAA;KAC3B,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAgBD,eAAO,MAAM,cAAc;;;;;;;;CAMK,CAAA;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAQxF,wBAAgB,uBAAuB,YAMtC;AAID,eAAO,MAAM,eAAe,oCAAqB,CAAA;AAEjD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAQ,gBAS5E;AAgBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,gBA8NvD;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,iBAmBrF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,UAAQ,sBAIzE;AAqBD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,UAAQ,GACnB,IAAI,GAAG,gBAAgB,EAAE,CA+H3B"}
|