cfn-forge
Version:
CloudFormation deployment automation tool with git-based workflows
255 lines (254 loc) • 6.29 kB
JSON
{
"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"
}
}