{
  "name": "@athenna/config",
  "version": "5.6.0",
  "description": "Cache and handle environment variables and config files of Athenna.",
  "license": "MIT",
  "author": "João Lenon <lenon@athenna.io>",
  "bugs": "https://github.com/AthennaIO/Config/issues",
  "repository": "https://github.com/AthennaIO/Config.git",
  "homepage": "https://github.com/AthennaIO/Config#readme",
  "keywords": [
    "env",
    "esm",
    "nodejs",
    "config",
    "dotenv",
    "athenna"
  ],
  "engines": {
    "node": ">=20.0.0"
  },
  "scripts": {
    "build": "node node_modules/@athenna/tsconfig/src/build.js",
    "lint:fix": "eslint \"{bin,src,tests}/**/*.ts\" --fix",
    "test": "npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts",
    "test:debug": "cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts",
    "test:coverage": "c8 npm run --silent test"
  },
  "files": [
    "src/*.js",
    "src/*.d.ts",
    "src/**/*.js",
    "src/**/*.d.ts",
    "templates",
    "configurer"
  ],
  "type": "module",
  "main": "./src/index.js",
  "types": "./src/index.d.ts",
  "exports": {
    ".": "./src/index.js",
    "./types": "./src/types/index.js",
    "./package": "./package.json",
    "./package.json": "./package.json"
  },
  "imports": {
    "#bin/*": "./bin/*.js",
    "#bin": "./bin/index.js",
    "#src/*": "./src/*.js",
    "#src": "./src/index.js",
    "#src/types": "./src/types/index.js",
    "#src/debug": "./src/debug/index.js",
    "#tests/*": "./tests/*.js",
    "#tests": "./tests/index.js"
  },
  "dependencies": {
    "dotenv": "^16.6.1",
    "magicast": "^0.3.5",
    "syntax-error": "^1.4.0"
  },
  "devDependencies": {
    "@athenna/common": "^5.26.0",
    "@athenna/test": "^5.5.0",
    "@athenna/tsconfig": "^5.0.0",
    "@types/lodash": "^4.17.20",
    "@types/syntax-error": "^1.4.5",
    "@typescript-eslint/eslint-plugin": "^8.38.0",
    "@typescript-eslint/parser": "^8.38.0",
    "commitizen": "^4.3.1",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "^8.57.1",
    "eslint-config-prettier": "^8.10.2",
    "eslint-config-standard": "^17.1.0",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-n": "^15.7.0",
    "eslint-plugin-prettier": "^4.2.5",
    "eslint-plugin-promise": "^6.6.0",
    "husky": "^3.1.0",
    "lint-staged": "^12.5.0",
    "prettier": "^2.8.8"
  },
  "c8": {
    "all": true,
    "include": [
      "src/**/*.ts"
    ],
    "exclude": [
      "src/types"
    ],
    "reporter": [
      "text-summary",
      "html"
    ],
    "report-dir": "./tests/coverage",
    "check-coverage": true
  },
  "husky": {
    "hooks": {
      "prepare-commit-msg": "lint-staged && exec < /dev/tty && git cz --hook || true"
    }
  },
  "lint-staged": {
    "*.js": [
      "eslint --fix",
      "git add"
    ],
    "*.json": [
      "prettier --write",
      "git add"
    ]
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "prettier": {
    "singleQuote": true,
    "trailingComma": "none",
    "arrowParens": "avoid",
    "endOfLine": "lf",
    "semi": false,
    "printWidth": 80,
    "overrides": [
      {
        "files": "tests/**/*",
        "options": {
          "printWidth": 120
        }
      }
    ]
  },
  "eslintIgnore": [
    "build/**/*"
  ],
  "eslintConfig": {
    "env": {
      "es2021": true,
      "node": true
    },
    "globals": {
      "ioc": true,
      "Env": true,
      "Path": true,
      "Config": true,
      "container": true
    },
    "plugins": [
      "prettier",
      "@typescript-eslint"
    ],
    "extends": [
      "standard",
      "eslint:recommended",
      "plugin:prettier/recommended",
      "plugin:@typescript-eslint/recommended",
      "plugin:@typescript-eslint/eslint-recommended"
    ],
    "parser": "@typescript-eslint/parser",
    "rules": {
      "camelcase": "off",
      "dot-notation": "off",
      "prettier/prettier": "error",
      "no-useless-constructor": "off",
      "@typescript-eslint/no-explicit-any": "off",
      "@typescript-eslint/no-empty-function": "off",
      "@typescript-eslint/no-unused-expressions": "off",
      "@typescript-eslint/no-unused-vars": [
        "error",
        {
          "argsIgnorePattern": "^_",
          "varsIgnorePattern": "^_",
          "caughtErrorsIgnorePattern": "^_"
        }
      ]
    }
  },
  "athenna": {
    "commands": {},
    "providers": [],
    "isAthennaRc": true
  }
}
