Browse Source

Fix Node ESM plugin packaging

star 2 months ago
parent
commit
925cde05b6

+ 2 - 2
package.json

@@ -47,8 +47,8 @@
     "LICENSE"
   ],
   "scripts": {
-    "build:plugin": "bun build src/index.ts src/tui.ts --outdir dist --target node --format esm --external @ast-grep/napi --external @opencode-ai/plugin --external @opencode-ai/sdk --external @opentui/core --external @opentui/solid --external jsdom --external zod",
-    "build:cli": "bun build src/cli/index.ts --outdir dist/cli --target node --format esm --external @ast-grep/napi --external @opencode-ai/plugin --external @opencode-ai/sdk --external jsdom --external zod",
+    "build:plugin": "bun build src/index.ts src/tui.ts --outdir dist --target node --format esm --external @ast-grep/napi --external @opencode-ai/plugin --external @opencode-ai/plugin/* --external @opencode-ai/sdk --external @opencode-ai/sdk/* --external @opentui/core --external @opentui/solid --external jsdom --external zod",
+    "build:cli": "bun build src/cli/index.ts --outdir dist/cli --target node --format esm --external @ast-grep/napi --external @opencode-ai/plugin --external @opencode-ai/plugin/* --external @opencode-ai/sdk --external @opencode-ai/sdk/* --external jsdom --external zod",
     "copy:divoom-assets": "bun run scripts/copy-divoom-assets.ts",
     "build": "bun run build:plugin && bun run build:cli && bun run copy:divoom-assets && tsc --emitDeclarationOnly && bun run generate-schema",
     "prepare": "bun run build",

+ 6 - 0
scripts/verify-release-artifact.ts

@@ -20,6 +20,7 @@ const suspiciousPathPatterns = [
   /\/Users\/[^\s'"`]+(?:node_modules|oh-my-opencode-slim)[^\s'"`]*/,
   /\/home\/[^\s'"`]+(?:node_modules|oh-my-opencode-slim)[^\s'"`]*/,
 ];
+const suspiciousImportPatterns = [/from\s+["']vscode-jsonrpc\/node["']/];
 
 const packagedRequiredFiles = [
   'package.json',
@@ -101,6 +102,11 @@ function verifyDistHasNoLeakedPaths() {
       if (!match) continue;
       leaks.push(`${path.relative(repoRoot, file)}: ${match[0]}`);
     }
+    for (const pattern of suspiciousImportPatterns) {
+      const match = content.match(pattern);
+      if (!match) continue;
+      leaks.push(`${path.relative(repoRoot, file)}: ${match[0]}`);
+    }
   }
 
   if (leaks.length > 0) {

+ 1 - 1
src/hooks/todo-continuation/index.ts

@@ -1,5 +1,5 @@
 import type { PluginInput } from '@opencode-ai/plugin';
-import { tool } from '@opencode-ai/plugin/tool';
+import { tool } from '@opencode-ai/plugin';
 import {
   createInternalAgentTextPart,
   log,

+ 1 - 1
src/tools/ast-grep/tools.ts

@@ -1,4 +1,4 @@
-import { type ToolDefinition, tool } from '@opencode-ai/plugin/tool';
+import { type ToolDefinition, tool } from '@opencode-ai/plugin';
 import { runSg } from './cli';
 import type { CliLanguage } from './types';
 import { CLI_LANGUAGES } from './types';