Token导航 LogoToken导航TokenDH.com
Npm Check Prepublish logo
开发工具stdio官方级别未说明来源级核验

Npm Check Prepublish

MCP Server

npm-check-prepublish

npm-check-prepublish是一个用于在npm包发布前验证其正确性的工具,支持普通模块和CLI工具的检查。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
开发工具TypeScript命令行工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kmalakoff

提供方

kmalakoff

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx npm-check-prepublish

详细介绍

npm检查预发布

npm预发布包的验证工具(模块、CLI工具)。

它做什么

验证你的npm包是否正常工作 之前 出版。捕捉破坏生产设施的常见包装问题。

支持2种包装类型:

  1. 普通模块 -验证生成、文件和导入
  2. CLI工具 -验证构建、文件和执行

安装

npm install --save-dev npm-check-prepublish

用法

快速开始

# In your package directory
npx npm-check-prepublish

程序化使用

import { CheckPrepublish } from 'npm-check-prepublish';

const checker = new CheckPrepublish();

const result = await checker.check();
process.exit(result.success ? 0 : 1);

添加到package.json

{
  "scripts": {
    "check": "npm-check-prepublish",
    "prepublishOnly": "npm run build && npm run check"
  }
}

验证步骤

步骤1:构建验证

  • npm run build 如果 scripts.build 存在
  • 如果没有构建脚本,则跳过(无错误)
  • 跳过: --no-build

步骤2:文件验证

  • 自动从package.json中检测所需文件(main, module, types, bin)
  • 验证所有文件是否存在
  • 跳过: --no-check-required-files

步骤3:包验证

  • 使用创建tarball npm pack
  • 安装在临时目录中 --production
  • 验证已安装包中是否存在文件
  • 验证排除的文件(src/、test/、.env\*)是否不在包中
  • 跳过: --no-pack

步骤4:运行时验证(特定类型)

法向模数

  • 尝试导入模块
  • 跳过: --no-check-import

CLI工具

  • 使用以下命令运行CLI --version
  • 跳过: --no-check-bin

包装类型检测

从package.json中自动检测到:

字段检测到类型
binCLI工具
两者都不是正常模块

配置

配置对象

interface VerifyConfig {
  packageDir?: string;           // default: process.cwd()
  requiredFiles?: string[];      // append to auto-detected

  // Skip flags
  skipBuild?: boolean;
  skipCheckRequiredFiles?: boolean;
  skipPackage?: boolean;
  skipCheckImport?: boolean;
  skipCheckBin?: boolean;
}

CLI标志

# Skip flags
--no-build                    # Skip build step
--no-check-required-files     # Skip file verification
--no-pack                     # Skip npm pack + install
--no-check-import             # Skip module import (modules)
--no-check-bin                # Skip CLI execution (CLI tools)

例子

示例1:普通模块

package.json:

{
  "name": "my-utils",
  "main": "./dist/index.js",
  "scripts": {
    "build": "tsc",
    "check": "npm-check-prepublish"
  }
}

:

npm run check

验证导入工作。

示例2:CLI工具

package.json:

{
  "name": "my-cli",
  "bin": {
    "my-cli": "bin/cli.js"
  },
  "scripts": {
    "build": "tsc",
    "check": "npm-check-prepublish"
  }
}

:

npm run check

验证CLI是否运行 --version.

为什么使用这个?

常见问题

  1. 缺少生产依赖关系 -依赖性 devDependencies 但在运行时需要
  2. 排除的源文件 - src/ 意外包含在包中的目录
  3. 错误的构建工件 -内置文件丢失或位置错误
  4. 破碎的进口 -安装后无法导入模块
  5. CLI执行失败 -二进制文件不可执行或缺失

真实世界示例

// ❌ This works in development but breaks in production:
import config from '../../config.json';

// ✅ Verification catches this because config.json is in excluded src/

与CI/CD集成

{
  "scripts": {
    "prepublishOnly": "npm run build && npm run check"
  }
}

这可确保您无法发布损坏的包。

API

new CheckPrepublish(config)

创建检查器实例。

checker.check(): Promise

运行验证并返回结果。

退货:

{
  success: boolean,
  errors: Error[]
}

许可证

麻省理工学院

目录标签

目录标签

开发工具TypeScript命令行工具npm工具本地部署预发布检查模块验证CLI工具验证

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

npm-check-prepublish

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP