spindb 0.62.4 → 0.62.5

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.
@@ -1,3 +1,3 @@
1
1
  // Auto-generated — do not edit manually
2
- export const VERSION = '0.62.4';
2
+ export const VERSION = '0.62.5';
3
3
  //# sourceMappingURL=version.js.map
@@ -20,35 +20,63 @@ import { join } from 'path';
20
20
  * On Linux: LD_LIBRARY_PATH
21
21
  * On Windows: returns undefined (not applicable).
22
22
  *
23
+ * {binPath}/lib is PREPENDED to any value the caller already has, never
24
+ * substituted for it. Callers spread the result over process.env
25
+ * (`{ ...process.env, ...getLibraryEnv(binPath) }`), so returning a bare
26
+ * value silently dropped a user's own LD_LIBRARY_PATH / DYLD_FALLBACK_LIBRARY_PATH
27
+ * for the spawned engine - which breaks anyone who relies on it to resolve
28
+ * their own libraries. Prepending keeps our bundled copy winning while
29
+ * leaving their search path intact behind it.
30
+ *
23
31
  * Usage: spread into spawn env: `{ ...process.env, ...getLibraryEnv(binPath) }`
24
32
  */
25
33
  export function getLibraryEnv(binPath) {
26
34
  const plat = osPlatform();
27
35
  const libDir = join(binPath, 'lib');
28
36
  if (plat === 'darwin') {
29
- return { DYLD_FALLBACK_LIBRARY_PATH: libDir };
37
+ return {
38
+ DYLD_FALLBACK_LIBRARY_PATH: prependPath(libDir, process.env.DYLD_FALLBACK_LIBRARY_PATH, ':'),
39
+ };
30
40
  }
31
41
  if (plat === 'linux') {
32
- return { LD_LIBRARY_PATH: libDir };
42
+ return {
43
+ LD_LIBRARY_PATH: prependPath(libDir, process.env.LD_LIBRARY_PATH, ':'),
44
+ };
33
45
  }
34
46
  return undefined;
35
47
  }
48
+ /**
49
+ * Puts `dir` at the front of an existing search path, preserving whatever was
50
+ * already there. An absent or empty existing value yields just `dir`, so no
51
+ * caller ever gets a stray leading or trailing separator.
52
+ *
53
+ * Exported for tests: it is the whole of the prepend-not-replace behavior, and
54
+ * testing it directly is the only way to cover the Windows separator on a
55
+ * non-Windows CI runner.
56
+ */
57
+ export function prependPath(dir, existing, separator) {
58
+ return existing ? `${dir}${separator}${existing}` : dir;
59
+ }
36
60
  /**
37
61
  * Returns env vars that add a directory to the Windows DLL search path.
38
- * Appends the directory to the existing PATH environment variable.
62
+ * PREPENDS the directory to the existing PATH environment variable.
39
63
  * Returns undefined on non-Windows platforms (not needed).
40
64
  *
41
65
  * Use for engines that bundle DLLs in subdirectories that aren't on the
42
66
  * default search path (e.g., InfluxDB's python/ directory containing
43
67
  * python313.dll needed at load time).
44
68
  *
69
+ * Prepend rather than append: this exists to make OUR bundled DLL resolve,
70
+ * and appending loses to any same-named DLL already reachable on PATH. A
71
+ * stray python313.dll of a different build then wins, which produces a
72
+ * second, harder-to-read failure than the missing-DLL one this fixes.
73
+ *
45
74
  * Usage: spread into spawn env: `{ ...process.env, ...getWindowsDllEnv(dllDir) }`
46
75
  */
47
76
  export function getWindowsDllEnv(dllDir) {
48
77
  if (osPlatform() !== 'win32')
49
78
  return undefined;
50
- const currentPath = process.env.PATH || '';
51
- return { PATH: `${currentPath};${dllDir}` };
79
+ return { PATH: prependPath(dllDir, process.env.PATH, ';') };
52
80
  }
53
81
  /**
54
82
  * Scans stderr/log output for dynamic library loading errors and returns
@@ -1 +1 @@
1
- {"version":3,"file":"library-env.js","sourceRoot":"","sources":["../../core/library-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library-env.js","sourceRoot":"","sources":["../../core/library-env.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spindb",
3
- "version": "0.62.4",
3
+ "version": "0.62.5",
4
4
  "author": "Bob Bass <bob@bbass.co>",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "description": "Zero-config Docker-free local database containers. Create, backup, and clone a variety of popular databases.",