fyn 3.2.0 → 3.2.1
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/fyn.mjs +33 -43
- package/package.json +2 -2
package/dist/fyn.mjs
CHANGED
|
@@ -114540,12 +114540,16 @@ var FynGlobal = class {
|
|
|
114540
114540
|
} catch (err) {}
|
|
114541
114541
|
}
|
|
114542
114542
|
/**
|
|
114543
|
-
* Get next global package ID by reading directory
|
|
114543
|
+
* Get next global package ID by reading directory.
|
|
114544
|
+
* Reuses the lowest gN freed by a removed package.
|
|
114544
114545
|
*/
|
|
114545
114546
|
async getNextGlobalId() {
|
|
114546
114547
|
try {
|
|
114547
|
-
const
|
|
114548
|
-
|
|
114548
|
+
const dirs = await file_ops_default.readdir(this.packagesDir);
|
|
114549
|
+
const used = new Set(dirs.filter((d) => /^g\d+$/.test(d)).map((d) => parseInt(d.substring(1), 10)));
|
|
114550
|
+
let nextNum = 1;
|
|
114551
|
+
while (used.has(nextNum)) nextNum++;
|
|
114552
|
+
return `g${nextNum}`;
|
|
114549
114553
|
} catch (err) {
|
|
114550
114554
|
return "g1";
|
|
114551
114555
|
}
|
|
@@ -114764,7 +114768,7 @@ var FynGlobal = class {
|
|
|
114764
114768
|
linked: shouldLink
|
|
114765
114769
|
});
|
|
114766
114770
|
await this.ensureBinSymlink();
|
|
114767
|
-
logger$1.info(`${packageName}@${installedVersion || depVersion} installed globally`);
|
|
114771
|
+
logger$1.info(`${packageName}@${installedVersion || depVersion} installed globally. Tag: ${gId}`);
|
|
114768
114772
|
if (Object.keys(bins).length > 0) logger$1.info(`Binaries available: ${Object.keys(bins).join(", ")}`);
|
|
114769
114773
|
if (shouldLink) logger$1.info(`This version is now active (linked)`);
|
|
114770
114774
|
else logger$1.info(`Note: An older version was installed. Use 'fyn global link ${packageName}@${installedVersion}' to activate it.`);
|
|
@@ -114919,46 +114923,32 @@ var FynGlobal = class {
|
|
|
114919
114923
|
return [];
|
|
114920
114924
|
}
|
|
114921
114925
|
const result = [];
|
|
114922
|
-
|
|
114923
|
-
|
|
114924
|
-
|
|
114925
|
-
|
|
114926
|
-
|
|
114927
|
-
|
|
114928
|
-
|
|
114929
|
-
|
|
114930
|
-
|
|
114931
|
-
|
|
114932
|
-
|
|
114933
|
-
|
|
114934
|
-
|
|
114926
|
+
const tagNum = (v) => parseInt(v.dir.slice(1), 10);
|
|
114927
|
+
const packages = namesToShow.map((name) => ({
|
|
114928
|
+
name,
|
|
114929
|
+
entries: [...registry.packages[name].versions || []].sort((a, b) => {
|
|
114930
|
+
if (a.linked !== b.linked) return a.linked ? -1 : 1;
|
|
114931
|
+
return tagNum(a) - tagNum(b);
|
|
114932
|
+
})
|
|
114933
|
+
})).filter((p) => p.entries.length > 0).sort((a, b) => tagNum(a.entries[0]) - tagNum(b.entries[0]));
|
|
114934
|
+
const home = os$1.homedir();
|
|
114935
|
+
const pad = (n) => String(n).padStart(2, "0");
|
|
114936
|
+
for (const { name: packageName, entries } of packages) entries.forEach((v, ix) => {
|
|
114937
|
+
const d = new Date(v.installedAt);
|
|
114938
|
+
const time = `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
|
114939
|
+
const fields = [
|
|
114940
|
+
v.dir,
|
|
114941
|
+
ix === 0 ? `${packageName}@${v.version}` : v.version,
|
|
114942
|
+
v.semver?.replace(`file:${home}`, "file:~"),
|
|
114943
|
+
time,
|
|
114944
|
+
v.bins?.length > 0 ? `[${v.bins.join(", ")}]` : ""
|
|
114945
|
+
].filter(Boolean);
|
|
114946
|
+
console.log(`${ix === 0 ? "" : " "}${fields.join(" ")}`);
|
|
114947
|
+
result.push({
|
|
114948
|
+
package: packageName,
|
|
114949
|
+
...v
|
|
114935
114950
|
});
|
|
114936
|
-
|
|
114937
|
-
for (const version of sortedVersions) {
|
|
114938
|
-
const entries = byVersion[version];
|
|
114939
|
-
for (const v of entries) {
|
|
114940
|
-
const tagLinked = v.linked ? " *" : "";
|
|
114941
|
-
const local = v.local ? " (local)" : "";
|
|
114942
|
-
const bins = v.bins?.length > 0 ? ` [${v.bins.join(", ")}]` : "";
|
|
114943
|
-
const fromSemver = v.semver ? `(from '${v.semver}')` : "";
|
|
114944
|
-
const installedDate = new Date(v.installedAt);
|
|
114945
|
-
const dateStr = installedDate.toLocaleDateString();
|
|
114946
|
-
const timeStr = installedDate.toLocaleTimeString([], {
|
|
114947
|
-
hour12: true,
|
|
114948
|
-
hour: "2-digit",
|
|
114949
|
-
minute: "2-digit",
|
|
114950
|
-
second: "2-digit"
|
|
114951
|
-
});
|
|
114952
|
-
console.log(` ${v.dir} (${v.version})${tagLinked}${local}${bins}${fromSemver ? ` ${fromSemver}` : ""}`);
|
|
114953
|
-
console.log(` installed ${dateStr} ${timeStr}`);
|
|
114954
|
-
result.push({
|
|
114955
|
-
package: packageName,
|
|
114956
|
-
...v
|
|
114957
|
-
});
|
|
114958
|
-
}
|
|
114959
|
-
}
|
|
114960
|
-
}
|
|
114961
|
-
console.log("\n* = linked (active) version");
|
|
114951
|
+
});
|
|
114962
114952
|
return result;
|
|
114963
114953
|
}
|
|
114964
114954
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fyn",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.1",
|
|
5
5
|
"description": "fyn is a node.js package manager, and supports fynpo -- a zero setup monorepo tool",
|
|
6
6
|
"main": "./bin/index.mjs",
|
|
7
7
|
"homepage": "https://github.com/jchip/fynjs/tree/main/packages/fyn",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"Walmart GTP.js Team and Contributors"
|
|
82
82
|
],
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@fynjs/run": "^1.1.
|
|
84
|
+
"@fynjs/run": "^1.1.9",
|
|
85
85
|
"@fynjs/ts-resolve": "^1.0.3",
|
|
86
86
|
"@types/node": "^26.4.1",
|
|
87
87
|
"@vitest/coverage-v8": "^5.0.0",
|