pyfig 0.4.0 → 0.6.0

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/provision.js CHANGED
@@ -1,18 +1,19 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { createReadStream, createWriteStream } from 'node:fs';
3
- import { chmod, copyFile, mkdir, mkdtemp, readdir, rename, rm, writeFile, } from 'node:fs/promises';
3
+ import { chmod, copyFile, mkdir, mkdtemp, readFile, readdir, rename, rm, writeFile, } from 'node:fs/promises';
4
4
  import fs from 'node:fs';
5
5
  import os from 'node:os';
6
6
  import path from 'node:path';
7
7
  import { Readable } from 'node:stream';
8
8
  import { pipeline } from 'node:stream/promises';
9
- import extractZip from 'extract-zip';
9
+ import { unzipSync } from 'fflate';
10
10
  import * as tar from 'tar';
11
11
  import { EnvHttpProxyAgent, fetch } from 'undici';
12
12
  import { resolveOptions, uvEnvironment, } from './config.js';
13
13
  import { withProvisioningLock } from './provision-lock.js';
14
14
  import { sanitizeUvEnvironment, uvCommandEnvironment } from './package-target.js';
15
- import { findUv, probePython, probeUv, pythonSatisfiesRequirements, } from './probes.js';
15
+ import { maxPep440Version, normalizePep440Version, } from './pep440.js';
16
+ import { findUv, probePython, probeUv, pythonSatisfiesPolicy, } from './probes.js';
16
17
  import { runAsync } from './process.js';
17
18
  import { canonicalPath, externalVirtualEnvironmentDirectories, pathsEqual, virtualEnvironmentDirectory, virtualEnvironmentPythonExecutable, } from './virtual-environment.js';
18
19
  /** Ensure a compatible uv executable, preferring an existing installation. */
@@ -20,18 +21,18 @@ export async function ensureUv(options = {}) {
20
21
  return ensureUvResolved(resolveOptions(options));
21
22
  }
22
23
  /**
23
- * Select a compatible environment and optionally add runtime requirements.
24
+ * Select a compatible environment and optionally add runtime dependencies.
24
25
  * Project dependency files are inputs only and are never changed.
25
26
  */
26
- export async function ensureEnvironment(options = {}, requirements = [], dependencyOptions = {}) {
27
+ export async function ensureEnvironment(options = {}, dependencies = [], dependencyOptions = {}) {
27
28
  const resolved = resolveOptions(options);
28
- const normalized = normalizeRequirements(requirements);
29
+ const normalized = normalizeDependencies(dependencies);
29
30
  const selections = normalizeDependencyOptions(dependencyOptions);
30
31
  const uv = await ensureUvResolved(resolved);
31
32
  const python = await ensureVirtualEnvironmentResolved(resolved, uv);
32
33
  if (normalized.length > 0 || selections.extras.length > 0 ||
33
34
  selections.groups.length > 0 || selections.allExtras) {
34
- await installRuntimeRequirements(uv, python, normalized, selections, resolved);
35
+ await installRuntimeDependencies(uv, python, normalized, selections, resolved);
35
36
  }
36
37
  return {
37
38
  python,
@@ -46,7 +47,7 @@ async function ensureVirtualEnvironmentResolved(options, uv) {
46
47
  const directory = virtualEnvironmentDirectory(options.projectRoot);
47
48
  const check = async () => {
48
49
  const candidate = await inspectVirtualEnvironment(directory, options);
49
- return candidate && pythonSatisfiesRequirements(candidate, options) &&
50
+ return candidate && pythonSatisfiesPolicy(candidate, options) &&
50
51
  await virtualEnvironmentMatchesConfiguredPython(candidate, options)
51
52
  ? candidate
52
53
  : null;
@@ -85,7 +86,7 @@ async function ensureVirtualEnvironmentResolved(options, uv) {
85
86
  async function findReusableEnvironment(options) {
86
87
  if (options.python) {
87
88
  const configured = await probePython({ executable: options.python, args: [] }, options);
88
- if (!configured || !pythonSatisfiesRequirements(configured, options)) {
89
+ if (!configured || !pythonSatisfiesPolicy(configured, options)) {
89
90
  throw incompatibleConfiguredPython(options);
90
91
  }
91
92
  if (configured.virtualEnvironment)
@@ -96,7 +97,7 @@ async function findReusableEnvironment(options) {
96
97
  virtualEnvironmentDirectory(options.projectRoot),
97
98
  ]) {
98
99
  const info = await inspectVirtualEnvironment(directory, options);
99
- if (info && pythonSatisfiesRequirements(info, options) &&
100
+ if (info && pythonSatisfiesPolicy(info, options) &&
100
101
  await virtualEnvironmentMatchesConfiguredPython(info, options)) {
101
102
  return info;
102
103
  }
@@ -106,13 +107,13 @@ async function findReusableEnvironment(options) {
106
107
  async function ensureBasePythonResolved(uv, options) {
107
108
  if (options.python) {
108
109
  const configured = await probePython({ executable: options.python, args: [] }, options);
109
- if (!configured || !pythonSatisfiesRequirements(configured, options)) {
110
+ if (!configured || !pythonSatisfiesPolicy(configured, options)) {
110
111
  throw incompatibleConfiguredPython(options);
111
112
  }
112
113
  if (!configured.virtualEnvironment)
113
114
  return configured;
114
115
  const base = await probePython({ executable: configured.baseExecutable, args: [] }, options);
115
- if (base && pythonSatisfiesRequirements(base, options))
116
+ if (base && pythonSatisfiesPolicy(base, options))
116
117
  return base;
117
118
  throw incompatibleConfiguredPython(options);
118
119
  }
@@ -156,7 +157,7 @@ async function findPythonWithUv(uv, options, source) {
156
157
  try {
157
158
  const { stdout } = await runAsync(uv.executable, args, explicitPythonSourceEnvironment(options), options.probeTimeoutMs);
158
159
  const info = await probePython({ executable: stdout.trim(), args: [] }, options);
159
- if (info && pythonSatisfiesRequirements(info, options))
160
+ if (info && pythonSatisfiesPolicy(info, options))
160
161
  return info;
161
162
  }
162
163
  catch {
@@ -181,7 +182,7 @@ async function findPythonWithUv(uv, options, source) {
181
182
  const candidates = installedPythonPaths(stdout);
182
183
  for (const executable of candidates) {
183
184
  const info = await probePython({ executable, args: [] }, options);
184
- if (info && !info.virtualEnvironment && pythonSatisfiesRequirements(info, options)) {
185
+ if (info && !info.virtualEnvironment && pythonSatisfiesPolicy(info, options)) {
185
186
  return info;
186
187
  }
187
188
  }
@@ -208,7 +209,7 @@ async function inspectVirtualEnvironment(directory, options) {
208
209
  const info = await probePython({ executable, args: [] }, options);
209
210
  return info?.virtualEnvironment && pathsEqual(info.virtualEnvironment, directory) ? info : null;
210
211
  }
211
- async function installRuntimeRequirements(uv, python, requirements, dependencyOptions, options) {
212
+ async function installRuntimeDependencies(uv, python, dependencies, dependencyOptions, options) {
212
213
  if (!python.virtualEnvironment) {
213
214
  throw new Error('Runtime dependency installation requires a virtual environment.');
214
215
  }
@@ -217,10 +218,10 @@ async function installRuntimeRequirements(uv, python, requirements, dependencyOp
217
218
  timeoutMs: options.coordinationTimeoutMs,
218
219
  check: async () => null,
219
220
  mutate: async () => {
220
- const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-requirements-'));
221
+ const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-dependencies-'));
221
222
  try {
222
- const additions = path.join(temporary, 'runtime-requirements.txt');
223
- const resolved = path.join(temporary, 'resolved-requirements.txt');
223
+ const additions = path.join(temporary, 'runtime-dependencies.txt');
224
+ const resolved = path.join(temporary, 'resolved-dependencies.txt');
224
225
  const pyproject = path.join(options.projectRoot, 'pyproject.toml');
225
226
  const hasPyproject = fs.existsSync(pyproject);
226
227
  if (!hasPyproject && (dependencyOptions.extras.length > 0 ||
@@ -229,8 +230,8 @@ async function installRuntimeRequirements(uv, python, requirements, dependencyOp
229
230
  throw new Error('Runtime extras and groups require an existing pyproject.toml.');
230
231
  }
231
232
  const sources = hasPyproject ? [pyproject] : [];
232
- if (requirements.length > 0) {
233
- await writeFile(additions, `${requirements.join('\n')}\n`, 'utf8');
233
+ if (dependencies.length > 0) {
234
+ await writeFile(additions, `${dependencies.join('\n')}\n`, 'utf8');
234
235
  sources.push(additions);
235
236
  }
236
237
  const selectionArgs = [
@@ -258,21 +259,30 @@ async function ensureUvResolved(options) {
258
259
  if (existing)
259
260
  return existing;
260
261
  if (!options.installUv) {
261
- throw new Error(`Compatible uv is unavailable (required ${options.uvRange}), and uv installation is disabled.`);
262
+ throw new Error(`Compatible uv is unavailable (requires-uv ${options.requiresUv}), and uv installation is disabled.`);
262
263
  }
263
- const installDir = uvInstallDirectory(options);
264
- const executable = uvExecutable(options);
264
+ const policyKey = createHash('sha256').update(options.requiresUv).digest('hex');
265
265
  return withProvisioningLock({
266
- key: `uv:${canonicalPath(installDir)}`,
266
+ key: `uv-policy:${canonicalPath(uvInstallRoot(options))}:${policyKey}`,
267
267
  timeoutMs: options.coordinationTimeoutMs,
268
268
  check: () => findAvailableUv(options),
269
269
  mutate: async () => {
270
- await installUv(installDir, options);
271
- const result = probeUv(executable, options);
272
- if (!result || result.version !== options.uvVersion) {
273
- throw new Error(`Expected managed uv ${options.uvVersion}, but the installed executable did not match.`);
274
- }
275
- return result;
270
+ const release = await resolveUvRelease(options);
271
+ const installDir = uvInstallDirectory(options, release.version);
272
+ const executable = uvExecutable(options, release.version);
273
+ return withProvisioningLock({
274
+ key: `uv-release:${canonicalPath(installDir)}`,
275
+ timeoutMs: options.coordinationTimeoutMs,
276
+ check: () => findAvailableUv(options),
277
+ mutate: async () => {
278
+ await installUv(installDir, release, options);
279
+ const result = probeUv(executable, options);
280
+ if (!result || result.version !== release.version) {
281
+ throw new Error(`Expected managed uv ${release.version}, but the installed executable did not match.`);
282
+ }
283
+ return result;
284
+ },
285
+ });
276
286
  },
277
287
  });
278
288
  }
@@ -280,14 +290,29 @@ async function findAvailableUv(options) {
280
290
  const external = await findUv(options);
281
291
  if (external)
282
292
  return external;
283
- const managed = probeUv(uvExecutable(options), options);
284
- return managed?.version === options.uvVersion ? managed : null;
285
- }
286
- function normalizeRequirements(requirements) {
287
- const normalized = requirements.map((requirement) => requirement.trim());
288
- for (const requirement of normalized) {
289
- if (!requirement || /[\0\r\n]/u.test(requirement)) {
290
- throw new TypeError(`Invalid runtime requirement: ${JSON.stringify(requirement)}`);
293
+ return findManagedUv(options);
294
+ }
295
+ async function findManagedUv(options) {
296
+ const entries = await readdir(uvInstallRoot(options), { withFileTypes: true }).catch(() => []);
297
+ let versions = entries
298
+ .filter(entry => entry.isDirectory() && normalizePep440Version(entry.name) === entry.name)
299
+ .map(entry => entry.name);
300
+ while (versions.length > 0) {
301
+ const selected = maxPep440Version(versions, options.requiresUv);
302
+ if (!selected)
303
+ return null;
304
+ const candidate = probeUv(uvExecutable(options, selected), options);
305
+ if (candidate?.version === selected)
306
+ return candidate;
307
+ versions = versions.filter(version => version !== selected);
308
+ }
309
+ return null;
310
+ }
311
+ function normalizeDependencies(dependencies) {
312
+ const normalized = dependencies.map((dependency) => dependency.trim());
313
+ for (const dependency of normalized) {
314
+ if (!dependency || /[\0\r\n]/u.test(dependency)) {
315
+ throw new TypeError(`Invalid runtime dependency: ${JSON.stringify(dependency)}`);
291
316
  }
292
317
  }
293
318
  return [...new Set(normalized)];
@@ -326,19 +351,20 @@ function targetUvEnvironment(options, python) {
326
351
  }
327
352
  function incompatibleConfiguredPython(options) {
328
353
  return new Error(`Configured Python ${options.python} is unavailable or does not satisfy ` +
329
- `${options.pythonRange}${options.requireEmbedding ? ' with CPython embedding files' : ''}.`);
354
+ `requires-python ${options.requiresPython}` +
355
+ `${options.requireEmbedding ? ' with CPython embedding files' : ''}.`);
330
356
  }
331
357
  function missingPythonMessage(options, reason) {
332
358
  const embedding = options.requireEmbedding
333
359
  ? ' with compatible CPython headers, library, architecture, and GIL ABI'
334
360
  : '';
335
- return `No Python satisfies ${options.pythonRange}${embedding}; ${reason}.`;
361
+ return `No Python satisfies requires-python ${options.requiresPython}${embedding}; ${reason}.`;
336
362
  }
337
363
  async function virtualEnvironmentMatchesConfiguredPython(virtualEnvironment, options) {
338
364
  if (!options.python)
339
365
  return true;
340
366
  const configured = await probePython({ executable: options.python, args: [] }, options);
341
- if (!configured || !pythonSatisfiesRequirements(configured, options))
367
+ if (!configured || !pythonSatisfiesPolicy(configured, options))
342
368
  return false;
343
369
  if (configured.virtualEnvironment && pathsEqual(configured.executable, virtualEnvironment.executable)) {
344
370
  return true;
@@ -348,15 +374,168 @@ async function virtualEnvironmentMatchesConfiguredPython(virtualEnvironment, opt
348
374
  : configured.executable;
349
375
  return pathsEqual(configuredBase, virtualEnvironment.baseExecutable);
350
376
  }
351
- function uvInstallDirectory(options) {
352
- return path.join(options.cacheDir, 'tools', 'uv', options.uvVersion);
377
+ const UV_RELEASE_PAGE_SIZE = 100;
378
+ const UV_RELEASE_MAX_PAGES = 20;
379
+ const UV_RELEASE_METADATA_TTL_MS = 24 * 60 * 60_000;
380
+ async function resolveUvRelease(options) {
381
+ const catalog = await ensureUvReleaseCatalog(options);
382
+ const asset = uvAsset();
383
+ const releases = catalog.releases.filter(release => release.assets.includes(asset) && release.assets.includes(`${asset}.sha256`));
384
+ const version = maxPep440Version(releases.map(release => release.version), options.requiresUv);
385
+ const release = releases.find(candidate => candidate.version === version);
386
+ if (!release) {
387
+ throw new Error(`No published uv release satisfies requires-uv ${options.requiresUv}.`);
388
+ }
389
+ return release;
390
+ }
391
+ async function ensureUvReleaseCatalog(options) {
392
+ const file = uvReleaseMetadataFile(options);
393
+ const stale = await readUvReleaseCatalog(file);
394
+ try {
395
+ return await withProvisioningLock({
396
+ key: `uv-metadata:${canonicalPath(file)}`,
397
+ timeoutMs: options.coordinationTimeoutMs,
398
+ check: () => readFreshUvReleaseCatalog(file),
399
+ mutate: async () => {
400
+ const catalog = await fetchUvReleaseCatalog(options);
401
+ await writeUvReleaseCatalog(file, catalog);
402
+ return catalog;
403
+ },
404
+ });
405
+ }
406
+ catch (error) {
407
+ const fallback = await readUvReleaseCatalog(file) ?? stale;
408
+ if (fallback)
409
+ return fallback;
410
+ throw error;
411
+ }
412
+ }
413
+ async function fetchUvReleaseCatalog(options) {
414
+ const dispatcher = proxyDispatcher(options.env);
415
+ const releases = new Map();
416
+ let exhausted = false;
417
+ try {
418
+ for (let page = 1; page <= UV_RELEASE_MAX_PAGES; page += 1) {
419
+ const text = await downloadText(`https://api.github.com/repos/astral-sh/uv/releases?per_page=${UV_RELEASE_PAGE_SIZE}&page=${page}`, options.downloadTimeoutMs, dispatcher, {
420
+ Accept: 'application/vnd.github+json',
421
+ 'User-Agent': 'pyfig',
422
+ 'X-GitHub-Api-Version': '2022-11-28',
423
+ });
424
+ const payload = JSON.parse(text);
425
+ if (!Array.isArray(payload)) {
426
+ throw new Error('GitHub returned invalid uv release metadata.');
427
+ }
428
+ for (const candidate of payload) {
429
+ if (!candidate || typeof candidate !== 'object')
430
+ continue;
431
+ const release = candidate;
432
+ if (release.draft === true || typeof release.tag_name !== 'string')
433
+ continue;
434
+ const assetNames = releaseAssetNames(release.assets);
435
+ const version = normalizePep440Version(release.tag_name);
436
+ if (version) {
437
+ releases.set(version, { assets: assetNames, tag: release.tag_name, version });
438
+ }
439
+ }
440
+ if (payload.length < UV_RELEASE_PAGE_SIZE) {
441
+ exhausted = true;
442
+ break;
443
+ }
444
+ }
445
+ }
446
+ finally {
447
+ await dispatcher?.close();
448
+ }
449
+ if (!exhausted) {
450
+ throw new Error(`uv release catalog exceeded ${UV_RELEASE_MAX_PAGES} pages.`);
451
+ }
452
+ if (releases.size === 0) {
453
+ throw new Error('GitHub returned no usable uv releases.');
454
+ }
455
+ return { fetchedAt: Date.now(), releases: [...releases.values()] };
456
+ }
457
+ async function readFreshUvReleaseCatalog(file) {
458
+ const catalog = await readUvReleaseCatalog(file);
459
+ if (!catalog)
460
+ return null;
461
+ const age = Date.now() - catalog.fetchedAt;
462
+ return age >= 0 && age < UV_RELEASE_METADATA_TTL_MS ? catalog : null;
353
463
  }
354
- function uvExecutable(options) {
355
- return path.join(uvInstallDirectory(options), process.platform === 'win32' ? 'uv.exe' : 'uv');
464
+ async function readUvReleaseCatalog(file) {
465
+ try {
466
+ return parseUvReleaseCatalog(JSON.parse(await readFile(file, 'utf8')));
467
+ }
468
+ catch {
469
+ return null;
470
+ }
356
471
  }
357
- async function installUv(installDir, options) {
472
+ function parseUvReleaseCatalog(value) {
473
+ if (!value || typeof value !== 'object')
474
+ return null;
475
+ const catalog = value;
476
+ if (!Number.isSafeInteger(catalog.fetchedAt) || catalog.fetchedAt < 0 ||
477
+ !Array.isArray(catalog.releases)) {
478
+ return null;
479
+ }
480
+ const releases = [];
481
+ for (const value of catalog.releases) {
482
+ if (!value || typeof value !== 'object')
483
+ return null;
484
+ const release = value;
485
+ if (!Array.isArray(release.assets) ||
486
+ !release.assets.every(asset => typeof asset === 'string') ||
487
+ typeof release.tag !== 'string' ||
488
+ !/^[A-Za-z0-9][A-Za-z0-9._+-]*$/u.test(release.tag) ||
489
+ typeof release.version !== 'string' ||
490
+ normalizePep440Version(release.version) !== release.version) {
491
+ return null;
492
+ }
493
+ releases.push({
494
+ assets: release.assets,
495
+ tag: release.tag,
496
+ version: release.version,
497
+ });
498
+ }
499
+ return { fetchedAt: catalog.fetchedAt, releases };
500
+ }
501
+ async function writeUvReleaseCatalog(file, catalog) {
502
+ await mkdir(path.dirname(file), { recursive: true });
503
+ const staged = path.join(path.dirname(file), `.${path.basename(file)}.${process.pid}.${randomUUID()}.tmp`);
504
+ try {
505
+ await writeFile(staged, `${JSON.stringify(catalog)}\n`, { encoding: 'utf8', flag: 'wx' });
506
+ if (process.platform === 'win32')
507
+ await rm(file, { force: true });
508
+ await rename(staged, file);
509
+ }
510
+ finally {
511
+ await rm(staged, { force: true });
512
+ }
513
+ }
514
+ function uvReleaseMetadataFile(options) {
515
+ return path.join(options.cacheDir, 'metadata', 'uv-releases.json');
516
+ }
517
+ function releaseAssetNames(value) {
518
+ if (!Array.isArray(value))
519
+ return [];
520
+ return value.flatMap(entry => {
521
+ if (!entry || typeof entry !== 'object')
522
+ return [];
523
+ const name = entry.name;
524
+ return typeof name === 'string' ? [name] : [];
525
+ });
526
+ }
527
+ function uvInstallRoot(options) {
528
+ return path.join(options.cacheDir, 'tools', 'uv');
529
+ }
530
+ function uvInstallDirectory(options, version) {
531
+ return path.join(uvInstallRoot(options), version);
532
+ }
533
+ function uvExecutable(options, version) {
534
+ return path.join(uvInstallDirectory(options, version), process.platform === 'win32' ? 'uv.exe' : 'uv');
535
+ }
536
+ async function installUv(installDir, release, options) {
358
537
  const asset = uvAsset();
359
- const baseUrl = `https://github.com/astral-sh/uv/releases/download/${options.uvVersion}`;
538
+ const baseUrl = `https://github.com/astral-sh/uv/releases/download/${release.tag}`;
360
539
  const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-uv-'));
361
540
  const dispatcher = proxyDispatcher(options.env);
362
541
  try {
@@ -369,31 +548,47 @@ async function installUv(installDir, options) {
369
548
  }
370
549
  const extracted = path.join(temporary, 'extracted');
371
550
  await mkdir(extracted, { recursive: true });
372
- if (asset.endsWith('.zip'))
373
- await extractZip(archive, { dir: extracted });
374
- else
375
- await tar.x({ file: archive, cwd: extracted, strict: true });
376
- const source = await findFile(extracted, process.platform === 'win32' ? 'uv.exe' : 'uv');
551
+ const source = await extractUvExecutable(archive, asset, extracted);
377
552
  if (!source)
378
553
  throw new Error(`uv archive did not contain the expected executable: ${asset}`);
379
- await publishUvAtomically(source, installDir, options);
554
+ await publishUvAtomically(source, installDir, release.version, options);
380
555
  }
381
556
  finally {
382
557
  await dispatcher?.close();
383
558
  await rm(temporary, { recursive: true, force: true });
384
559
  }
385
560
  }
386
- async function publishUvAtomically(source, installDir, options) {
561
+ async function extractUvExecutable(archive, asset, destination) {
562
+ const executableName = process.platform === 'win32' ? 'uv.exe' : 'uv';
563
+ if (!asset.endsWith('.zip')) {
564
+ await tar.x({ file: archive, cwd: destination, strict: true });
565
+ return findFile(destination, executableName);
566
+ }
567
+ // ZIP entry paths are never written to disk. Extract only uv's bytes and
568
+ // publish them at a path controlled by Pyfig, which prevents Zip Slip and
569
+ // symlink entries from redirecting writes outside the temporary directory.
570
+ const entries = unzipSync(await readFile(archive), {
571
+ filter: ({ name }) => path.posix.basename(name.replaceAll('\\', '/')) === executableName,
572
+ });
573
+ const matches = Object.entries(entries)
574
+ .filter(([name]) => path.posix.basename(name.replaceAll('\\', '/')) === executableName);
575
+ if (matches.length !== 1 || !matches[0])
576
+ return null;
577
+ const source = path.join(destination, executableName);
578
+ await writeFile(source, matches[0][1], { flag: 'wx' });
579
+ return source;
580
+ }
581
+ async function publishUvAtomically(source, installDir, version, options) {
387
582
  await mkdir(installDir, { recursive: true });
388
- const executable = uvExecutable(options);
583
+ const executable = uvExecutable(options, version);
389
584
  const staged = path.join(installDir, `.${path.basename(executable)}.${process.pid}.${randomUUID()}.tmp`);
390
585
  try {
391
586
  await copyFile(source, staged);
392
587
  if (process.platform !== 'win32')
393
588
  await chmod(staged, 0o755);
394
589
  const stagedUv = probeUv(staged, options);
395
- if (!stagedUv || stagedUv.version !== options.uvVersion) {
396
- throw new Error(`Downloaded uv executable is not version ${options.uvVersion}.`);
590
+ if (!stagedUv || stagedUv.version !== version) {
591
+ throw new Error(`Downloaded uv executable is not version ${version}.`);
397
592
  }
398
593
  if (process.platform === 'win32')
399
594
  await rm(executable, { force: true });
@@ -431,9 +626,10 @@ async function download(url, destination, timeoutMs, dispatcher) {
431
626
  }
432
627
  await pipeline(Readable.fromWeb(response.body), createWriteStream(destination, { flags: 'wx' }));
433
628
  }
434
- async function downloadText(url, timeoutMs, dispatcher) {
629
+ async function downloadText(url, timeoutMs, dispatcher, headers) {
435
630
  const response = await fetch(url, {
436
631
  dispatcher,
632
+ headers,
437
633
  redirect: 'follow',
438
634
  signal: AbortSignal.timeout(timeoutMs),
439
635
  });
@@ -1 +1 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pyfig",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Prepare uv-first Python runtime environments without editing project files.",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -22,7 +22,7 @@
22
22
  "SECURITY.md"
23
23
  ],
24
24
  "scripts": {
25
- "build": "tsc -p tsconfig.json && bun run scripts/build-cjs.ts",
25
+ "build": "bun run scripts/build.ts",
26
26
  "test": "bun test",
27
27
  "test:zero-python": "bun run scripts/smoke-zero-python.ts",
28
28
  "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.scripts.json",
@@ -57,15 +57,15 @@
57
57
  "packageManager": "bun@1.4.4",
58
58
  "sideEffects": false,
59
59
  "engines": {
60
- "node": ">=22.0.0 <=26.x",
60
+ "node": "^22.11.0 || >=24.10.0 <=26.x",
61
61
  "bun": ">=1.2.0"
62
62
  },
63
63
  "dependencies": {
64
+ "@renovatebot/pep440": "^5.0.1",
64
65
  "commander": "^14.0.3",
65
66
  "env-paths": "^4.0.0",
66
- "extract-zip": "^2.0.1",
67
- "loqkit": "^0.0.3",
68
- "semver": "^7.8.5",
67
+ "fflate": "^0.8.3",
68
+ "loqkit": "^0.0.5",
69
69
  "tar": "^7.4.3",
70
70
  "undici": "^7.30.1",
71
71
  "which": "^6.0.1"
@@ -75,6 +75,7 @@
75
75
  "@types/node": "^26.6.6",
76
76
  "@types/semver": "^7.8.0",
77
77
  "@types/which": "^3.0.4",
78
+ "semver": "^7.8.5",
78
79
  "typescript": "^7.0.2"
79
80
  }
80
81
  }