{
	"name": "xdg-app-paths",
	"version": "8.3.0",
	"description": "Determine (XDG-compatible) paths for storing application files (cache, config, data, etc)",
	"license": "MIT",
	"repository": "rivy/js.xdg-app-paths",
	"author": {
		"name": "Roy Ivy III",
		"email": "rivy.dev@gmail.com"
	},
	"engines": {
		"node": ">= 4.0"
	},
	"packageManager": "yarn@1.22.19",
	"files": [
		"cjs",
		"dist/cjs",
		"dist/types",
		"CHANGELOG.mkd",
		"LICENSE",
		"README.md",
		"package.json"
	],
	"type": "commonjs",
	"main": "./dist/cjs/mod.cjs.js",
	"module": "./dist/cjs/esm-wrapper/mod.esm.js",
	"types": "./dist/types/mod.d.ts",
	"exports": {
		".": {
			"deno": "./src/mod.deno.ts",
			"import": "./dist/cjs/esm-wrapper/mod.esm.js",
			"require": "./dist/cjs/mod.cjs.js",
			"types": "./dist/types/mod.d.ts",
			"default": "./dist/cjs/mod.cjs.js"
		},
		"./package.json": "./package.json",
		"./cjs": {
			"require": "./dist/cjs/mod.cjs.js",
			"types": "./dist/cjs/mod.cjs.d.ts"
		}
	},
	"keywords": [
		"appdir",
		"application",
		"cache",
		"common",
		"config",
		"cross-platform",
		"data",
		"directory",
		"environment",
		"linux",
		"mac",
		"macos",
		"node4",
		"node6",
		"node-v4",
		"node-v6",
		"osx",
		"path",
		"paths",
		"portable",
		"runtime",
		"state",
		"unix",
		"user",
		"windows",
		"xdg"
	],
	"scripts": {
		"# build # build/compile package": "",
		"build": "run-s --silent \"build:*\"",
		"build:cjs": "exec-if-updated --source package.json --source tsconfig.json --source \"tsconfig/**\" --source \"rollup.*.config.js\" --source \"src/**\" --target build/.targets/build-cjs.succeeded \"run-s -n rebuild:cjs\"",
		"build:esm": "exec-if-updated --source package.json --source tsconfig.json --source \"tsconfig/**\" --source \"rollup.*.config.js\" --source \"src/**\" --target build/.targets/build-esm.succeeded \"run-s -n rebuild:esm\"",
		"build:umd": "exec-if-updated --source package.json --source tsconfig.json --source \"tsconfig/**\" --source \"rollup.*.config.js\" --source \"src/**\" --target build/.targets/build-umd.succeeded \"run-s -n rebuild:umd\"",
		"build:lab": "exec-if-updated --source package.json --source tsconfig.json --source \"tsconfig/**\" --source \"rollup.*.config.js\" --source \"src/**\" --target build/.targets/build-lab.succeeded \"run-s -n rebuild:lab\"",
		"build:types": "exec-if-updated --source package.json --source tsconfig.json --source \"tsconfig/**\" --source \"rollup.*.config.js\" --source \"src/**\" --target build/.targets/build-types.succeeded \"run-s -n rebuild:types\"",
		"# clean # remove build artifacts": "",
		"clean": "shx rm -fr build dist",
		"# coverage # calculate and display (or send) code coverage [alias: 'cov']": "",
		"coverage": "run-s --silent +:max-node-8 && shx echo \"[coverage] WARN Code coverage skipped [for NodeJS < v10]\" 1>&2 || run-s \"+:coverage\"",
		"cov": "run-s coverage",
		"cov:html": "nyc report --reporter=html --report-dir=.coverage",
		"#* cov:send # use `--cov-send=...` to pass options to coverage uploader": "",
		"cov:send": "shx mkdir -p .coverage && nyc report --reporter=text-lcov > \".coverage/@coverage.lcov\" && cross-env-shell codecov --disable=gcov --file=\".coverage/@coverage.lcov\" $npm_config_cov_send",
		"cov:text": "nyc report",
		"cov:view": "run-s cov:html && cd .coverage && open-cli index.html",
		"dist": "run-s update",
		"# fix # fix package issues (automated/non-interactive)": "",
		"fix": "run-s fix:*",
		"# fix:lint # fix ESLint issues": "",
		"fix:lint": "eslint . --fix",
		"# fix:style # fix Prettier formatting issues": "",
		"fix:style": "prettier . --write --list-different",
		"# help # display help": "",
		"help": "run-s --silent _:help",
		"# lint # check for package code 'lint'": "",
		"lint": "run-s --silent +:max-node-8 && shx echo \"[lint] WARN Lint checks skipped [for NodeJS < v10]\" 1>&2 || run-p --print-name \"lint:*\"",
		"# lint:audit # check for `npm audit` violations in project code": "",
		"lint:audit": "run-s --silent -- npm audit --omit dev",
		"# lint:commits # check for commit flaws (using `commitlint` and `cspell`)": "",
		"lint:commits": "run-p --silent \"_:lint:commits:new:*\"",
		"# lint:editorconfig # check for EditorConfig format flaws (using `editorconfig-checker`)": "",
		"lint:editorconfig": "editorconfig-checker -config .ecrc.JS.json",
		"# lint:lint # check for code 'lint' (using `eslint`)": "",
		"lint:lint": "eslint .",
		"# lint:markdown # check for markdown errors (using `remark`)": "",
		"lint:markdown": "remark --quiet .",
		"# lint:spell # check for spelling errors (using `cspell`)": "",
		"lint:spell": "cspell {eg,examples,src,test}/**/* CHANGELOG{,.md,.mkd} README{,.md,.mkd} --no-summary --config \".vscode/cspell.json\"",
		"# lint:style # check for format imperfections (using `prettier`)": "",
		"lint:style": "prettier . --check --loglevel warn",
		"# prerelease # clean, rebuild, and fully test (useful prior to publish/release)": "",
		"prerelease": "run-s clean update verify",
		"# realclean # remove all generated files": "",
		"realclean": "run-s clean && shx rm -fr .coverage .nyc_output",
		"# rebuild # clean and (re-)build project": "",
		"rebuild": "run-s clean build",
		"rebuild:all": "run-s clean build update",
		"rebuild:cjs": "shx rm -fr build/cjs && tsc -p tsconfig/tsconfig.cjs.json && shx cp -r src/esm-wrapper build/cjs/src && shx mkdir -p build/.targets && shx touch build/.targets/build-cjs.succeeded",
		"rebuild:esm": "shx rm -fr build/esm && tsc -p tsconfig/tsconfig.esm.json && shx cp src/esm-wrapper/package.json build/esm/src && shx mkdir -p build/.targets && shx touch build/.targets/build-esm.succeeded",
		"rebuild:umd": "shx rm -fr build/umd && tsc -p tsconfig/tsconfig.umd.json && shx mkdir -p build/.targets && shx touch build/.targets/build-umd.succeeded",
		"rebuild:lab": "shx rm -fr build/lab && tsc -p tsconfig/tsconfig.lab.json && shx cp -r src/esm-wrapper build/lab/src && shx mkdir -p build/.targets && shx touch build/.targets/build-lab.succeeded",
		"rebuild:types": "shx rm -fr build/types && tsc -p tsconfig/tsconfig.types.json && shx mkdir -p build/.targets && shx touch build/.targets/build-types.succeeded",
		"# refresh # clean and rebuild/regenerate all project artifacts": "",
		"refresh": "run-s rebuild:all",
		"# refresh:dist # clean, rebuild, and regenerate project distribution": "",
		"refresh:dist": "run-s rebuild update:dist",
		"# retest # clean and (re-)test project": "",
		"retest": "run-s clean test",
		"# reset:hard # remove *all* generated files and reinstall dependencies": "",
		"reset:hard": "git clean -dfx && git reset --hard && npm install",
		"# show:deps # show package dependencies": "",
		"show:deps": "run-s --silent _:show:deps:prod _:show:deps:dev || shx true",
		"# test # test package": "",
		"test": "run-s --silent lint update:dist && run-p test:*",
		"# test:code # test package code (use `--test-code=...` to pass options to testing harness)": "",
		"test:code": "run-s --silent +:max-node-8 && cross-env-shell ava $npm_config_test_code || ( run-s --silent +:min-node-10 && cross-env-shell nyc --silent ava $npm_config_test_code )",
		"# test:types # test for type declaration errors (using `tsd`)": "",
		"test:types": "run-s --silent +:max-node-8 && shx echo \"[test:types] WARN Type testing skipped [for NodeJS < v10]\" 1>&2 || tsd",
		"# update # update/prepare for distribution [alias: 'dist']": "",
		"update": "run-s update:changelog update:dist",
		"# update:changelog # update CHANGELOG (using `git changelog ...`)": "",
		"update:changelog": "run-s --silent _:update:changelog && git diff --quiet --exit-code CHANGELOG.mkd || shx echo \"[update] info CHANGELOG updated\"",
		"# update:dist # update distribution content": "",
		"update:dist": "run-s --silent build && exec-if-updated --source \"build/**\" --target \"dist/**\" --target build/.targets/update-dist.succeeded \"run-s --silent _:update:dist:rebuild\"",
		"# verify # fully (and verbosely) test package": "",
		"verify": "cross-env npm_config_test_dist=true npm_config_test=--verbose run-s test",
		"## +:... == sub-scripts (may run 'visibly', but not user-facing)": "",
		"+:coverage": "run-s build test:code && ( is-ci && run-s cov:send ) || ( run-s --silent _:is-not-ci && run-s cov:view )",
		"+:max-node-8": "is-node-not-modern 10",
		"+:min-node-10": "is-node-modern 10",
		"## _:... == sub-scripts ('hidden'; generally should be run 'silently' using `run-s/run-p --silent ...`": "",
		"_:debug:env": "node -e \"console.log({env: process.env})\"",
		"_:exists:git-changelog": "node -e \"if (!require('command-exists').sync('git-changelog')){process.exit(1);};\" || ( shx echo \"WARN `git-changelog` missing (try `go get -u github.com/rivy-go/git-changelog/cmd/git-changelog`)\" & exit 1 )",
		"* _:help # print usage/TARGETs by matching lines containing leading double-quoted text like `# TARGET_NAME # HELP_TEXT`": "",
		"_:help": "< package.json node -e \"s = {p:'',e:'npm'}; if (new String(process.env.npm_execpath).match(/yarn.js$/)) { s = {p:'\\n',e:'yarn'}; }; console.log('%sUsage: \\`\\x1b[2m%s run TARGET\\x1b[m\\` or \\`\\x1b[2mnpx run-s TARGET [TARGET..]\\x1b[m\\`\\n\\nTARGETs:\\n', s.p, s.e); re = /^.*?\\x22(?:#\\s*)(\\w[^#\\x22]*)\\s+#+\\s+([^\\x22]+?)(\\s+#+)?\\x22.*$/; require('readline').createInterface({ input: process.stdin, output: process.stdout, terminal: false }).on('line', function(line){ if (match = re.exec(line)) { console.log('\\x1b[0;32m%s\\x1b[m %s', match[1].padEnd(19), match[2]); } }).on('close', () => { /^win/i.test(process.platform) || console.log(); });\"",
		"_:is-not-ci": "is-ci && exit 1 || exit 0",
		"_:lint:commits:all:spell": "node -e \"result=require('child_process').spawnSync('git log --color=never | cspell stdin --no-summary --config \".vscode/cspell.json\"',{shell:true,encoding:'utf-8'}); if (result.status != 0) {console.error('[cspell] ERR! Unknown words in commit(s)\\n'+result.stdout+'\\n'+result.stderr); process.exit(1);} else {console.log(result.stdout);};\"",
		"* _:lint:commits:new:... * note: review from 'origin/last' or tag just prior to version-sorted latest, with fallback to first commit": "",
		"_:lint:commits:new:commitlint": "node -e \"result=require('child_process').spawnSync('( git tag --list [#v]* --contains origin/last --sort=v:refname || shx true ) && ( git describe --tags --abbrev=0 HEAD~1 || shx true ) && ( git rev-list --max-parents=0 HEAD --abbrev-commit --abbrev=16 || shx true )',{shell:true,encoding:'utf-8'}); o=result.stdout.split(/\\r?\\n/).filter((s)=>!!s); vs=o; v=vs[0]; result=require('child_process').spawnSync('commitlint --config .commitlint.config.js --from '+v,{shell:true,encoding:'utf-8'}); if (result.status != 0) {console.error('[commitlint] ERR! Flawed commit(s) found (within \\'%s..HEAD\\')\\n'+result.stdout+'\\n'+result.stderr, v); process.exit(1);} else { (result.stdout.length > 0) && console.log(result.stdout);};\" || shx true",
		"_:lint:commits:new:spell": "node -e \"result=require('child_process').spawnSync('( git tag --list [#v]* --contains origin/last --sort=v:refname || shx true ) && ( git describe --tags --abbrev=0 HEAD~1 || shx true ) && ( git rev-list --max-parents=0 HEAD --abbrev-commit --abbrev=16 || shx true )',{shell:true,encoding:'utf-8'}); o=result.stdout.split(/\\r?\\n/).filter((s)=>!!s); vs=o; v=vs[0]; result=require('child_process').spawnSync('git log '+v+'.. --color=never | cspell stdin --no-summary --config \".vscode/cspell.json\"',{shell:true,encoding:'utf-8'}); if (result.status != 0) {console.error('[cspell] ERR! Unknown words in commit(s) (within \\'%s..HEAD\\')\\n'+result.stdout+'\\n'+result.stderr, v); process.exit(1);} else {(result.stdout.length > 0) && console.log(result.stdout);};\" || shx true",
		"_:show:deps:dev": "npm --silent ls --only development || shx true",
		"_:show:deps:prod": "npm --silent ls --only production || shx true",
		"_:vcs-clean": "git diff --quiet",
		"_:vcs-clean-err": "run-s --silent _:vcs-clean || ( shx echo \"[vcs] ERR! Uncommitted changes\" 1>&2 & exit 1 )",
		"_:vcs-strictly-clean": "git status --porcelain | node -e \"process.stdin.on('data',function(_){process.exit(1);});\"",
		"_:vcs-strictly-clean-err": "run-s --silent _:vcs-strictly-clean || ( shx echo \"[vcs] ERR! Uncommitted changes and/or untracked files\" 1>&2 & exit 1 )",
		"_:update:changelog": "run-s --silent _:exists:git-changelog && git changelog > CHANGELOG.mkd || shx echo \"[update] WARN CHANGELOG not updated\" 1>&2",
		"_:update:dist.build": "shx rm -fr dist/cjs dist/esm && shx mkdir -p dist/cjs dist/esm && shx cp -r build/cjs/src/* dist/cjs && shx cp -r build/esm/src/* dist/esm",
		"_:update:dist.normalizeEOL": "eolConverter lf dist/**/*.{cjs,js,mjs,ts,json}",
		"_:update:dist.pack": "node -e \"delete process.env.npm_config_dry_run; name=require('./package.json').name; name=name.replace(/^@/,'').replace('/','-'); result=require('child_process').spawnSync('npm pack && shx mkdir -p dist && shx mv '+name+'-*.tgz dist/'+name+'.tgz',{shell:true,encoding:'utf-8'}); if (result.status != 0) {console.error('[update] ERR! Unable to package (into *.tgz) for distribution\\n'+result.stdout+'\\n'+result.stderr); process.exit(1);} else {console.log(result.stdout);};\"",
		"_:update:dist.types": "shx mkdir -p dist && shx rm -fr dist/types && rollup --config .rollup.config.types.js && replace-in-file \"export { _default as default }\" \"export = _default\" dist/types/mod.cjs.d.ts --quiet && shx mkdir -p dist/cjs && shx cp dist/types/*.cjs.d.ts dist/cjs",
		"_:update:dist:rebuild": "shx rm -fr dist && run-s --silent _:update:dist.build _:update:dist.types _:update:dist.normalizeEOL _:update:dist.pack && shx mkdir -p dist/.targets && shx touch build/.targets/update-dist.succeeded",
		"_:version:spell:changelog_update": "run-s --silent _:exists:git-changelog && git changelog -u | cspell stdin --config \".vscode/cspell.json\" || shx echo \"[lint] WARN CHANGELOG update `cspell` exception\" 1>&2",
		"_:version:update:changelog": "run-s --silent _:exists:git-changelog && node -e \"v=require('./package.json').version; result=require('child_process').spawnSync('git changelog --next-tag-now --next-tag v'+v,{shell:true,encoding:'utf-8'}); if (result.status != 0) {console.error('ERR! '+result.stderr); process.exit(1);} else {m='fs';require(m).writeFileSync('CHANGELOG.mkd',result.stdout);};\" || shx echo \"[version] WARN CHANGELOG not updated\" 1>&2",
		"## npm lifecycle scripts ##": "",
		"prepublishOnly": "run-s clean update && cross-env npm_config_test_dist=true npm run test && run-s --silent update _:vcs-strictly-clean-err",
		"## npm-version scripts ##": "",
		"preversion": "run-s --silent _:version:spell:changelog_update && cross-env npm_config_test_dist=true npm run test",
		"version": "run-s --silent _:version:update:changelog && run-s lint:spell && run-s --silent update:dist && git add CHANGELOG.mkd dist"
	},
	"dependencies": {
		"xdg-portable": "^10.6.0"
	},
	"devDependencies:#": "* for testing, Node-v6 requires ava < v2 and nyc < v15",
	"devDependencies": {
		"@ava/typescript": "^1.1.1",
		"@commitlint/cli": "^11.0.0",
		"@commitlint/config-conventional": "^11.0.0",
		"@istanbuljs/nyc-config-typescript": "^1.0.1",
		"@types/node": "^14.14.20",
		"@typescript-eslint/eslint-plugin": "^4",
		"@typescript-eslint/parser": "^4",
		"ava": "^3.15.0",
		"codecov": "^3.5.0",
		"command-exists": "^1.2.9",
		"cross-env": "^7.0.3",
		"cross-spawn": "^7.0.3",
		"cspell": "^4.2.7",
		"editorconfig-checker": "^3.3.0",
		"eol-converter-cli": "^1.0.8",
		"eslint": "^7",
		"eslint-config-prettier": "^7",
		"eslint-plugin-eslint-comments": "^3",
		"eslint-plugin-functional": "^3",
		"eslint-plugin-import": "^2",
		"eslint-plugin-security": "^1",
		"eslint-plugin-security-node": "^1",
		"exec-if-updated": "https://cdn.jsdelivr.net/gh/rivy/js-cli.exec-if-updated@2.2.0/dist/pkg/exec-if-updated.tgz",
		"is-ci": "^2.0.0",
		"is-node-modern": "^1.0.0",
		"npm-run-all": "^4.1.5",
		"nyc": "^15.1.0",
		"open-cli": ">=6.0 <7.0",
		"prettier": "^2.1.1",
		"remark-cli": "=9.0.0",
		"remark-footnotes": "^3.0.0",
		"remark-preset-lint-consistent": "^4.0.0",
		"remark-preset-lint-markdown-style-guide": "^4.0.0",
		"remark-preset-lint-recommended": "^5.0.0",
		"remark-retext": "^4.0.0",
		"replace-in-file": "=6.3.0",
		"retext-english": "^3.0.4",
		"retext-passive": "^3.0.0",
		"retext-repeated-words": "^3.0.0",
		"retext-sentence-spacing": "^4.0.0",
		"retext-syntax-urls": "^2.0.0",
		"rollup": "^2.36.1",
		"rollup-plugin-dts": "^2.0.1",
		"rollup-plugin-typescript2": "^0.29.0",
		"shx": "^0.3.3",
		"ts-node": "^9.0.0",
		"tsd": "^0.14.0",
		"typedoc": "^0.20.27",
		"typescript": "~4.2.0",
		"unified": "^9.2.0"
	},
	"optionalDependencies:#": "* 'fsevents' included to avoid `npm ci` errors with early npm versions; ref: <https://github.com/bahmutov/npm-install/issues/103>",
	"optionalDependencies": {
		"fsevents": "*"
	},
	"ava": {
		"files": [
			"!**/*.test-d.ts"
		],
		"timeout": "60s",
		"typescript": {
			"rewritePaths": {
				"src/": "build/lab/src/"
			}
		}
	},
	"nyc": {
		"extends": "@istanbuljs/nyc-config-typescript",
		"exclude": [
			"build/cjs/**",
			"build/esm/**",
			"build/umd/**",
			"dist/**",
			"eg/**",
			"test/**",
			"**/*.test.*",
			"**/*.spec.*"
		],
		"reporter": [
			"html",
			"text"
		],
		"lines": "100",
		"branches": "96",
		"statements": "100"
	},
	"tsd": {
		"directory": "test"
	}
}
