{
  "name": "snapshot-fs",
  "version": "6.0.5",
  "type": "module",
  "description": "Create a filesystem snapshot for use with memfs",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/boneskull/snapshot-fs.git"
  },
  "homepage": "https://github.com/boneskull/snapshot-fs",
  "author": "Christopher Hiller <boneskull@boneskull.com>",
  "license": "Apache-2.0",
  "engines": {
    "node": "^22.16.0 || >=24.0.0"
  },
  "bin": {
    "snapshot-fs": "dist/cli.js"
  },
  "main": "./dist/index.cjs",
  "types": "./dist/index.d.cts",
  "module": "./dist/index.js",
  "exports": {
    "./package.json": "./package.json",
    ".": {
      "types": "./dist/index.d.cts",
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    },
    "./cli": {
      "types": "./dist/cli.d.cts",
      "import": "./dist/cli.js",
      "require": "./dist/cli.cjs"
    }
  },
  "files": [
    "dist"
  ],
  "keywords": [
    "memfs",
    "snapshot",
    "fs",
    "filesystem",
    "image",
    "directory",
    "tree",
    "hierarchy",
    "persist",
    "clone",
    "test",
    "cli",
    "command",
    "tool"
  ],
  "scripts": {
    "build": "zshy",
    "coverage": "c8 --all --include src npm run test",
    "dev": "zshy --watch",
    "lint": "run-p lint:*",
    "lint-commit": "commitlint",
    "lint-staged": "lint-staged",
    "lint:deps": "knip",
    "lint:sources": "eslint .",
    "prepare": "husky; npm run build",
    "test": "node --import tsx --test \"./test/*.test.ts\"",
    "test:ci": "c8 --all --include src -- node --import tsx --test \"./test/*.test.ts\"",
    "test:update": "node --import tsx --test --test-update-snapshots \"./test/*.test.ts\""
  },
  "dependencies": {
    "@boneskull/bargs": "3.0.1",
    "json-stable-stringify": "1.3.0",
    "memfs": "4.51.1",
    "supports-color": "10.2.2",
    "tree-dump": "1.1.0"
  },
  "devDependencies": {
    "@commitlint/cli": "20.2.0",
    "@commitlint/config-conventional": "20.2.0",
    "@eslint/js": "9.39.2",
    "@stylistic/eslint-plugin": "5.6.1",
    "@types/node": "24.10.4",
    "bupkis": "0.14.0",
    "c8": "10.1.3",
    "eslint": "9.39.2",
    "eslint-plugin-jsonc": "2.21.0",
    "eslint-plugin-n": "17.23.1",
    "eslint-plugin-perfectionist": "5.1.0",
    "husky": "9.1.7",
    "knip": "5.78.0",
    "lint-staged": "16.2.7",
    "npm-run-all2": "8.0.4",
    "prettier": "3.7.4",
    "prettier-plugin-jsdoc": "1.8.0",
    "prettier-plugin-organize-imports": "4.3.0",
    "prettier-plugin-pkg": "0.21.2",
    "tsx": "4.21.0",
    "typescript": "5.9.3",
    "typescript-eslint": "8.50.1",
    "zshy": "0.6.0"
  },
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "knip": {
    "ignore": [
      ".wallaby.js",
      "**/*.cts",
      "**/*.d.ts"
    ],
    "node": {
      "entry": [
        "test/*.test.ts"
      ]
    }
  },
  "lint-staged": {
    "*.{ts,cts,js,json,md,yml,json5}": [
      "eslint --fix",
      "prettier --write"
    ]
  },
  "prettier": {
    "jsdocCommentLineStrategy": "keep",
    "jsdocPreferCodeFences": true,
    "plugins": [
      "prettier-plugin-jsdoc",
      "prettier-plugin-pkg",
      "prettier-plugin-organize-imports"
    ],
    "singleQuote": true,
    "tsdoc": true
  },
  "zshy": {
    "exports": {
      "./package.json": "./package.json",
      ".": "./src/index.ts",
      "./cli": "./src/cli.ts"
    }
  }
}
