📋JSON Templates

package.json (npm/Node.js)

Standard package.json structure for Node.js projects with common fields.

Explanation

package.json defines your Node.js project metadata, dependencies, and scripts.

Examples

Basic Package
Output
{
  "name": "my-project",
  "version": "1.0.0",
  "description": "My awesome project",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "scripts": {
    "build": "tsc",
    "test": "jest",
    "start": "node dist/index.js"
  },
  "keywords": [
    "nodejs",
    "typescript"
  ],
  "author": "Your Name",
  "license": "MIT",
  "dependencies": {
    "express": "^4.18.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0",
    "@types/node": "^20.0.0"
  }
}

Code Examples

package.json
{
  "name": "my-package",
  "version": "1.0.0",
  "description": "Package description",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.mjs",
      "require": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  },
  "scripts": {
    "build": "tsc",
    "test": "jest",
    "lint": "eslint src"
  },
  "keywords": ["keyword1", "keyword2"],
  "author": "Your Name",
  "license": "MIT",
  "engines": {
    "node": ">=18.0.0"
  }
}

Try it Now

💡 Tips

  • Use semantic versioning (semver)
  • Specify engine requirements
  • Use exports field for modern packages
  • Add types field for TypeScript
  • Include keywords for npm discoverability
  • Use ^ for dependencies, exact for peer

⚠️ Common Pitfalls

  • Don't commit package-lock.json for libraries
  • Main field must point to built file
  • Be careful with version ranges
  • Test your package before publishing