Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[bug]: dist/ JS retains @agentscript/* imports after scope rewrite, breaking installed package

Đang mở
#35 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
72/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
node.js, typescript
Lĩnh vực
build-system, release

Hướng nghiên cứu

Bắt đầu với scripts/publish.mjs và kiểm tra cách packages//dist/ được tạo ra so với việc viết lại scope của package.json. Tái hiện bằng npm install được cung cấp và dynamic import, sau đó kiểm tra dist/index.js và dist/index.d.ts để tìm các tham chiếu @agentscript/ còn lại. Hoàn tất khi package đã cài đặt phân giải được các dependency @sf-agentscript/* và export parse có thể được gọi.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Summary

Installing the published npm package @sf-agentscript/[email protected] and importing it throws ERR_MODULE_NOT_FOUND: Cannot find package '@agentscript/parser' at runtime. The package on npm is currently unusable end-to-end.

Root cause

scripts/publish.mjs rewrites @agentscript/* → @sf-agentscript/* in package.json files only (lines 14–15, 28–29). The compiled JS in packages/*/dist/ is built before this rewrite step, so the compiled output still contains literal import specifiers like:

import { parseAndHighlight } from "@agentscript/parser";

When npm installs @sf-agentscript/agentforce, dependency resolution correctly places the dep at node_modules/@sf-agentscript/parser (because the rewritten package.json lists it under that name). But the runtime code still asks for @agentscript/parser, so Node throws ERR_MODULE_NOT_FOUND.

The same issue affects the JSDoc @example blocks in dist/index.d.ts (cosmetic, but inconsistent).

Reproduction

mkdir /tmp/repro && cd /tmp/repro
npm init -y
node -e "let p=require('./package.json');p.type='module';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2))"
npm install @sf-agentscript/agentforce
node --input-type=module -e "import('@sf-agentscript/agentforce').then(m => console.log(typeof m.parse))"

Actual output:

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@agentscript/parser' imported from
  /tmp/repro/node_modules/@sf-agentscript/agentforce/dist/index.js

Expected: function (the parse export is callable).

Evidence

  • node_modules/@sf-agentscript/agentforce/package.json correctly lists "@sf-agentscript/parser": "4.0.0" ✅
  • node_modules/@sf-agentscript/agentforce/dist/index.js line ~3 reads import { ... } from "@agentscript/parser" ❌
  • node_modules/@sf-agentscript/agentforce/dist/index.d.ts JSDoc @example blocks reference '@agentscript/agentforce' (cosmetic, lower priority)

grep -rE "from '(@agentscript|@sf-agentscript)" node_modules/@sf-agentscript/agentforce/dist/ confirms every cross-package import in dist/ uses the un-rewritten @agentscript/* scope.

Possible fixes

  1. Rewrite dist after build, before publish. Add a step to scripts/publish.mjs that walks packages/*/dist/**/*.{js,mjs,cjs,d.ts,d.mts,map} and applies the same @agentscript/ → @sf-agentscript/ string replace. ~20 lines. Lowest blast radius.
  2. Build after rewrite. Reorder publish steps so package.json rewrite happens before pnpm build, then build emits the new scope. But TypeScript doesn't transform import specifiers, so this alone wouldn't help — sources still say from '@agentscript/parser'. Would also require source rewrites or a tsconfig path alias.
  3. Bundler alias / path mapping during publish builds. More invasive, requires per-package config changes.

Option 1 is the smallest, safest, and most localized change. I have a draft patch ready and am happy to send a PR if this approach is acceptable.

Related

  • #6 — the install command in the README was wrong; the README fix is in #34. This issue is the runtime half of the same end-to-end user journey.
  • This is also why PR #23's installation.md troubleshooting note describes the npm visibility error: users hitting the install-side bug never get to discover the runtime-side bug.

Environment

  • Node v20.14.0 (also reproduced on v22)
  • npm 10.7.0
  • macOS arm64
  • Package: @sf-agentscript/[email protected] (current latest on npm at time of report)
Ngôn ngữ chính
TypeScript
Star
267
Fork
54
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của salesforce/agentscript

Tất cả issue của salesforce/agentscript

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.