{
  "name": "cfn-forge",
  "version": "1.0.18",
  "description": "CloudFormation deployment automation tool with git-based workflows",
  "keywords": [
    "aws",
    "cloudformation",
    "deployment",
    "automation",
    "gitops",
    "infrastructure",
    "devops",
    "cli",
    "iaac",
    "infrastructure-as-code"
  ],
  "homepage": "https://github.com/dmleblanc/cfn-forge",
  "bugs": {
    "url": "https://github.com/dmleblanc/cfn-forge/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/dmleblanc/cfn-forge.git"
  },
  "license": "MIT",
  "author": {
    "name": "David LeBlanc",
    "email": "dleblanc@ironsidegroup.com",
    "url": "https://github.com/cfn-forge"
  },
  "main": "src/lib/index.js",
  "bin": {
    "cfn-forge": "bin/cfn-forge"
  },
  "files": [
    "bin/",
    "src/",
    "templates/",
    "scripts/install.sh",
    "scripts/postinstall.js",
    "completions/",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "scripts": {
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "test:integration": "./test/integration/run.sh",
    "test:bash": "./test/bash/run.sh",
    "lint": "eslint src --ext .js",
    "lint:fix": "eslint src --ext .js --fix",
    "lint:bash": "find src/core -name '*.sh' -exec shellcheck {} \\;",
    "format": "prettier --write '**/*.{js,json,md,yml,yaml}'",
    "format:check": "prettier --check '**/*.{js,json,md,yml,yaml}'",
    "build": "npm run clean && npm run build:prepare && npm run build:dist",
    "build:prepare": "node scripts/prepare-build.js",
    "build:dist": "node scripts/build-dist.js",
    "build:binaries": "pkg . --out-path binaries/",
    "build:all": "npm run build && npm run build:binaries",
    "clean": "rm -rf dist coverage .nyc_output binaries",
    "release": "standard-version",
    "release:dry": "standard-version --dry-run",
    "release:patch": "npm run release -- --release-as patch",
    "release:minor": "npm run release -- --release-as minor",
    "release:major": "npm run release -- --release-as major",
    "postinstall": "node scripts/postinstall.js",
    "preuninstall": "node scripts/preuninstall.js",
    "prepare": "node -e \"try { require('husky').install() } catch (e) { if (e.code !== 'MODULE_NOT_FOUND') throw e }\"",
    "dev": "node bin/cfn-forge --debug",
    "dev:link": "npm link && echo '✅ cfn-forge linked for development'",
    "dev:unlink": "npm unlink && echo '✅ cfn-forge unlinked'",
    "release:cross-platform": "node release.js",
    "release:windows": "node release.js",
    "release:unix": "./release.sh"
  },
  "dependencies": {
    "@aws-sdk/client-cloudformation": "^3.450.0",
    "@aws-sdk/client-s3": "^3.450.0",
    "@aws-sdk/client-sts": "^3.858.0",
    "@aws-sdk/s3-request-presigner": "^3.450.0",
    "archiver": "^7.0.1",
    "boxen": "^5.1.2",
    "chalk": "^4.1.2",
    "chokidar": "^3.5.3",
    "commander": "^11.1.0",
    "inquirer": "^8.2.6",
    "js-yaml": "^4.1.0",
    "ncp": "^2.0.0",
    "ora": "^5.4.1",
    "semver": "^7.5.4",
    "simple-git": "^3.20.0",
    "update-notifier": "^5.1.0"
  },
  "devDependencies": {
    "@commitlint/cli": "^18.4.3",
    "@commitlint/config-conventional": "^18.4.3",
    "@types/inquirer": "^9.0.7",
    "@types/js-yaml": "^4.0.9",
    "@types/node": "^20.10.5",
    "@types/semver": "^7.5.6",
    "eslint": "^8.56.0",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jest": "^27.6.0",
    "eslint-plugin-node": "^11.1.0",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "lint-staged": "^15.2.0",
    "pkg": "^5.8.1",
    "prettier": "^3.1.1",
    "shellcheck": "^2.2.0",
    "standard-version": "^9.5.0"
  },
  "engines": {
    "node": ">=16.0.0",
    "npm": ">=7.0.0"
  },
  "os": [
    "darwin",
    "linux",
    "win32"
  ],
  "cpu": [
    "x64",
    "arm64"
  ],
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "jest": {
    "testEnvironment": "node",
    "setupFilesAfterEnv": [
      "<rootDir>/test/setup/jest.setup.js"
    ],
    "coverageDirectory": "coverage",
    "collectCoverageFrom": [
      "src/**/*.js",
      "!src/**/*.test.js",
      "!src/**/index.js"
    ],
    "testMatch": [
      "**/test/unit/**/*.test.js",
      "**/test/integration/**/*.test.js"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/dist/",
      "/templates/"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 60,
        "functions": 60,
        "lines": 60,
        "statements": 60
      }
    }
  },
  "prettier": {
    "semi": true,
    "singleQuote": true,
    "tabWidth": 2,
    "trailingComma": "es5",
    "printWidth": 100,
    "arrowParens": "always"
  },
  "commitlint": {
    "extends": [
      "@commitlint/config-conventional"
    ]
  },
  "lint-staged": {
    "*.js": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,md,yml,yaml}": [
      "prettier --write"
    ],
    "*.sh": [
      "shellcheck"
    ]
  },
  "standard-version": {
    "types": [
      {
        "type": "feat",
        "section": "Features"
      },
      {
        "type": "fix",
        "section": "Bug Fixes"
      },
      {
        "type": "chore",
        "hidden": true
      },
      {
        "type": "docs",
        "section": "Documentation"
      },
      {
        "type": "style",
        "hidden": true
      },
      {
        "type": "refactor",
        "section": "Code Refactoring"
      },
      {
        "type": "perf",
        "section": "Performance Improvements"
      },
      {
        "type": "test",
        "hidden": true
      }
    ]
  },
  "directories": {
    "bin": "bin",
    "doc": "docs",
    "lib": "src/lib",
    "test": "test"
  },
  "cfn-forge": {
    "compatibleVersions": "^1.0.0"
  },
  "pkg": {
    "scripts": [
      "src/**/*.js",
      "bin/cfn-forge"
    ],
    "assets": [
      "templates/**/*",
      "src/cli/config/interactive.json"
    ],
    "targets": [
      "node18-win-x64",
      "node18-macos-x64",
      "node18-macos-arm64",
      "node18-linux-x64"
    ],
    "outputPath": "binaries"
  },
  "overrides": {
    "glob": "^10.3.10",
    "inflight": "npm:@npmcli/promise-spawn@^7.0.0",
    "rimraf": "^5.0.5"
  }
}
