@tamagui/native-ci 2.0.0-1768696252732 → 2.0.0-1768699687560
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/metro.js +11 -5
- package/dist/metro.js.map +1 -1
- package/dist/metro.mjs +12 -5
- package/dist/metro.mjs.map +1 -1
- package/package.json +2 -2
- package/src/metro.ts +18 -7
- package/types/metro.d.ts +2 -2
- package/types/metro.d.ts.map +1 -1
package/dist/metro.js
CHANGED
|
@@ -46,15 +46,21 @@ function startMetro() {
|
|
|
46
46
|
});
|
|
47
47
|
return {
|
|
48
48
|
proc,
|
|
49
|
-
kill: () => {
|
|
50
|
-
proc.
|
|
49
|
+
kill: async () => {
|
|
50
|
+
const pid = proc.pid;
|
|
51
|
+
if (pid)
|
|
52
|
+
try {
|
|
53
|
+
await Bun.spawn(["pkill", "-P", String(pid)], { stdout: "ignore", stderr: "ignore" }).exited;
|
|
54
|
+
} catch {
|
|
55
|
+
}
|
|
56
|
+
proc.kill("SIGKILL"), console.info("Metro stopped");
|
|
51
57
|
}
|
|
52
58
|
};
|
|
53
59
|
}
|
|
54
60
|
function setupSignalHandlers(metro) {
|
|
55
|
-
const cleanup = (signal) => {
|
|
61
|
+
const cleanup = async (signal) => {
|
|
56
62
|
console.info(`
|
|
57
|
-
Received ${signal}, cleaning up...`), metro.kill(), process.exit(signal === "SIGINT" ? 130 : 143);
|
|
63
|
+
Received ${signal}, cleaning up...`), await metro.kill(), process.exit(signal === "SIGINT" ? 130 : 143);
|
|
58
64
|
};
|
|
59
65
|
process.on("SIGINT", () => cleanup("SIGINT")), process.on("SIGTERM", () => cleanup("SIGTERM"));
|
|
60
66
|
}
|
|
@@ -66,7 +72,7 @@ async function withMetro(platform, fn) {
|
|
|
66
72
|
throw new Error("Metro failed to start within timeout");
|
|
67
73
|
return await prewarmBundle(platform), await fn();
|
|
68
74
|
} finally {
|
|
69
|
-
metro.kill();
|
|
75
|
+
await metro.kill();
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
78
|
export {
|
package/dist/metro.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/metro.ts"],
|
|
4
|
-
"mappings": "AAQA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAuBP,eAAsB,aAAa,SAAyC;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd,aAAa;AAAA,EACf,IAAI;AAEJ,UAAQ,KAAK,+BAA+B;AAE5C,WAAS,IAAI,GAAG,KAAK,aAAa,KAAK;AACrC,QAAI;AAIF,WAHiB,MAAM,MAAM,GAAG,SAAS,KAAK;AAAA,QAC5C,SAAS,EAAE,iBAAiB,SAAS;AAAA,MACvC,CAAC,GACY;AACX,uBAAQ,KAAK,sBAAsB,GAC5B;AAAA,IAEX,QAAQ;AAAA,IAER;AACA,YAAQ,KAAK,yBAAyB,CAAC,IAAI,WAAW,GAAG,GACzD,MAAM,IAAI,MAAM,UAAU;AAAA,EAC5B;AAEA,SAAO;AACT;AAMA,eAAsB,cAAc,UAAmC;AACrE,UAAQ,KAAK,uBAAuB;AAEpC,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG,SAAS,KAAK;AAAA,MAC5C,SAAS,EAAE,iBAAiB,SAAS;AAAA,IACvC,CAAC;AAED,QAAI,SAAS,IAAI;AAEf,YAAM,aADY,MAAM,SAAS,KAAK,IACV,aAAa;AAEzC,MAAI,aACF,QAAQ,KAAK,yBAAyB,SAAS,EAAE,GACjD,MAAM,MAAM,SAAS,GACrB,QAAQ,KAAK,oBAAoB,KAEjC,QAAQ,KAAK,oDAAoD;AAAA,IAErE;AAAA,EACF,QAAgB;AAEd,YAAQ,KAAK,oDAAoD;AAAA,EACnE;AACF;AAOO,SAAS,aAA2B;AACzC,UAAQ,KAAK;AAAA,+BAAkC;AAI/C,QAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,QAAQ,SAAS,gBAAgB,aAAa,SAAS,GAAG;AAAA,IACxF,KAAK,EAAE,GAAG,QAAQ,KAAK,mBAAmB,OAAO;AAAA,IACjD,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,MAAM,MAAM;
|
|
4
|
+
"mappings": "AAQA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AAuBP,eAAsB,aAAa,SAAyC;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd,aAAa;AAAA,EACf,IAAI;AAEJ,UAAQ,KAAK,+BAA+B;AAE5C,WAAS,IAAI,GAAG,KAAK,aAAa,KAAK;AACrC,QAAI;AAIF,WAHiB,MAAM,MAAM,GAAG,SAAS,KAAK;AAAA,QAC5C,SAAS,EAAE,iBAAiB,SAAS;AAAA,MACvC,CAAC,GACY;AACX,uBAAQ,KAAK,sBAAsB,GAC5B;AAAA,IAEX,QAAQ;AAAA,IAER;AACA,YAAQ,KAAK,yBAAyB,CAAC,IAAI,WAAW,GAAG,GACzD,MAAM,IAAI,MAAM,UAAU;AAAA,EAC5B;AAEA,SAAO;AACT;AAMA,eAAsB,cAAc,UAAmC;AACrE,UAAQ,KAAK,uBAAuB;AAEpC,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,GAAG,SAAS,KAAK;AAAA,MAC5C,SAAS,EAAE,iBAAiB,SAAS;AAAA,IACvC,CAAC;AAED,QAAI,SAAS,IAAI;AAEf,YAAM,aADY,MAAM,SAAS,KAAK,IACV,aAAa;AAEzC,MAAI,aACF,QAAQ,KAAK,yBAAyB,SAAS,EAAE,GACjD,MAAM,MAAM,SAAS,GACrB,QAAQ,KAAK,oBAAoB,KAEjC,QAAQ,KAAK,oDAAoD;AAAA,IAErE;AAAA,EACF,QAAgB;AAEd,YAAQ,KAAK,oDAAoD;AAAA,EACnE;AACF;AAOO,SAAS,aAA2B;AACzC,UAAQ,KAAK;AAAA,+BAAkC;AAI/C,QAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,QAAQ,SAAS,gBAAgB,aAAa,SAAS,GAAG;AAAA,IACxF,KAAK,EAAE,GAAG,QAAQ,KAAK,mBAAmB,OAAO;AAAA,IACjD,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,MAAM,YAAY;AAGhB,YAAM,MAAM,KAAK;AACjB,UAAI;AACF,YAAI;AAEF,gBAAM,IAAI,MAAM,CAAC,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,QAAQ,UAAU,QAAQ,SAAS,CAAC,EAAE;AAAA,QACxF,QAAQ;AAAA,QAER;AAEF,WAAK,KAAK,SAAS,GACnB,QAAQ,KAAK,eAAe;AAAA,IAC9B;AAAA,EACF;AACF;AAMO,SAAS,oBAAoB,OAA2B;AAC7D,QAAM,UAAU,OAAO,WAAmB;AACxC,YAAQ,KAAK;AAAA,WAAc,MAAM,kBAAkB,GACnD,MAAM,MAAM,KAAK,GACjB,QAAQ,KAAK,WAAW,WAAW,MAAM,GAAG;AAAA,EAC9C;AAEA,UAAQ,GAAG,UAAU,MAAM,QAAQ,QAAQ,CAAC,GAC5C,QAAQ,GAAG,WAAW,MAAM,QAAQ,SAAS,CAAC;AAChD;AAOA,eAAsB,UAAa,UAAoB,IAAkC;AACvF,QAAM,QAAQ,WAAW;AACzB,sBAAoB,KAAK;AAEzB,MAAI;AAEF,QAAI,CADe,MAAM,aAAa,EAAE,SAAS,CAAC;AAEhD,YAAM,IAAI,MAAM,sCAAsC;AAGxD,iBAAM,cAAc,QAAQ,GAErB,MAAM,GAAG;AAAA,EAClB,UAAE;AACA,UAAM,MAAM,KAAK;AAAA,EACnB;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/metro.mjs
CHANGED
|
@@ -47,15 +47,22 @@ function startMetro() {
|
|
|
47
47
|
});
|
|
48
48
|
return {
|
|
49
49
|
proc,
|
|
50
|
-
kill: () => {
|
|
51
|
-
proc.
|
|
50
|
+
kill: async () => {
|
|
51
|
+
const pid = proc.pid;
|
|
52
|
+
if (pid) try {
|
|
53
|
+
await Bun.spawn(["pkill", "-P", String(pid)], {
|
|
54
|
+
stdout: "ignore",
|
|
55
|
+
stderr: "ignore"
|
|
56
|
+
}).exited;
|
|
57
|
+
} catch {}
|
|
58
|
+
proc.kill("SIGKILL"), console.info("Metro stopped");
|
|
52
59
|
}
|
|
53
60
|
};
|
|
54
61
|
}
|
|
55
62
|
function setupSignalHandlers(metro) {
|
|
56
|
-
const cleanup = signal => {
|
|
63
|
+
const cleanup = async signal => {
|
|
57
64
|
console.info(`
|
|
58
|
-
Received ${signal}, cleaning up...`), metro.kill(), process.exit(signal === "SIGINT" ? 130 : 143);
|
|
65
|
+
Received ${signal}, cleaning up...`), await metro.kill(), process.exit(signal === "SIGINT" ? 130 : 143);
|
|
59
66
|
};
|
|
60
67
|
process.on("SIGINT", () => cleanup("SIGINT")), process.on("SIGTERM", () => cleanup("SIGTERM"));
|
|
61
68
|
}
|
|
@@ -68,7 +75,7 @@ async function withMetro(platform, fn) {
|
|
|
68
75
|
}))) throw new Error("Metro failed to start within timeout");
|
|
69
76
|
return await prewarmBundle(platform), await fn();
|
|
70
77
|
} finally {
|
|
71
|
-
metro.kill();
|
|
78
|
+
await metro.kill();
|
|
72
79
|
}
|
|
73
80
|
}
|
|
74
81
|
export { prewarmBundle, setupSignalHandlers, startMetro, waitForMetro, withMetro };
|
package/dist/metro.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["METRO_URL","DEFAULT_METRO_WAIT_ATTEMPTS","DEFAULT_METRO_WAIT_INTERVAL_MS","waitForMetro","options","platform","maxAttempts","intervalMs","console","info","i","fetch","headers","ok","Bun","sleep","prewarmBundle","response","bundleUrl","json","launchAsset","url","startMetro","proc","spawn","env","process","EXPO_NO_TELEMETRY","stdout","stderr","kill","setupSignalHandlers","metro","cleanup","signal","exit","on","withMetro","fn","Error"],"sources":["../src/metro.ts"],"sourcesContent":[null],"mappings":"AAQA,SACEA,SAAA,EACAC,2BAAA,EACAC,8BAAA,QAGK;AAuBP,eAAsBC,aAAaC,OAAA,EAAyC;EAC1E,MAAM;IACJC,QAAA;IACAC,WAAA,GAAcL,2BAAA;IACdM,UAAA,GAAaL;EACf,IAAIE,OAAA;EAEJI,OAAA,CAAQC,IAAA,CAAK,+BAA+B;EAE5C,SAASC,CAAA,GAAI,GAAGA,CAAA,IAAKJ,WAAA,EAAaI,CAAA,IAAK;IACrC,IAAI;MAIF,KAHiB,MAAMC,KAAA,CAAM,GAAGX,SAAS,KAAK;QAC5CY,OAAA,EAAS;UAAE,iBAAiBP;QAAS;MACvC,CAAC,GACYQ,EAAA,EACX,OAAAL,OAAA,CAAQC,IAAA,CAAK,sBAAsB,GAC5B;IAEX,QAAQ,CAER;IACAD,OAAA,CAAQC,IAAA,CAAK,yBAAyBC,CAAC,IAAIJ,WAAW,GAAG,GACzD,MAAMQ,GAAA,CAAIC,KAAA,CAAMR,UAAU;EAC5B;EAEA,OAAO;AACT;AAMA,eAAsBS,cAAcX,QAAA,EAAmC;EACrEG,OAAA,CAAQC,IAAA,CAAK,uBAAuB;EAEpC,IAAI;IACF,MAAMQ,QAAA,GAAW,MAAMN,KAAA,CAAM,GAAGX,SAAS,KAAK;MAC5CY,OAAA,EAAS;QAAE,iBAAiBP;MAAS;IACvC,CAAC;IAED,IAAIY,QAAA,CAASJ,EAAA,EAAI;MAEf,MAAMK,SAAA,IADY,MAAMD,QAAA,CAASE,IAAA,CAAK,IACVC,WAAA,EAAaC,GAAA;MAErCH,SAAA,IACFV,OAAA,CAAQC,IAAA,CAAK,yBAAyBS,SAAS,EAAE,GACjD,MAAMP,KAAA,CAAMO,SAAS,GACrBV,OAAA,CAAQC,IAAA,CAAK,oBAAoB,KAEjCD,OAAA,CAAQC,IAAA,CAAK,oDAAoD;IAErE;EACF,QAAgB;IAEdD,OAAA,CAAQC,IAAA,CAAK,oDAAoD;EACnE;AACF;AAOO,SAASa,WAAA,EAA2B;EACzCd,OAAA,CAAQC,IAAA,CAAK;AAAA,+BAAkC;EAI/C,MAAMc,IAAA,GAAOT,GAAA,CAAIU,KAAA,CAAM,CAAC,QAAQ,QAAQ,SAAS,gBAAgB,aAAa,SAAS,GAAG;IACxFC,GAAA,EAAK;MAAE,GAAGC,OAAA,CAAQD,GAAA;MAAKE,iBAAA,EAAmB;IAAO;IACjDC,MAAA,EAAQ;IACRC,MAAA,EAAQ;EACV,CAAC;EAED,OAAO;IACLN,IAAA;IACAO,IAAA,
|
|
1
|
+
{"version":3,"names":["METRO_URL","DEFAULT_METRO_WAIT_ATTEMPTS","DEFAULT_METRO_WAIT_INTERVAL_MS","waitForMetro","options","platform","maxAttempts","intervalMs","console","info","i","fetch","headers","ok","Bun","sleep","prewarmBundle","response","bundleUrl","json","launchAsset","url","startMetro","proc","spawn","env","process","EXPO_NO_TELEMETRY","stdout","stderr","kill","pid","String","exited","setupSignalHandlers","metro","cleanup","signal","exit","on","withMetro","fn","Error"],"sources":["../src/metro.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/native-ci",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-1768699687560",
|
|
4
4
|
"description": "Native CI/CD helpers for React Native apps with Expo - fingerprinting, caching, and build optimization",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@expo/fingerprint": "^0.15.3"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "2.0.0-
|
|
42
|
+
"@tamagui/build": "2.0.0-1768699687560",
|
|
43
43
|
"@types/bun": "^1.1.0",
|
|
44
44
|
"@types/node": "^22.1.0"
|
|
45
45
|
},
|
package/src/metro.ts
CHANGED
|
@@ -26,8 +26,8 @@ export interface MetroOptions {
|
|
|
26
26
|
export interface MetroProcess {
|
|
27
27
|
/** The underlying Bun subprocess */
|
|
28
28
|
proc: Subprocess
|
|
29
|
-
/** Kill the Metro process */
|
|
30
|
-
kill: () => void
|
|
29
|
+
/** Kill the Metro process and its children */
|
|
30
|
+
kill: () => Promise<void>
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/**
|
|
@@ -111,8 +111,19 @@ export function startMetro(): MetroProcess {
|
|
|
111
111
|
|
|
112
112
|
return {
|
|
113
113
|
proc,
|
|
114
|
-
kill: () => {
|
|
115
|
-
|
|
114
|
+
kill: async () => {
|
|
115
|
+
// Metro spawns child processes (watchman, etc.) that may survive a simple kill
|
|
116
|
+
// Use pkill to kill the entire process tree by parent PID
|
|
117
|
+
const pid = proc.pid
|
|
118
|
+
if (pid) {
|
|
119
|
+
try {
|
|
120
|
+
// Kill all child processes first (works on macOS and Linux)
|
|
121
|
+
await Bun.spawn(['pkill', '-P', String(pid)], { stdout: 'ignore', stderr: 'ignore' }).exited
|
|
122
|
+
} catch {
|
|
123
|
+
// Ignore errors - children may already be dead
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
proc.kill('SIGKILL')
|
|
116
127
|
console.info('Metro stopped')
|
|
117
128
|
},
|
|
118
129
|
}
|
|
@@ -123,9 +134,9 @@ export function startMetro(): MetroProcess {
|
|
|
123
134
|
* This prevents orphaned Metro processes when CI jobs are cancelled.
|
|
124
135
|
*/
|
|
125
136
|
export function setupSignalHandlers(metro: MetroProcess): void {
|
|
126
|
-
const cleanup = (signal: string) => {
|
|
137
|
+
const cleanup = async (signal: string) => {
|
|
127
138
|
console.info(`\nReceived ${signal}, cleaning up...`)
|
|
128
|
-
metro.kill()
|
|
139
|
+
await metro.kill()
|
|
129
140
|
process.exit(signal === 'SIGINT' ? 130 : 143)
|
|
130
141
|
}
|
|
131
142
|
|
|
@@ -152,6 +163,6 @@ export async function withMetro<T>(platform: Platform, fn: () => Promise<T>): Pr
|
|
|
152
163
|
|
|
153
164
|
return await fn()
|
|
154
165
|
} finally {
|
|
155
|
-
metro.kill()
|
|
166
|
+
await metro.kill()
|
|
156
167
|
}
|
|
157
168
|
}
|
package/types/metro.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export interface MetroOptions {
|
|
|
17
17
|
export interface MetroProcess {
|
|
18
18
|
/** The underlying Bun subprocess */
|
|
19
19
|
proc: Subprocess;
|
|
20
|
-
/** Kill the Metro process */
|
|
21
|
-
kill: () => void
|
|
20
|
+
/** Kill the Metro process and its children */
|
|
21
|
+
kill: () => Promise<void>;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Wait for Metro bundler to be ready and responding to requests.
|
package/types/metro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../src/metro.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACrC,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,QAAQ,CAAA;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,
|
|
1
|
+
{"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../src/metro.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACrC,OAAO,EAIL,KAAK,QAAQ,EAEd,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,QAAQ,CAAA;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,IAAI,EAAE,UAAU,CAAA;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B1E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,YAAY,CA6BzC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAS7D;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBvF"}
|