跳到主内容
UniKit

package.json 模板

生成 package.json:name / version / type / license / engines / files 与 scripts 一次配好,勾选 TypeScript、ESLint、Prettier、Vitest、Playwright 会自动补脚本与开发依赖,依赖按名字排序。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

项目信息

工具链

勾选后会补上对应的脚本与开发依赖,手写的同名依赖优先。

依赖

预览

运行依赖
1
开发依赖
4
脚本数
8
package.json
{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "license": "MIT",
  "engines": {
    "node": ">=20.0.0"
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "start": "node dist/index.js",
    "dev": "node --watch src/index.ts",
    "build": "tsc -p tsconfig.json",
    "typecheck": "tsc --noEmit",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check ."
  },
  "dependencies": {
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/node": "^22.9.0",
    "eslint": "^9.15.0",
    "prettier": "^3.3.3",
    "typescript": "^5.6.3"
  }
}

输出是 2 空格缩进的合法 JSON:字段顺序固定、依赖按名字排序,复制后直接 npm install 即可。

这个工具能做什么

  • 新项目第一次初始化时拿到一份字段齐全的 package.json,不用再翻文档确认 engines、files、type 该怎么写。
  • 给库项目补发布配置:private、files、license 一次填好,避免把源码或测试文件一起发到 npm。
  • 勾选 TypeScript、ESLint、Prettier、Vitest、Playwright 后自动补齐脚本与开发依赖,省掉手写 test:watch、format:check 这类命令。
  • 接手别人的仓库时对照生成结果,检查现有 package.json 的字段顺序、依赖版本与脚本命名是否规范。

示例

输入

包名 my-app、版本 0.1.0、ESM、私有包;勾选 TypeScript 与 Vitest;运行依赖 zod@^3.23.8

输出

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "license": "MIT",
  "engines": {
    "node": ">=20.0.0"
  },
  "files": [
    "dist"
  ],
  "scripts": {
    "start": "node dist/index.js",
    "dev": "node --watch src/index.ts",
    "build": "tsc -p tsconfig.json",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest"
  },
  "dependencies": {
    "zod": "^3.23.8"
  },
  "devDependencies": {
    "@types/node": "^22.9.0",
    "typescript": "^5.6.3",
    "vitest": "^2.1.5"
  }
}

勾选 TypeScript 后 files 默认是 dist、dev 脚本指向 .ts 源文件;勾选 Vitest 会补 test 与 test:watch,并自动加上 vitest 与 @types/node 依赖。

常见问题

依赖要怎么写?

写成 名字@范围,例如 zod@^3.23.8、@types/node@^22.9.0,一行一个。名字必须是小写;作用域包写成 @scope/name@范围。写错的条目会直接提示,不会生成一份装不上的 package.json。

勾选工具链后,我能用自己的版本吗?

能。生成器只在开发依赖里没有同名包时才补默认版本,所以你自己写 vitest@^3.0.0 就会覆盖内置的 ^2.1.5。同一个包同时出现在运行依赖和开发依赖里会报错,需要自己选一个位置。

private 该不该打开?

内部项目、应用、脚手架都应该保持 private: true,它是防止 npm publish 手滑的最后一道保险。要发布成公开库时再关掉,同时确认 files 只包含 dist 这类构建产物。

engines.node 写了有什么用?

engines 本身只是声明,npm 默认不会因为版本不符就拒绝安装(除非把 engine-strict 打开),但 pnpm、yarn 与大多数 CI 会据此警告或拦截,也是给协作者看的版本要求。默认写 >=20.0.0。

生成的 JSON 一定能被 npm 解析吗?

是。输出是标准 JSON(2 空格缩进、无注释、无尾随逗号),字段顺序固定、依赖按名字排序,包名与版本都按 npm 规则校验过,复制保存后直接 npm install 即可。

关键词:package.jsonpackage.json generatorpackage.json 模板npm initnpm scriptsengines nodedevDependenciesdependenciesnode 项目前端工程化typescript 依赖vitest 脚本

同类工具