用途:为 forcedotcom/apex-language-support 仓库中的各个包提供 package.json 编写规范,统一命名与字段约定。
主要能力与规则: 命名:非 npm 包应命名为 @salesforce/foo(无论是否实际发布到 npm);发布 vscode 扩展的包命名为 apex-language-server-extension;不要重命名包,但当内容不符合规则时应告知用户。
types:扩展只有在作为其他扩展的 extensionDependency 时才需要 types 属性;非扩展包通常不需要。
browser:仅用于支持 Web 的扩展,且必须指向打包后的 dist 文件。
npm 包:发布到 npm 的包应在 package.json 中包含 files 属性。
scripts:参见 wireit skill。
dependencies:仓库内其他包使用 * 作为版本号。
devDependencies:包不应重复仓库顶层已有的 devDependencies。
vscode contributes 提示:commands 中的内容会出现在命令面板,若不希望出现需使用 never 或在 commandPalette 下使用 when;命令需要唯一 ID,两个扩展贡献相同配置会产生 UI 警告;不要创建 default:true 的布尔配置(难以被用户或工作区覆盖)。
限制:资料未提供具体安装命令、完整代码示例或更多字段细节。