UNPKG

cfn-forge

Version:

CloudFormation deployment automation tool with git-based workflows

255 lines (254 loc) 6.29 kB
{ "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" } }