@3sln/create-trove 0.0.17 → 0.0.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3sln/create-trove",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "type": "module",
5
5
  "description": "Scaffold a Trove deployment — Bun, Node, or Cloudflare Workers — with the bindings, environment and secrets each one needs.",
6
6
  "repository": {
package/src/plan.js CHANGED
@@ -369,16 +369,17 @@ async function askWorkers(prompter, { embeddingDim }) {
369
369
  }
370
370
  }
371
371
 
372
- // Default FALSE, and the wording says why: running dynamic Workers on Cloudflare needs
373
- // the closed beta, so for most people the honest answer today is "not yet". Declaring
374
- // the binding without access makes the deploy fail, which is a worse first experience
375
- // than an install that refuses a plugin with a clear message.
372
+ // Default TRUE. Dynamic Workers reached open beta in March 2026 and is available to
373
+ // everyone on the Workers Paid plan which a drive already needs for D1 and Durable
374
+ // Objects — so the binding is the ordinary case rather than the exotic one. Still a
375
+ // question, because it is the difference between "plugin indexers run" and "plugin
376
+ // indexers are skipped and the drive raises an issue saying so".
376
377
  w.workerLoader = await prompter.confirm(
377
378
  ' Bind a Worker Loader so plugin indexers can run?',
378
- { key: 'workers.loader.enabled', default: false,
379
+ { key: 'workers.loader.enabled', default: true,
379
380
  hint: 'without it, plugin indexers are skipped — a plugin still installs and its '
380
381
  + 'viewers work, but nothing it would have contributed to search appears. '
381
- + 'Needs the Dynamic Workers closed beta; works in `wrangler dev` regardless' },
382
+ + 'Needs the Workers Paid plan; works in `wrangler dev` regardless' },
382
383
  );
383
384
 
384
385
  if (await prompter.section('Vectorize (semantic search)', { key: 'workers.vectorize.enabled',
package/src/render.js CHANGED
@@ -437,23 +437,27 @@ function wranglerToml(plan) {
437
437
  // Where PLUGIN INDEXERS run. A plugin's indexer is somebody else's code executing on
438
438
  // the server, and a Worker cannot simply import it: the in-process runner loads code
439
439
  // through a `data:` URL, which workerd refuses outright — so without this binding every
440
- // plugin indexer fails on every file. (It used to fail SILENTLY; the install now
441
- // refuses up front and says why.)
440
+ // plugin indexer fails on every file. (It used to fail silently; a deployment that
441
+ // cannot run them now skips them and raises an issue saying so.)
442
442
  //
443
443
  // A Worker Loader gives that code a real isolate with no bindings and no network beyond
444
- // the one presigned URL the host hands it. Commented out because running dynamic
445
- // Workers on Cloudflare needs the closed beta — it works in `wrangler dev` today, so
446
- // uncommenting it locally is how you try plugin indexers before you have access.
444
+ // the one presigned URL the host hands it. Open beta since March 2026 on the Workers
445
+ // Paid plan which a drive already needs for D1 and Durable Objects and it works in
446
+ // `wrangler dev` on any plan.
447
+ //
448
+ // Billing is per unique Worker LOADED per day, not per file indexed: the loader is keyed
449
+ // by package digest, so a plugin costs one load a day however many files it walks.
447
450
  if (w?.workerLoader) {
448
451
  L.push('# Isolates for plugin indexers. See "Server indexers" in the README.');
449
452
  L.push('[[worker_loaders]]');
450
453
  L.push('binding = "LOADER"');
451
454
  L.push('');
452
455
  } else {
453
- L.push('# [[worker_loaders]] # plugin indexers run in isolates loaded through this');
454
- L.push('# binding = "LOADER" # works in `wrangler dev`; on Cloudflare needs the');
455
- L.push('# # Dynamic Workers closed beta. Without it, installing');
456
- L.push('# # a plugin that ships a server indexer is refused.');
456
+ L.push('# [[worker_loaders]] # plugin indexers run in isolates loaded through this.');
457
+ L.push('# binding = "LOADER" # Needs the Workers Paid plan; works in `wrangler dev`');
458
+ L.push('# # on any plan. Without it a plugin that ships a server');
459
+ L.push('# # indexer still installs and its viewers work, but its');
460
+ L.push('# # indexers are skipped and the drive raises an issue.');
457
461
  L.push('');
458
462
  }
459
463