Bump to 1.0.39: fix tf_sync module not found after npm install

getPythonSyncPath() only searched __dirname-relative paths which don't
resolve correctly from the compiled binary. Added process.execPath-
relative candidates so it finds <pkg>/python from <pkg>/bin/tfcode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Gab
2026-04-15 15:09:16 +10:00
parent dfdfa40691
commit 7eae9764af
2 changed files with 11 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "1.0.38",
"version": "1.0.39",
"name": "@toothfairyai/tfcode",
"type": "module",
"license": "MIT",

View File

@@ -64,20 +64,19 @@ const TFCODE_CONFIG_DIR = ".tfcode"
const TFCODE_TOOLS_FILE = "tools.json"
function getPythonSyncPath(): string {
// Check embedded python path first (for npm distribution)
const embedded = [
path.join(__dirname, "..", "..", "..", "..", "python"), // packages/tfcode/python
path.join(__dirname, "..", "..", "..", "python"), // dist/python
]
for (const p of embedded) {
if (existsSync(p)) return p
}
// Fallback to development paths
const dev = [
const binDir = path.dirname(process.execPath)
const candidates = [
// npm install: binary is at <pkg>/bin/tfcode, python at <pkg>/python
path.join(binDir, "..", "python"),
path.join(binDir, "python"),
// Embedded paths relative to compiled source
path.join(__dirname, "..", "..", "..", "..", "python"),
path.join(__dirname, "..", "..", "..", "python"),
// Development paths
path.join(__dirname, "..", "..", "..", "..", "tf-sync", "src", "tf_sync"),
path.join(process.cwd(), "packages", "tf-sync", "src", "tf_sync"),
]
for (const p of dev) {
for (const p of candidates) {
if (existsSync(p)) return p
}
return "tf_sync"