{
	"name": "@ldrick/trade-indicators",
	"version": "0.5.0",
	"description": "Trade Indicators",
	"license": "MIT",
	"repository": "ldrick/trade-indicators",
	"author": {
		"name": "Ricky Lippmann",
		"email": "ricky.lippmann@gmail.com"
	},
	"homepage": "https://github.com/ldrick/trade-indicators",
	"type": "module",
	"exports": {
		"./toPromise.js": {
			"types": "./dist/utils/toPromise.d.ts",
			"import": "./dist/utils/toPromise.js"
		},
		"./averages/dema.js": {
			"types": "./dist/averages/dema.d.ts",
			"import": "./dist/averages/dema.js"
		},
		"./averages/dma.js": {
			"types": "./dist/averages/dma.d.ts",
			"import": "./dist/averages/dma.js"
		},
		"./averages/ema.js": {
			"types": "./dist/averages/ema.d.ts",
			"import": "./dist/averages/ema.js"
		},
		"./averages/ma.js": {
			"types": "./dist/averages/ma.d.ts",
			"import": "./dist/averages/ma.js"
		},
		"./averages/macd.js": {
			"types": "./dist/averages/macd.d.ts",
			"import": "./dist/averages/macd.js"
		},
		"./averages/sma.js": {
			"types": "./dist/averages/sma.d.ts",
			"import": "./dist/averages/sma.js"
		},
		"./averages/smma.js": {
			"types": "./dist/averages/smma.d.ts",
			"import": "./dist/averages/smma.js"
		},
		"./averages/tema.js": {
			"types": "./dist/averages/tema.d.ts",
			"import": "./dist/averages/tema.js"
		},
		"./averages/wma.js": {
			"types": "./dist/averages/wma.d.ts",
			"import": "./dist/averages/wma.js"
		},
		"./movements/adx.js": {
			"types": "./dist/movements/adx.d.ts",
			"import": "./dist/movements/adx.js"
		},
		"./movements/atr.js": {
			"types": "./dist/movements/atr.d.ts",
			"import": "./dist/movements/atr.js"
		}
	},
	"engines": {
		"node": ">= 18.0"
	},
	"scripts": {
		"build": "rimraf dist && tsc --project tsconfig.build.json",
		"check:format": "prettier --check .",
		"check:types": "tsc --noEmit",
		"format": "prettier --write .",
		"lint": "eslint . && markdownlint \"**/*.md\" --ignore node_modules",
		"_postinstall": "husky install",
		"postpublish": "pinst --enable",
		"prepublishOnly": "pinst --disable",
		"test": "vitest run --coverage"
	},
	"files": [
		"dist"
	],
	"keywords": [
		"average",
		"dema",
		"ema",
		"indicators",
		"moving",
		"signals",
		"sma",
		"smma",
		"technical",
		"trade",
		"trading",
		"true-range"
	],
	"dependencies": {
		"big.js": "^6.2.1",
		"fp-ts": "^2.13.1"
	},
	"devDependencies": {
		"@types/big.js": "^6.1.6",
		"@typescript-eslint/eslint-plugin": "^5.49.0",
		"@typescript-eslint/parser": "^5.49.0",
		"@vitest/coverage-c8": "^0.28.3",
		"cross-env": "^7.0.3",
		"eslint": "^8.33.0",
		"eslint-config-airbnb-base": "^15.0.0",
		"eslint-config-airbnb-typescript": "^17.0.0",
		"eslint-config-prettier": "^8.6.0",
		"eslint-import-resolver-node": "^0.3.7",
		"eslint-plugin-eslint-comments": "^3.2.0",
		"eslint-plugin-functional": "^5.0.0",
		"eslint-plugin-import": "^2.27.5",
		"eslint-plugin-jsdoc": "^39.7.4",
		"eslint-plugin-vitest": "^0.0.32",
		"husky": "^8.0.3",
		"lint-staged": "^13.1.0",
		"markdownlint-cli": "^0.33.0",
		"pinst": "^3.0.0",
		"prettier": "^2.8.3",
		"rimraf": "^4.1.2",
		"typescript": "^4.9.4",
		"vitest": "^0.28.3"
	},
	"sideEffects": false,
	"eslintConfig": {
		"ignorePatterns": [
			"**/node_modules/",
			"/dist",
			"/coverage"
		],
		"env": {
			"es6": true,
			"node": true
		},
		"extends": [
			"airbnb-base",
			"plugin:eslint-comments/recommended",
			"prettier"
		],
		"overrides": [
			{
				"files": [
					"*.ts?(x)"
				],
				"extends": [
					"airbnb-typescript/base",
					"plugin:@typescript-eslint/eslint-recommended",
					"plugin:@typescript-eslint/recommended",
					"plugin:@typescript-eslint/recommended-requiring-type-checking",
					"plugin:eslint-comments/recommended",
					"plugin:jsdoc/recommended",
					"plugin:eslint-comments/recommended",
					"prettier"
				],
				"parserOptions": {
					"project": "./tsconfig.json",
					"warnOnUnsupportedTypeScriptVersion": false
				},
				"rules": {
					"no-nested-ternary": "off",
					"import/prefer-default-export": "off",
					"import/no-default-export": "error",
					"jsdoc/require-returns": "off",
					"jsdoc/require-param": "off",
					"jsdoc/require-jsdoc": [
						"warn",
						{
							"publicOnly": {
								"esm": true
							},
							"require": {
								"ArrowFunctionExpression": true,
								"ClassDeclaration": true,
								"ClassExpression": true,
								"FunctionDeclaration": true,
								"FunctionExpression": true,
								"MethodDefinition": false
							}
						}
					],
					"jsdoc/require-description": [
						"warn",
						{
							"contexts": [
								"any"
							]
						}
					],
					"jsdoc/check-tag-names": [
						"warn",
						{
							"definedTags": [
								"internal"
							]
						}
					]
				}
			},
			{
				"files": [
					"src/!(errors)/*.ts?(x)"
				],
				"plugins": [
					"functional"
				],
				"extends": [
					"plugin:functional/recommended"
				],
				"rules": {
					"@typescript-eslint/prefer-readonly-parameter-types": "off",
					"functional/functional-parameters": [
						"warn",
						{
							"enforceParameterCount": false
						}
					],
					"functional/prefer-immutable-types": "off"
				}
			},
			{
				"files": [
					"*.spec*.ts?(x)"
				],
				"plugins": [
					"vitest"
				],
				"rules": {
					"vitest/consistent-test-it": [
						"warn",
						{
							"fn": "it",
							"withinDescribe": "it"
						}
					]
				}
			}
		]
	},
	"lint-staged": {
		"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}": [
			"prettier --write ."
		]
	},
	"prettier": {
		"useTabs": true,
		"singleQuote": true,
		"printWidth": 100,
		"trailingComma": "all",
		"arrowParens": "always",
		"endOfLine": "lf"
	}
}
