Sfoglia il codice sorgente

fix(picker): ship the dialog worker as the constrained ./worker artifact

The workspace files constraint keys worker bundles on the ./worker export
(lib/worker.cjs, the workflow-workerthread shape); the descriptive source
entry stays win32-dialog-worker.ts and tsdown renames the bundle.
Huanqi Cao 1 mese fa
parent
commit
fed3149ac4

+ 5 - 1
packages/host/directory-picker-native/package.json

@@ -19,14 +19,18 @@
       "types": "./lib/types/client/index.d.ts",
       "default": "./lib/client.js"
     },
+    "./worker": {
+      "types": "./lib/types/win32-dialog-worker.d.ts",
+      "default": "./lib/worker.cjs"
+    },
     "./src/*": "./src/*",
     "./package.json": "./package.json"
   },
   "files": [
     "lib/index.js",
     "lib/invariant.js",
+    "lib/worker.cjs",
     "lib/client.js",
-    "lib/win32-dialog-worker.cjs",
     "lib/types/**/*.d.ts",
     "lib/types/**/*.d.ts.map",
     "src"

+ 1 - 1
packages/host/directory-picker-native/src/win32-dialog-host.ts

@@ -20,7 +20,7 @@ import type { Win32DialogWorkerData } from './win32-dialog-worker.ts'
 export function spawnDialogWorker(data: Win32DialogWorkerData): Worker {
   /* v8 ignore next 3 -- the built-output arm: tests always run unbuilt (src/) */
   if (!import.meta.url.endsWith('.ts')) {
-    return new Worker(fileURLToPath(new URL('./win32-dialog-worker.cjs', import.meta.url)), { workerData: data })
+    return new Worker(fileURLToPath(new URL('./worker.cjs', import.meta.url)), { workerData: data })
   }
   const workerEntry = new URL('./win32-dialog-worker.ts', import.meta.url)
   const bootstrap = [

+ 3 - 1
packages/host/directory-picker-native/tsdown.config.ts

@@ -6,7 +6,9 @@ import { clientBundle } from '../../client/tsdown.client.ts'
 export default [
   ...clientBundle('@deepseek-ai/dsh-host-directory-picker-native', ['lib/types/index.js', 'lib/types/invariant.js']),
   {
-    entry: ['lib/types/win32-dialog-worker.js'],
+    // The artifact is lib/worker.cjs (the ./worker export the workspace
+    // constraint keys on), bundled from the descriptive source entry.
+    entry: { worker: 'lib/types/win32-dialog-worker.js' },
     outDir: 'lib',
     format: ['cjs'] as ['cjs'],
     platform: 'node' as const,