lllink 1.1.430 → 1.1.432

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/index.js ADDED
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env bun
2
+ import { readdir, readFile, stat, rm, symlink } from "node:fs/promises";
3
+ import { homedir } from "node:os";
4
+ import { join, relative, resolve } from "node:path";
5
+ typeof Bun > "u" && (console.error("Must run in Bun due to using ~ resolutions"), process.exit(1));
6
+ const IGNORE_DIR = "node_modules";
7
+ async function findLocalPackages(rootDir) {
8
+ const results = {};
9
+ async function recurse(dir) {
10
+ let entries;
11
+ try {
12
+ entries = await readdir(dir);
13
+ } catch {
14
+ return;
15
+ }
16
+ await Promise.all(
17
+ entries.map(async (entry) => {
18
+ if (entry === IGNORE_DIR) return;
19
+ const fullPath = join(dir, entry);
20
+ let entryStat;
21
+ try {
22
+ entryStat = await stat(fullPath);
23
+ } catch {
24
+ return;
25
+ }
26
+ if (entryStat.isDirectory()) {
27
+ const pkgJsonPath = join(fullPath, "package.json");
28
+ try {
29
+ if ((await stat(pkgJsonPath)).isFile()) {
30
+ const raw = await readFile(pkgJsonPath, "utf-8"), pkgData = JSON.parse(raw);
31
+ pkgData.name && (results[pkgData.name] = fullPath);
32
+ }
33
+ } catch {
34
+ await recurse(fullPath);
35
+ }
36
+ }
37
+ })
38
+ );
39
+ }
40
+ return await recurse(rootDir), results;
41
+ }
42
+ async function linkPackages(localPackages) {
43
+ for (const pkgName of Object.keys(localPackages)) {
44
+ const nmPath = join(process.cwd(), "node_modules", ...pkgName.split("/"));
45
+ try {
46
+ if (await stat(nmPath)) {
47
+ await rm(nmPath, { recursive: !0, force: !0 });
48
+ const localPath = localPackages[pkgName];
49
+ console.info(`${relative(process.cwd(), nmPath)} -> ${localPath.replace(homedir(), "~")}`), await symlink(localPath, nmPath, "dir");
50
+ }
51
+ } catch {
52
+ }
53
+ }
54
+ }
55
+ async function main() {
56
+ const args = process.argv.slice(2);
57
+ args.length === 0 && (console.info("No workspace directories provided."), process.exit(0));
58
+ const allLocalPackages = {};
59
+ for (const workspaceDir of args) {
60
+ const resolved = resolve(workspaceDir), found = await findLocalPackages(resolved);
61
+ Object.assign(allLocalPackages, found);
62
+ }
63
+ await linkPackages(allLocalPackages), console.info(`
64
+ \u2713 linked ${Object.keys(allLocalPackages).length} packages`);
65
+ }
66
+ main().catch((err) => {
67
+ console.error("Error:", err), process.exit(1);
68
+ });
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "mappings": ";AAOA,SAAS,SAAS,UAAU,MAAM,IAAI,eAAe;AACrD,SAAS,eAAe;AACxB,SAAS,MAAM,UAAU,eAAe;AAIpC,OAAO,MAAQ,QACjB,QAAQ,MAAM,4CAA4C,GAC1D,QAAQ,KAAK,CAAC;AAGhB,MAAM,aAAa;AAEnB,eAAe,kBAAkB,SAAkD;AACjF,QAAM,UAAkC,CAAC;AAEzC,iBAAe,QAAQ,KAAa;AAClC,QAAI;AACJ,QAAI;AACF,gBAAU,MAAM,QAAQ,GAAG;AAAA,IAC7B,QAAQ;AACN;AAAA,IACF;AAEA,UAAM,QAAQ;AAAA,MACZ,QAAQ,IAAI,OAAO,UAAU;AAC3B,YAAI,UAAU,WAAY;AAC1B,cAAM,WAAW,KAAK,KAAK,KAAK;AAChC,YAAI;AACJ,YAAI;AACF,sBAAY,MAAM,KAAK,QAAQ;AAAA,QACjC,QAAQ;AACN;AAAA,QACF;AACA,YAAI,UAAU,YAAY,GAAG;AAC3B,gBAAM,cAAc,KAAK,UAAU,cAAc;AACjD,cAAI;AAEF,iBADoB,MAAM,KAAK,WAAW,GAC1B,OAAO,GAAG;AACxB,oBAAM,MAAM,MAAM,SAAS,aAAa,OAAO,GACzC,UAAU,KAAK,MAAM,GAAG;AAC9B,cAAI,QAAQ,SACV,QAAQ,QAAQ,IAAI,IAAI;AAAA,YAE5B;AAAA,UACF,QAAQ;AACN,kBAAM,QAAQ,QAAQ;AAAA,UACxB;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,eAAM,QAAQ,OAAO,GACd;AACT;AAEA,eAAe,aAAa,eAAuC;AACjE,aAAW,WAAW,OAAO,KAAK,aAAa,GAAG;AAChD,UAAM,SAAS,KAAK,QAAQ,IAAI,GAAG,gBAAgB,GAAG,QAAQ,MAAM,GAAG,CAAC;AACxE,QAAI;AAEF,UADqB,MAAM,KAAK,MAAM,GACpB;AAChB,cAAM,GAAG,QAAQ,EAAE,WAAW,IAAM,OAAO,GAAK,CAAC;AACjD,cAAM,YAAY,cAAc,OAAO;AACvC,gBAAQ,KAAK,GAAG,SAAS,QAAQ,IAAI,GAAG,MAAM,CAAC,OAAO,UAAU,QAAQ,QAAQ,GAAG,GAAG,CAAC,EAAE,GACzF,MAAM,QAAQ,WAAW,QAAQ,KAAK;AAAA,MACxC;AAAA,IACF,QAAQ;AAAA,IAAC;AAAA,EACX;AACF;AAEA,eAAe,OAAO;AACpB,QAAM,OAAO,QAAQ,KAAK,MAAM,CAAC;AACjC,EAAI,KAAK,WAAW,MAClB,QAAQ,KAAK,oCAAoC,GACjD,QAAQ,KAAK,CAAC;AAEhB,QAAM,mBAA2C,CAAC;AAClD,aAAW,gBAAgB,MAAM;AAC/B,UAAM,WAAW,QAAQ,YAAY,GAC/B,QAAQ,MAAM,kBAAkB,QAAQ;AAC9C,WAAO,OAAO,kBAAkB,KAAK;AAAA,EACvC;AACA,QAAM,aAAa,gBAAgB,GACnC,QAAQ,KAAK;AAAA,iBAAe,OAAO,KAAK,gBAAgB,EAAE,MAAM,WAAW;AAC7E;AAEA,KAAK,EAAE,MAAM,CAAC,QAAQ;AACpB,UAAQ,MAAM,UAAU,GAAG,GAC3B,QAAQ,KAAK,CAAC;AAChB,CAAC;",
5
+ "names": []
6
+ }
package/dist/index.mjs CHANGED
@@ -2,6 +2,7 @@
2
2
  import { readdir, readFile, stat, rm, symlink } from "node:fs/promises";
3
3
  import { homedir } from "node:os";
4
4
  import { join, relative, resolve } from "node:path";
5
+ typeof Bun > "u" && (console.error("Must run in Bun due to using ~ resolutions"), process.exit(1));
5
6
  const IGNORE_DIR = "node_modules";
6
7
  async function findLocalPackages(rootDir) {
7
8
  const results = {};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["readdir","readFile","stat","rm","symlink","homedir","join","relative","resolve","Bun","console","error","process","exit","IGNORE_DIR","findLocalPackages","rootDir","results","recurse","dir","entries","Promise","all","map","entry","fullPath","entryStat","isDirectory","pkgJsonPath","isFile","raw","pkgData","JSON","parse","name","linkPackages","localPackages","pkgName","Object","keys","nmPath","cwd","split","recursive","force","localPath","info","replace","main","args","argv","slice","length","allLocalPackages","workspaceDir","resolved","found","assign","catch","err"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":";AAOA,SAASA,OAAA,EAASC,QAAA,EAAUC,IAAA,EAAMC,EAAA,EAAIC,OAAA,QAAe;AACrD,SAASC,OAAA,QAAe;AACxB,SAASC,IAAA,EAAMC,QAAA,EAAUC,OAAA,QAAe;AAIpC,OAAOC,GAAA,GAAQ,QACjBC,OAAA,CAAQC,KAAA,CAAM,4CAA4C,GAC1DC,OAAA,CAAQC,IAAA,CAAK,CAAC;AAGhB,MAAMC,UAAA,GAAa;AAEnB,eAAeC,kBAAkBC,OAAA,EAAkD;EACjF,MAAMC,OAAA,GAAkC,CAAC;EAEzC,eAAeC,QAAQC,GAAA,EAAa;IAClC,IAAIC,OAAA;IACJ,IAAI;MACFA,OAAA,GAAU,MAAMpB,OAAA,CAAQmB,GAAG;IAC7B,QAAQ;MACN;IACF;IAEA,MAAME,OAAA,CAAQC,GAAA,CACZF,OAAA,CAAQG,GAAA,CAAI,MAAOC,KAAA,IAAU;MAC3B,IAAIA,KAAA,KAAUV,UAAA,EAAY;MAC1B,MAAMW,QAAA,GAAWnB,IAAA,CAAKa,GAAA,EAAKK,KAAK;MAChC,IAAIE,SAAA;MACJ,IAAI;QACFA,SAAA,GAAY,MAAMxB,IAAA,CAAKuB,QAAQ;MACjC,QAAQ;QACN;MACF;MACA,IAAIC,SAAA,CAAUC,WAAA,CAAY,GAAG;QAC3B,MAAMC,WAAA,GAActB,IAAA,CAAKmB,QAAA,EAAU,cAAc;QACjD,IAAI;UAEF,KADoB,MAAMvB,IAAA,CAAK0B,WAAW,GAC1BC,MAAA,CAAO,GAAG;YACxB,MAAMC,GAAA,GAAM,MAAM7B,QAAA,CAAS2B,WAAA,EAAa,OAAO;cACzCG,OAAA,GAAUC,IAAA,CAAKC,KAAA,CAAMH,GAAG;YAC1BC,OAAA,CAAQG,IAAA,KACVjB,OAAA,CAAQc,OAAA,CAAQG,IAAI,IAAIT,QAAA;UAE5B;QACF,QAAQ;UACN,MAAMP,OAAA,CAAQO,QAAQ;QACxB;MACF;IACF,CAAC,CACH;EACF;EAEA,aAAMP,OAAA,CAAQF,OAAO,GACdC,OAAA;AACT;AAEA,eAAekB,aAAaC,aAAA,EAAuC;EACjE,WAAWC,OAAA,IAAWC,MAAA,CAAOC,IAAA,CAAKH,aAAa,GAAG;IAChD,MAAMI,MAAA,GAASlC,IAAA,CAAKM,OAAA,CAAQ6B,GAAA,CAAI,GAAG,gBAAgB,GAAGJ,OAAA,CAAQK,KAAA,CAAM,GAAG,CAAC;IACxE,IAAI;MAEF,IADqB,MAAMxC,IAAA,CAAKsC,MAAM,GACpB;QAChB,MAAMrC,EAAA,CAAGqC,MAAA,EAAQ;UAAEG,SAAA,EAAW;UAAMC,KAAA,EAAO;QAAK,CAAC;QACjD,MAAMC,SAAA,GAAYT,aAAA,CAAcC,OAAO;QACvC3B,OAAA,CAAQoC,IAAA,CAAK,GAAGvC,QAAA,CAASK,OAAA,CAAQ6B,GAAA,CAAI,GAAGD,MAAM,CAAC,OAAOK,SAAA,CAAUE,OAAA,CAAQ1C,OAAA,CAAQ,GAAG,GAAG,CAAC,EAAE,GACzF,MAAMD,OAAA,CAAQyC,SAAA,EAAWL,MAAA,EAAQ,KAAK;MACxC;IACF,QAAQ,CAAC;EACX;AACF;AAEA,eAAeQ,KAAA,EAAO;EACpB,MAAMC,IAAA,GAAOrC,OAAA,CAAQsC,IAAA,CAAKC,KAAA,CAAM,CAAC;EAC7BF,IAAA,CAAKG,MAAA,KAAW,MAClB1C,OAAA,CAAQoC,IAAA,CAAK,oCAAoC,GACjDlC,OAAA,CAAQC,IAAA,CAAK,CAAC;EAEhB,MAAMwC,gBAAA,GAA2C,CAAC;EAClD,WAAWC,YAAA,IAAgBL,IAAA,EAAM;IAC/B,MAAMM,QAAA,GAAW/C,OAAA,CAAQ8C,YAAY;MAC/BE,KAAA,GAAQ,MAAMzC,iBAAA,CAAkBwC,QAAQ;IAC9CjB,MAAA,CAAOmB,MAAA,CAAOJ,gBAAA,EAAkBG,KAAK;EACvC;EACA,MAAMrB,YAAA,CAAakB,gBAAgB,GACnC3C,OAAA,CAAQoC,IAAA,CAAK;AAAA,iBAAeR,MAAA,CAAOC,IAAA,CAAKc,gBAAgB,EAAED,MAAM,WAAW;AAC7E;AAEAJ,IAAA,CAAK,EAAEU,KAAA,CAAOC,GAAA,IAAQ;EACpBjD,OAAA,CAAQC,KAAA,CAAM,UAAUgD,GAAG,GAC3B/C,OAAA,CAAQC,IAAA,CAAK,CAAC;AAChB,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lllink",
3
- "version": "1.1.430",
3
+ "version": "1.1.432",
4
4
  "type": "module",
5
5
  "module": "dist",
6
6
  "exports": {
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@biomejs/biome": "^1.8.3",
26
- "@tamagui/build": "^1.123.10"
26
+ "@tamagui/build": "^1.123.14"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"
30
30
  }
31
- }
31
+ }
package/src/index.ts CHANGED
@@ -9,6 +9,13 @@ import { readdir, readFile, stat, rm, symlink } from 'node:fs/promises'
9
9
  import { homedir } from 'node:os'
10
10
  import { join, relative, resolve } from 'node:path'
11
11
 
12
+ // if not run through bun exit:
13
+ // @ts-ignore
14
+ if (typeof Bun === 'undefined') {
15
+ console.error(`Must run in Bun due to using ~ resolutions`)
16
+ process.exit(1)
17
+ }
18
+
12
19
  const IGNORE_DIR = 'node_modules'
13
20
 
14
21
  async function findLocalPackages(rootDir: string): Promise<Record<string, string>> {