@dylanpiercey/work 0.0.11 → 0.0.13
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/bin/work.mjs +107 -0
- package/dist/index.mjs +3 -3
- package/dist/public/assets/{_CY9fvXvg.js → _-gyK8vJ-.js} +2 -2
- package/dist/public/assets/{_CY9fvXvg.js.map → _-gyK8vJ-.js.map} +1 -1
- package/dist/public/assets/{_BGcQuwom.js → _9XtunSg7.js} +2 -2
- package/dist/public/assets/{_BGcQuwom.js.map → _9XtunSg7.js.map} +1 -1
- package/dist/public/assets/{_COjvApw5.js → _B31BFjeo.js} +2 -2
- package/dist/public/assets/{_COjvApw5.js.map → _B31BFjeo.js.map} +1 -1
- package/dist/public/assets/{_BUNsdM7N.js → _B4U6RXlg.js} +2 -2
- package/dist/public/assets/{_BUNsdM7N.js.map → _B4U6RXlg.js.map} +1 -1
- package/dist/public/assets/{_DGzOveRF.js → _B6OKTJ3U.js} +2 -2
- package/dist/public/assets/{_DGzOveRF.js.map → _B6OKTJ3U.js.map} +1 -1
- package/dist/public/assets/{_CbL7aWfv.js → _B7X9man_.js} +2 -2
- package/dist/public/assets/{_CbL7aWfv.js.map → _B7X9man_.js.map} +1 -1
- package/dist/public/assets/{_C2iaQ953.js → _B8okAqG-.js} +2 -2
- package/dist/public/assets/{_C2iaQ953.js.map → _B8okAqG-.js.map} +1 -1
- package/dist/public/assets/{_Dp01MMO42.js → _BCDnEeXi2.js} +2 -2
- package/dist/public/assets/{_Dp01MMO42.js.map → _BCDnEeXi2.js.map} +1 -1
- package/dist/public/assets/{_AvFmZM6P.js → _BD3GuTLe.js} +2 -2
- package/dist/public/assets/{_AvFmZM6P.js.map → _BD3GuTLe.js.map} +1 -1
- package/dist/public/assets/{_CNDu3El-.js → _BH3qAqXE.js} +2 -2
- package/dist/public/assets/{_CNDu3El-.js.map → _BH3qAqXE.js.map} +1 -1
- package/dist/public/assets/{_Dou03otF.js → _BLA94hyL.js} +2 -2
- package/dist/public/assets/{_Dou03otF.js.map → _BLA94hyL.js.map} +1 -1
- package/dist/public/assets/{_B60B9ttT2.js → _BMK2JGG-2.js} +2 -2
- package/dist/public/assets/{_B60B9ttT2.js.map → _BMK2JGG-2.js.map} +1 -1
- package/dist/public/assets/{_CaEMsx56.js → _BOMR_lTT.js} +2 -2
- package/dist/public/assets/{_CaEMsx56.js.map → _BOMR_lTT.js.map} +1 -1
- package/dist/public/assets/{_CG7XKeSB.js → _BP3KIWZr.js} +2 -2
- package/dist/public/assets/{_CG7XKeSB.js.map → _BP3KIWZr.js.map} +1 -1
- package/dist/public/assets/{_DCcYmQ_s2.js → _BmaVzQYH2.js} +2 -2
- package/dist/public/assets/{_DCcYmQ_s2.js.map → _BmaVzQYH2.js.map} +1 -1
- package/dist/public/assets/{_DIBiig5O2.js → _BpWV4xDR2.js} +2 -2
- package/dist/public/assets/{_DIBiig5O2.js.map → _BpWV4xDR2.js.map} +1 -1
- package/dist/public/assets/{_DE0OXEWX.js → _Brh7taK_.js} +2 -2
- package/dist/public/assets/{_DE0OXEWX.js.map → _Brh7taK_.js.map} +1 -1
- package/dist/public/assets/{_CToEE4-R.js → _BsL8kuCs.js} +2 -2
- package/dist/public/assets/{_CToEE4-R.js.map → _BsL8kuCs.js.map} +1 -1
- package/dist/public/assets/{_CDE_l3Ah.js → _BtGc54QO.js} +2 -2
- package/dist/public/assets/{_CDE_l3Ah.js.map → _BtGc54QO.js.map} +1 -1
- package/dist/public/assets/{_K3UNrLtV.js → _BuU3dU-v.js} +2 -2
- package/dist/public/assets/{_K3UNrLtV.js.map → _BuU3dU-v.js.map} +1 -1
- package/dist/public/assets/{_isfb253p2.js → _Bw-xXnfr2.js} +2 -2
- package/dist/public/assets/{_isfb253p2.js.map → _Bw-xXnfr2.js.map} +1 -1
- package/dist/public/assets/{_r4jzjyPa2.js → _BzmURZrG2.js} +2 -2
- package/dist/public/assets/{_r4jzjyPa2.js.map → _BzmURZrG2.js.map} +1 -1
- package/dist/public/assets/{_CL0s7Kya.js → _C0VVn7_H.js} +2 -2
- package/dist/public/assets/{_CL0s7Kya.js.map → _C0VVn7_H.js.map} +1 -1
- package/dist/public/assets/{_CEW9INI2.js → _CCOa-67I.js} +2 -2
- package/dist/public/assets/{_CEW9INI2.js.map → _CCOa-67I.js.map} +1 -1
- package/dist/public/assets/{_DTYxR8JQ.js → _CCWd2cbl.js} +2 -2
- package/dist/public/assets/{_DTYxR8JQ.js.map → _CCWd2cbl.js.map} +1 -1
- package/dist/public/assets/{_DLrpVVOP.js → _CJfh1bA_.js} +2 -2
- package/dist/public/assets/{_DLrpVVOP.js.map → _CJfh1bA_.js.map} +1 -1
- package/dist/public/assets/{_77Fyk0IZ2.js → _CKHJpMi32.js} +2 -2
- package/dist/public/assets/{_77Fyk0IZ2.js.map → _CKHJpMi32.js.map} +1 -1
- package/dist/public/assets/{_tY5zLQZp.js → _CLa87tfT.js} +2 -2
- package/dist/public/assets/{_tY5zLQZp.js.map → _CLa87tfT.js.map} +1 -1
- package/dist/public/assets/{_D69Y468R2.js → _CNPd6AKz2.js} +2 -2
- package/dist/public/assets/{_D69Y468R2.js.map → _CNPd6AKz2.js.map} +1 -1
- package/dist/public/assets/{_YzHkI38Y2.js → _CTwY-w6f2.js} +2 -2
- package/dist/public/assets/{_YzHkI38Y2.js.map → _CTwY-w6f2.js.map} +1 -1
- package/dist/public/assets/{_CRfCwzvc.js → _CXQQiNs1.js} +2 -2
- package/dist/public/assets/{_CRfCwzvc.js.map → _CXQQiNs1.js.map} +1 -1
- package/dist/public/assets/{_BaqI91VC2.js → _Ca6yBPZK2.js} +2 -2
- package/dist/public/assets/{_BaqI91VC2.js.map → _Ca6yBPZK2.js.map} +1 -1
- package/dist/public/assets/{_ChU_0Gs7.js → _Cm86uuyb.js} +2 -2
- package/dist/public/assets/{_ChU_0Gs7.js.map → _Cm86uuyb.js.map} +1 -1
- package/dist/public/assets/{_DRFrNohk.js → _CnphyoYq.js} +2 -2
- package/dist/public/assets/{_DRFrNohk.js.map → _CnphyoYq.js.map} +1 -1
- package/dist/public/assets/{_VdtJ_5pb2.js → _CqX4LQGj2.js} +2 -2
- package/dist/public/assets/{_VdtJ_5pb2.js.map → _CqX4LQGj2.js.map} +1 -1
- package/dist/public/assets/{_N_MncSgy.js → _Cs2xR5zT.js} +2 -2
- package/dist/public/assets/{_N_MncSgy.js.map → _Cs2xR5zT.js.map} +1 -1
- package/dist/public/assets/{_BJO73Smt2.js → _Ct7oMGlY2.js} +2 -2
- package/dist/public/assets/{_BJO73Smt2.js.map → _Ct7oMGlY2.js.map} +1 -1
- package/dist/public/assets/{_DV3zDssv.js → _CvIA8snX.js} +2 -2
- package/dist/public/assets/{_DV3zDssv.js.map → _CvIA8snX.js.map} +1 -1
- package/dist/public/assets/{_CVbLeR5M.js → _CvPUh_B0.js} +2 -2
- package/dist/public/assets/{_CVbLeR5M.js.map → _CvPUh_B0.js.map} +1 -1
- package/dist/public/assets/{_DqMqiyah.js → _CxVlY1q1.js} +2 -2
- package/dist/public/assets/{_DqMqiyah.js.map → _CxVlY1q1.js.map} +1 -1
- package/dist/public/assets/{_Z_ClK8ZW.js → _CypNdMTQ.js} +2 -2
- package/dist/public/assets/{_Z_ClK8ZW.js.map → _CypNdMTQ.js.map} +1 -1
- package/dist/public/assets/{_CIBWjTJ8.js → _CzGoLHpy.js} +2 -2
- package/dist/public/assets/{_CIBWjTJ8.js.map → _CzGoLHpy.js.map} +1 -1
- package/dist/public/assets/{_CnYv5yOJ.js → _D0UH-qzF.js} +2 -2
- package/dist/public/assets/{_CnYv5yOJ.js.map → _D0UH-qzF.js.map} +1 -1
- package/dist/public/assets/{_Db3F1ZqM2.js → _D8DKeNtk2.js} +2 -2
- package/dist/public/assets/{_Db3F1ZqM2.js.map → _D8DKeNtk2.js.map} +1 -1
- package/dist/public/assets/{_BJIyZxK0.js → _DDtfsPTV.js} +2 -2
- package/dist/public/assets/{_BJIyZxK0.js.map → _DDtfsPTV.js.map} +1 -1
- package/dist/public/assets/{_BKAMvBgJ.js → _DH0HY4Nr.js} +2 -2
- package/dist/public/assets/{_BKAMvBgJ.js.map → _DH0HY4Nr.js.map} +1 -1
- package/dist/public/assets/{_BwTiY7vg2.js → _DQxqrF2p2.js} +2 -2
- package/dist/public/assets/{_BwTiY7vg2.js.map → _DQxqrF2p2.js.map} +1 -1
- package/dist/public/assets/{_BFytbAm5.js → _DU_7z2vs.js} +2 -2
- package/dist/public/assets/{_BFytbAm5.js.map → _DU_7z2vs.js.map} +1 -1
- package/dist/public/assets/{_CvNx2YfP2.js → _DXjhrVim2.js} +2 -2
- package/dist/public/assets/{_CvNx2YfP2.js.map → _DXjhrVim2.js.map} +1 -1
- package/dist/public/assets/{_zWA2RsS1.js → _DmaZeTni.js} +2 -2
- package/dist/public/assets/{_zWA2RsS1.js.map → _DmaZeTni.js.map} +1 -1
- package/dist/public/assets/{_7VADVuOA.js → _DoNipARR.js} +2 -2
- package/dist/public/assets/{_7VADVuOA.js.map → _DoNipARR.js.map} +1 -1
- package/dist/public/assets/{_YFy-LCwd.js → _Dp25UBl7.js} +2 -2
- package/dist/public/assets/{_YFy-LCwd.js.map → _Dp25UBl7.js.map} +1 -1
- package/dist/public/assets/{_CAf6rM7T.js → _DrB0wHeE.js} +2 -2
- package/dist/public/assets/{_CAf6rM7T.js.map → _DrB0wHeE.js.map} +1 -1
- package/dist/public/assets/{_C6p3UjM0.js → _DtW-KREB.js} +2 -2
- package/dist/public/assets/{_C6p3UjM0.js.map → _DtW-KREB.js.map} +1 -1
- package/dist/public/assets/{_Dy1d23fd2.js → _Dvy34Yg_2.js} +2 -2
- package/dist/public/assets/{_Dy1d23fd2.js.map → _Dvy34Yg_2.js.map} +1 -1
- package/dist/public/assets/{_tv3y18472.js → _GlOqBOcg2.js} +2 -2
- package/dist/public/assets/{_tv3y18472.js.map → _GlOqBOcg2.js.map} +1 -1
- package/dist/public/assets/{_C2Swe4f0.js → _Gpz7cA9P.js} +2 -2
- package/dist/public/assets/{_C2Swe4f0.js.map → _Gpz7cA9P.js.map} +1 -1
- package/dist/public/assets/{_BsE1kvV-2.js → _K6YjF5HA2.js} +2 -2
- package/dist/public/assets/{_BsE1kvV-2.js.map → _K6YjF5HA2.js.map} +1 -1
- package/dist/public/assets/{_kSqeI-Mv2.js → _LLhMP4fB2.js} +2 -2
- package/dist/public/assets/{_kSqeI-Mv2.js.map → _LLhMP4fB2.js.map} +1 -1
- package/dist/public/assets/{_DdoBNw7O2.js → _Ne8qEUH82.js} +2 -2
- package/dist/public/assets/{_DdoBNw7O2.js.map → _Ne8qEUH82.js.map} +1 -1
- package/dist/public/assets/{_Bit2YbJH.js → _RHQKbTNw.js} +2 -2
- package/dist/public/assets/{_Bit2YbJH.js.map → _RHQKbTNw.js.map} +1 -1
- package/dist/public/assets/{_Dnj_upFW.js → _UABdeDPG.js} +2 -2
- package/dist/public/assets/{_Dnj_upFW.js.map → _UABdeDPG.js.map} +1 -1
- package/dist/public/assets/{_DWZwPPmf.js → _VdrzhuKU.js} +2 -2
- package/dist/public/assets/{_DWZwPPmf.js.map → _VdrzhuKU.js.map} +1 -1
- package/dist/public/assets/{_DSiCqz1P2.js → _VpkJ9R4I2.js} +2 -2
- package/dist/public/assets/{_DSiCqz1P2.js.map → _VpkJ9R4I2.js.map} +1 -1
- package/dist/public/assets/{_DLs3aRaJ.js → __Q8ATTST.js} +2 -2
- package/dist/public/assets/{_DLs3aRaJ.js.map → __Q8ATTST.js.map} +1 -1
- package/dist/public/assets/{_vIlLN3ua.js → __WU9JTqk.js} +2 -2
- package/dist/public/assets/{_vIlLN3ua.js.map → __WU9JTqk.js.map} +1 -1
- package/dist/public/assets/{_BZ6_GIpc2.js → _ioxvNBlq2.js} +2 -2
- package/dist/public/assets/{_BZ6_GIpc2.js.map → _ioxvNBlq2.js.map} +1 -1
- package/dist/public/assets/{_Cay9-_-u.js → _l-4CNi-P.js} +2 -2
- package/dist/public/assets/{_Cay9-_-u.js.map → _l-4CNi-P.js.map} +1 -1
- package/dist/public/assets/{_HN4GzXai.js → _rdXXJ91o.js} +2 -2
- package/dist/public/assets/{_HN4GzXai.js.map → _rdXXJ91o.js.map} +1 -1
- package/dist/public/assets/{_CCC02X-42.js → _speyknRe2.js} +2 -2
- package/dist/public/assets/{_CCC02X-42.js.map → _speyknRe2.js.map} +1 -1
- package/dist/public/assets/{_CdQVpQAM.js → _v0CL1jTB.js} +2 -2
- package/dist/public/assets/{_CdQVpQAM.js.map → _v0CL1jTB.js.map} +1 -1
- package/dist/public/assets/{_DeeBFErP.js → _vvqUsxvZ.js} +2 -2
- package/dist/public/assets/{_DeeBFErP.js.map → _vvqUsxvZ.js.map} +1 -1
- package/dist/public/assets/{_BAif6Kkv.js → _wyUUoFip.js} +2 -2
- package/dist/public/assets/{_BAif6Kkv.js.map → _wyUUoFip.js.map} +1 -1
- package/dist/public/assets/{_JivX8J_W2.js → _xHfOHdoE2.js} +2 -2
- package/dist/public/assets/{_JivX8J_W2.js.map → _xHfOHdoE2.js.map} +1 -1
- package/dist/public/assets/{index-DW02FbhG.js → index-DMpI1yWM.js} +44 -44
- package/dist/public/assets/index-DMpI1yWM.js.map +1 -0
- package/package.json +1 -1
- package/dist/public/assets/index-DW02FbhG.js.map +0 -1
package/bin/work.mjs
CHANGED
|
@@ -208,7 +208,114 @@ function serviceEnv() {
|
|
|
208
208
|
return env;
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
+
/** True when `cmd` is a work *server* (not `work setup` / `work update`). */
|
|
212
|
+
function isWorkServerCmd(cmd) {
|
|
213
|
+
if (/\bwork(\.mjs)?\s+(setup|update|version)\b/.test(cmd)) return false;
|
|
214
|
+
return (
|
|
215
|
+
/\bwork\.mjs\s+start\b/.test(cmd) ||
|
|
216
|
+
/\bwork\s+start\b/.test(cmd) ||
|
|
217
|
+
/run-prod\.sh/.test(cmd) ||
|
|
218
|
+
/work server is running/.test(cmd) ||
|
|
219
|
+
(/@dylanpiercey\/work\//.test(cmd) && !/\bnpm\b/.test(cmd)) ||
|
|
220
|
+
/\/work\/\S*\/dist\/index\.mjs/.test(cmd)
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function pidsListening(port) {
|
|
225
|
+
const lsof = spawnSync(
|
|
226
|
+
"lsof",
|
|
227
|
+
["-nP", `-iTCP:${port}`, "-sTCP:LISTEN", "-t"],
|
|
228
|
+
{ encoding: "utf8" },
|
|
229
|
+
);
|
|
230
|
+
if (lsof.stdout) {
|
|
231
|
+
return [
|
|
232
|
+
...new Set(
|
|
233
|
+
lsof.stdout
|
|
234
|
+
.trim()
|
|
235
|
+
.split(/\s+/)
|
|
236
|
+
.map(Number)
|
|
237
|
+
.filter((n) => n > 1 && n !== process.pid),
|
|
238
|
+
),
|
|
239
|
+
];
|
|
240
|
+
}
|
|
241
|
+
const ss = spawnSync("ss", ["-ltnp", `sport = :${port}`], { encoding: "utf8" });
|
|
242
|
+
const pids = [];
|
|
243
|
+
for (const m of (ss.stdout || "").matchAll(/pid=(\d+)/g)) {
|
|
244
|
+
const pid = Number(m[1]);
|
|
245
|
+
if (pid > 1 && pid !== process.pid) pids.push(pid);
|
|
246
|
+
}
|
|
247
|
+
return [...new Set(pids)];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
function workServerPids() {
|
|
251
|
+
const out = spawnSync("ps", ["-ax", "-o", "pid=,command="], {
|
|
252
|
+
encoding: "utf8",
|
|
253
|
+
});
|
|
254
|
+
const pids = [];
|
|
255
|
+
for (const line of (out.stdout || "").split("\n")) {
|
|
256
|
+
const m = line.trim().match(/^(\d+)\s+(.*)$/);
|
|
257
|
+
if (!m) continue;
|
|
258
|
+
const pid = Number(m[1]);
|
|
259
|
+
if (pid === process.pid || pid === process.ppid) continue;
|
|
260
|
+
if (isWorkServerCmd(m[2])) pids.push(pid);
|
|
261
|
+
}
|
|
262
|
+
return pids;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function killPids(pids, signal) {
|
|
266
|
+
for (const pid of pids) {
|
|
267
|
+
try {
|
|
268
|
+
process.kill(pid, signal);
|
|
269
|
+
} catch {}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** Stop the managed service *and* any leftover checkout / `work start`
|
|
274
|
+
* process still bound to the port. A pre-npm install often wasn't the
|
|
275
|
+
* current unit (or was a bare node), so restarting work.service left it
|
|
276
|
+
* sitting in front of the new one. */
|
|
277
|
+
function stopOldCopies(port) {
|
|
278
|
+
log("stopping any previous work server");
|
|
279
|
+
if (process.platform === "darwin") {
|
|
280
|
+
const uid = process.getuid();
|
|
281
|
+
spawnSync("launchctl", ["bootout", `gui/${uid}/dev.work.app`], {
|
|
282
|
+
stdio: "ignore",
|
|
283
|
+
});
|
|
284
|
+
const agents = path.join(os.homedir(), "Library/LaunchAgents");
|
|
285
|
+
try {
|
|
286
|
+
for (const name of fs.readdirSync(agents)) {
|
|
287
|
+
if (!name.endsWith(".plist")) continue;
|
|
288
|
+
const file = path.join(agents, name);
|
|
289
|
+
const text = fs.readFileSync(file, "utf8");
|
|
290
|
+
if (!/dev\.work\.app|work\.mjs|run-prod\.sh|@dylanpiercey\/work/.test(text))
|
|
291
|
+
continue;
|
|
292
|
+
const label = text.match(
|
|
293
|
+
/<key>Label<\/key>\s*<string>([^<]+)<\/string>/,
|
|
294
|
+
)?.[1];
|
|
295
|
+
if (label) {
|
|
296
|
+
spawnSync("launchctl", ["bootout", `gui/${uid}/${label}`], {
|
|
297
|
+
stdio: "ignore",
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
} catch {}
|
|
302
|
+
} else if (have("systemctl")) {
|
|
303
|
+
spawnSync("systemctl", ["--user", "stop", "work.service"], {
|
|
304
|
+
stdio: "ignore",
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
const seen = new Set([...pidsListening(port), ...workServerPids()]);
|
|
308
|
+
if (seen.size) {
|
|
309
|
+
log(`stopping ${seen.size} leftover work process(es)`);
|
|
310
|
+
killPids(seen, "SIGTERM");
|
|
311
|
+
spawnSync("sleep", ["0.4"], { stdio: "ignore" });
|
|
312
|
+
}
|
|
313
|
+
killPids(pidsListening(port), "SIGKILL");
|
|
314
|
+
}
|
|
315
|
+
|
|
211
316
|
function installService() {
|
|
317
|
+
const port = serviceEnv().PORT;
|
|
318
|
+
stopOldCopies(port);
|
|
212
319
|
const cliPath = fileURLToPath(import.meta.url);
|
|
213
320
|
if (process.platform === "darwin") {
|
|
214
321
|
const plist = serviceFile();
|
package/dist/index.mjs
CHANGED
|
@@ -6660,8 +6660,8 @@ var term_default = _template("o", (input) => {
|
|
|
6660
6660
|
af: startHold,
|
|
6661
6661
|
ag: stopHold,
|
|
6662
6662
|
ah: uploadAsset,
|
|
6663
|
-
|
|
6664
|
-
|
|
6663
|
+
aj: handlePasted,
|
|
6664
|
+
ak: pasteClipboard,
|
|
6665
6665
|
ar: $si__input_sessionId && $input_sessionId__closures,
|
|
6666
6666
|
as: $si__input_onRenameSession && $input_onRenameSession__closures,
|
|
6667
6667
|
at: $si__input_onCloseSession && $input_onCloseSession__closures,
|
|
@@ -21697,4 +21697,4 @@ server.listen(port, () => {
|
|
|
21697
21697
|
//#endregion
|
|
21698
21698
|
export {};
|
|
21699
21699
|
|
|
21700
|
-
;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-CExZozP4.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-CExZozP4.css\"",">"],"defer":[2,"/assets/index-
|
|
21700
|
+
;var __MARKO_MANIFEST__={"esfPH6H":{"block":[2,"stylesheet#/assets/index-CExZozP4.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/index-CExZozP4.css\"",">"],"defer":[2,"/assets/index-DMpI1yWM.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/index-DMpI1yWM.js\"","></script>"]}};
|