@beesley/ts-env
Version:
An environment variable reader for TypeScript
248 lines (247 loc) • 6.07 kB
JSON
{
"name": "@beesley/ts-env",
"version": "1.0.1",
"description": "An environment variable reader for TypeScript",
"repository": {
"type": "git",
"url": "git+https://github.com/bbeesley/ts-env.git"
},
"keywords": [
"typescript",
"env",
".env",
"environment",
"variables"
],
"license": "MIT",
"publishConfig": {
"access": "public"
},
"type": "module",
"exports": {
".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.cjs"
}
},
"module": "./dist/esm/index.js",
"main": "./dist/cjs/index.cjs",
"types": "./dist/types/index.d.ts",
"files": [
"dist",
"src/**/*.ts",
"src/*.ts"
],
"engines": {
"node": ">=18.12"
},
"directories": {
"doc": "./docs"
},
"scripts": {
"readme:typedoc": "typedoc --plugin typedoc-plugin-markdown",
"documentation": "run-s readme:*",
"compile:esm": "tsc",
"lint": "xo && tsc --noEmit -p tsconfig-lint.json",
"pretest": "npm run lint",
"compile:cjs": "babel src --out-dir dist/cjs --extensions '.ts,.cjs,.mjs' --ignore '**/*.test.ts' --source-maps --out-file-extension '.cjs'",
"compile": "run-p compile:*",
"test": "npx ava",
"prerelease": "npm run documentation",
"release": "npx semantic-release"
},
"devDependencies": {
"@babel/cli": "^7.22.6",
"@babel/core": "^7.22.8",
"@babel/preset-env": "^7.22.7",
"@babel/preset-typescript": "^7.22.5",
"@beesley/tsconfig": "^3.0.0",
"@commitlint/cli": "^17.6.6",
"@commitlint/config-conventional": "^17.6.6",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^11.0.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^9.0.3",
"@semantic-release/npm": "^11.0.0",
"@semantic-release/release-notes-generator": "^12.0.0",
"@smithy/types": "^1.1.1",
"@types/js-yaml": "^4.0.5",
"@types/jsdom": "^21.1.1",
"@types/node": "^18.18.3",
"@types/sinon": "^10.0.15",
"@types/yargs": "^17.0.24",
"ava": "^5.3.1",
"aws-sdk-client-mock": "^3.0.0",
"babel-plugin-replace-import-extension": "^1.1.3",
"delay": "^6.0.0",
"documentation": "^14.0.2",
"npm-run-all": "^4.1.5",
"prettier": "^3.0.0",
"sinon": "^16.1.0",
"typedoc": "^0.25.0",
"typedoc-plugin-markdown": "^3.15.3",
"typescript": "^5.1.6",
"xo": "^0.56.0"
},
"eslintConfig": {
"parserOptions": {
"project": [
"./tsconfig.json",
"./tsconfig-lint.json"
]
}
},
"xo": {
"space": true,
"prettier": true,
"rules": {
"func-names": [
"error",
"always"
],
"@typescript-eslint/no-implicit-any-catch": "off",
"ava/use-test": "off",
"eqeqeq": "off",
"import/extensions": "off",
"n/file-extension-in-import": "off",
"n/prefer-global/process": "off",
"no-await-in-loop": "off",
"no-eq-null": "off",
"unicorn/no-array-reduce": "off",
"unicorn/no-process-exit": "off"
},
"overrides": [
{
"files": "**/*.ts",
"rules": {
"@typescript-eslint/naming-convention": [
"error",
{
"selector": "default",
"format": [
"camelCase"
]
},
{
"selector": "variable",
"format": [
"camelCase",
"UPPER_CASE",
"PascalCase"
]
},
{
"selector": "parameter",
"format": [
"camelCase",
"PascalCase"
]
},
{
"selector": "typeLike",
"format": [
"PascalCase"
]
},
{
"selector": "classProperty",
"format": [
"camelCase"
]
},
{
"selector": "objectLiteralProperty",
"format": null
},
{
"selector": "typeProperty",
"format": null
},
{
"selector": "enum",
"format": [
"PascalCase",
"UPPER_CASE"
]
},
{
"selector": "enumMember",
"format": null
}
]
}
},
{
"files": "**/*.test.ts",
"rules": {
"import/no-extraneous-dependencies": "off",
"@typescript-eslint/naming-convention": "off"
}
}
]
},
"ava": {
"files": [
"tests/*.test.ts",
"tests/*.test.js"
],
"failFast": false,
"failWithoutAssertions": false,
"verbose": true,
"extensions": {
"ts": "module",
"js": true
},
"nodeArguments": [
"--loader=ts-node/esm",
"--experimental-specifier-resolution=node"
],
"timeout": "5m",
"snapshotDir": "__snapshots__"
},
"release": {
"branches": [
"main",
"next"
],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"releaseRules": [
{
"type": "docs",
"release": "patch"
},
{
"type": "refactor",
"release": "patch"
}
]
}
],
"@semantic-release/release-notes-generator",
[
"@semantic-release/changelog",
{
"changelogFile": "CHANGELOG.md"
}
],
"@semantic-release/npm",
"@semantic-release/github",
[
"@semantic-release/git",
{
"assets": [
"docs/**",
"package.json",
"CHANGELOG.md",
"README.md"
],
"message": "chore(release): ${nextRelease.version} 🚀 [skip ci]\n\n${nextRelease.notes}"
}
]
]
}
}