@vltpkg/xdg
Advanced tools
| export type PathType = 'cache' | 'config' | 'data' | 'runtime' | 'state'; | ||
| export declare class XDG { | ||
| name: string; | ||
| base: { | ||
| [k in PathType]: string; | ||
| }; | ||
| constructor(name: string); | ||
| config(p?: string): string; | ||
| cache(p?: string): string; | ||
| data(p?: string): string; | ||
| state(p?: string): string; | ||
| runtime(p?: string): string; | ||
| } | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,OAAO,CAAA;AAoEX,qBAAa,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;SAAG,CAAC,IAAI,QAAQ,GAAG,MAAM;KAAE,CAMhC;gBACW,IAAI,EAAE,MAAM;IAGxB,MAAM,CAAC,CAAC,SAAK;IAGb,KAAK,CAAC,CAAC,SAAK;IAGZ,IAAI,CAAC,CAAC,SAAK;IAGX,KAAK,CAAC,CAAC,SAAK;IAGZ,OAAO,CAAC,CAAC,SAAK;CAGf"} |
| import { homedir, tmpdir } from 'node:os'; | ||
| import { resolve } from 'node:path'; | ||
| const root = homedir(); | ||
| const path = (p) => resolve(root, p); | ||
| const defaults = process.platform === 'darwin' ? | ||
| (which) => { | ||
| switch (which) { | ||
| case 'config': | ||
| return path('Library/Preferences'); | ||
| case 'cache': | ||
| return path('Library/Caches'); | ||
| case 'data': | ||
| return path('Library/Application Support'); | ||
| case 'state': | ||
| return path('Library/State'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), | ||
| /* c8 ignore next */ | ||
| String(process.getuid?.() ?? ''), '.run'); | ||
| } | ||
| } | ||
| : process.platform === 'win32' ? | ||
| (which) => { | ||
| const ad = process.env.APPDATA ?? path('AppData/Roaming'); | ||
| const lad = process.env.LOCALAPPDATA ?? path('AppData/Local'); | ||
| switch (which) { | ||
| case 'config': | ||
| return resolve(ad, 'xdg.config'); | ||
| case 'cache': | ||
| return resolve(lad, 'xdg.cache'); | ||
| case 'data': | ||
| return resolve(ad, 'xdg.data'); | ||
| case 'state': | ||
| return resolve(lad, 'xdg.state'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), 'xdg.run'); | ||
| } | ||
| } | ||
| : (which) => { | ||
| switch (which) { | ||
| case 'config': | ||
| return path('.config'); | ||
| case 'cache': | ||
| return path('.cache'); | ||
| case 'data': | ||
| return path('.local/share'); | ||
| case 'state': | ||
| return path('.local/state'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), | ||
| /* c8 ignore next */ | ||
| String(process.getuid?.() ?? ''), '.run'); | ||
| } | ||
| }; | ||
| const { XDG_CONFIG_HOME = defaults('config'), XDG_CACHE_HOME = defaults('cache'), XDG_DATA_HOME = defaults('data'), XDG_STATE_HOME = defaults('state'), XDG_RUNTIME_DIR = defaults('runtime'), } = process.env; | ||
| export class XDG { | ||
| name; | ||
| base = { | ||
| config: XDG_CONFIG_HOME, | ||
| cache: XDG_CACHE_HOME, | ||
| data: XDG_DATA_HOME, | ||
| state: XDG_STATE_HOME, | ||
| runtime: XDG_RUNTIME_DIR, | ||
| }; | ||
| constructor(name) { | ||
| this.name = name; | ||
| } | ||
| config(p = '') { | ||
| return resolve(this.base.config, this.name, p); | ||
| } | ||
| cache(p = '') { | ||
| return resolve(this.base.cache, this.name, p); | ||
| } | ||
| data(p = '') { | ||
| return resolve(this.base.data, this.name, p); | ||
| } | ||
| state(p = '') { | ||
| return resolve(this.base.state, this.name, p); | ||
| } | ||
| runtime(p = '') { | ||
| return resolve(this.base.runtime, this.name, p); | ||
| } | ||
| } | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { homedir, tmpdir } from 'node:os'\nimport { resolve } from 'node:path'\n\nconst root = homedir()\nconst path = (p: string) => resolve(root, p)\n\nexport type PathType =\n | 'cache'\n | 'config'\n | 'data'\n | 'runtime'\n | 'state'\n\nconst defaults =\n process.platform === 'darwin' ?\n (which: PathType): string => {\n switch (which) {\n case 'config':\n return path('Library/Preferences')\n case 'cache':\n return path('Library/Caches')\n case 'data':\n return path('Library/Application Support')\n case 'state':\n return path('Library/State')\n case 'runtime':\n return resolve(\n tmpdir(),\n /* c8 ignore next */\n String(process.getuid?.() ?? ''),\n '.run',\n )\n }\n }\n : process.platform === 'win32' ?\n (which: PathType): string => {\n const ad = process.env.APPDATA ?? path('AppData/Roaming')\n const lad = process.env.LOCALAPPDATA ?? path('AppData/Local')\n switch (which) {\n case 'config':\n return resolve(ad, 'xdg.config')\n case 'cache':\n return resolve(lad, 'xdg.cache')\n case 'data':\n return resolve(ad, 'xdg.data')\n case 'state':\n return resolve(lad, 'xdg.state')\n case 'runtime':\n return resolve(tmpdir(), 'xdg.run')\n }\n }\n : (which: PathType): string => {\n switch (which) {\n case 'config':\n return path('.config')\n case 'cache':\n return path('.cache')\n case 'data':\n return path('.local/share')\n case 'state':\n return path('.local/state')\n case 'runtime':\n return resolve(\n tmpdir(),\n /* c8 ignore next */\n String(process.getuid?.() ?? ''),\n '.run',\n )\n }\n }\n\nconst {\n XDG_CONFIG_HOME = defaults('config'),\n XDG_CACHE_HOME = defaults('cache'),\n XDG_DATA_HOME = defaults('data'),\n XDG_STATE_HOME = defaults('state'),\n XDG_RUNTIME_DIR = defaults('runtime'),\n} = process.env\n\nexport class XDG {\n name: string\n base: { [k in PathType]: string } = {\n config: XDG_CONFIG_HOME,\n cache: XDG_CACHE_HOME,\n data: XDG_DATA_HOME,\n state: XDG_STATE_HOME,\n runtime: XDG_RUNTIME_DIR,\n }\n constructor(name: string) {\n this.name = name\n }\n config(p = '') {\n return resolve(this.base.config, this.name, p)\n }\n cache(p = '') {\n return resolve(this.base.cache, this.name, p)\n }\n data(p = '') {\n return resolve(this.base.data, this.name, p)\n }\n state(p = '') {\n return resolve(this.base.state, this.name, p)\n }\n runtime(p = '') {\n return resolve(this.base.runtime, this.name, p)\n }\n}\n"]} |
+3
-17
| { | ||
| "name": "@vltpkg/xdg", | ||
| "description": "platform-specific app directories following XDG spec", | ||
| "version": "1.0.0-rc.10", | ||
| "version": "1.0.0-rc.11", | ||
| "repository": { | ||
@@ -11,13 +11,2 @@ "type": "git", | ||
| "author": "vlt technology inc. <support@vlt.sh> (http://vlt.sh)", | ||
| "tshy": { | ||
| "selfLink": false, | ||
| "liveDev": true, | ||
| "dialects": [ | ||
| "esm" | ||
| ], | ||
| "exports": { | ||
| "./package.json": "./package.json", | ||
| ".": "./src/index.ts" | ||
| } | ||
| }, | ||
| "devDependencies": { | ||
@@ -29,3 +18,2 @@ "@eslint/js": "^9.39.1", | ||
| "tap": "^21.5.0", | ||
| "tshy": "^3.1.0", | ||
| "typedoc": "~0.27.9", | ||
@@ -43,3 +31,3 @@ "typescript": "5.7.3", | ||
| "prettier": "../../.prettierrc.js", | ||
| "module": "./dist/esm/index.js", | ||
| "module": "./dist/index.js", | ||
| "type": "module", | ||
@@ -50,4 +38,3 @@ "exports": { | ||
| "import": { | ||
| "types": "./dist/esm/index.d.ts", | ||
| "default": "./dist/esm/index.js" | ||
| "default": "./dist/index.js" | ||
| } | ||
@@ -67,5 +54,4 @@ } | ||
| "posttest": "tsc --noEmit", | ||
| "tshy": "tshy", | ||
| "typecheck": "tsc --noEmit" | ||
| } | ||
| } |
| export type PathType = 'cache' | 'config' | 'data' | 'runtime' | 'state'; | ||
| export declare class XDG { | ||
| name: string; | ||
| base: { | ||
| [k in PathType]: string; | ||
| }; | ||
| constructor(name: string); | ||
| config(p?: string): string; | ||
| cache(p?: string): string; | ||
| data(p?: string): string; | ||
| state(p?: string): string; | ||
| runtime(p?: string): string; | ||
| } | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,OAAO,CAAA;AAoEX,qBAAa,GAAG;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;SAAG,CAAC,IAAI,QAAQ,GAAG,MAAM;KAAE,CAMhC;gBACW,IAAI,EAAE,MAAM;IAGxB,MAAM,CAAC,CAAC,SAAK;IAGb,KAAK,CAAC,CAAC,SAAK;IAGZ,IAAI,CAAC,CAAC,SAAK;IAGX,KAAK,CAAC,CAAC,SAAK;IAGZ,OAAO,CAAC,CAAC,SAAK;CAGf"} |
| import { homedir, tmpdir } from 'node:os'; | ||
| import { resolve } from 'node:path'; | ||
| const root = homedir(); | ||
| const path = (p) => resolve(root, p); | ||
| const defaults = process.platform === 'darwin' ? | ||
| (which) => { | ||
| switch (which) { | ||
| case 'config': | ||
| return path('Library/Preferences'); | ||
| case 'cache': | ||
| return path('Library/Caches'); | ||
| case 'data': | ||
| return path('Library/Application Support'); | ||
| case 'state': | ||
| return path('Library/State'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), | ||
| /* c8 ignore next */ | ||
| String(process.getuid?.() ?? ''), '.run'); | ||
| } | ||
| } | ||
| : process.platform === 'win32' ? | ||
| (which) => { | ||
| const ad = process.env.APPDATA ?? path('AppData/Roaming'); | ||
| const lad = process.env.LOCALAPPDATA ?? path('AppData/Local'); | ||
| switch (which) { | ||
| case 'config': | ||
| return resolve(ad, 'xdg.config'); | ||
| case 'cache': | ||
| return resolve(lad, 'xdg.cache'); | ||
| case 'data': | ||
| return resolve(ad, 'xdg.data'); | ||
| case 'state': | ||
| return resolve(lad, 'xdg.state'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), 'xdg.run'); | ||
| } | ||
| } | ||
| : (which) => { | ||
| switch (which) { | ||
| case 'config': | ||
| return path('.config'); | ||
| case 'cache': | ||
| return path('.cache'); | ||
| case 'data': | ||
| return path('.local/share'); | ||
| case 'state': | ||
| return path('.local/state'); | ||
| case 'runtime': | ||
| return resolve(tmpdir(), | ||
| /* c8 ignore next */ | ||
| String(process.getuid?.() ?? ''), '.run'); | ||
| } | ||
| }; | ||
| const { XDG_CONFIG_HOME = defaults('config'), XDG_CACHE_HOME = defaults('cache'), XDG_DATA_HOME = defaults('data'), XDG_STATE_HOME = defaults('state'), XDG_RUNTIME_DIR = defaults('runtime'), } = process.env; | ||
| export class XDG { | ||
| name; | ||
| base = { | ||
| config: XDG_CONFIG_HOME, | ||
| cache: XDG_CACHE_HOME, | ||
| data: XDG_DATA_HOME, | ||
| state: XDG_STATE_HOME, | ||
| runtime: XDG_RUNTIME_DIR, | ||
| }; | ||
| constructor(name) { | ||
| this.name = name; | ||
| } | ||
| config(p = '') { | ||
| return resolve(this.base.config, this.name, p); | ||
| } | ||
| cache(p = '') { | ||
| return resolve(this.base.cache, this.name, p); | ||
| } | ||
| data(p = '') { | ||
| return resolve(this.base.data, this.name, p); | ||
| } | ||
| state(p = '') { | ||
| return resolve(this.base.state, this.name, p); | ||
| } | ||
| runtime(p = '') { | ||
| return resolve(this.base.runtime, this.name, p); | ||
| } | ||
| } | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { homedir, tmpdir } from 'node:os'\nimport { resolve } from 'node:path'\n\nconst root = homedir()\nconst path = (p: string) => resolve(root, p)\n\nexport type PathType =\n | 'cache'\n | 'config'\n | 'data'\n | 'runtime'\n | 'state'\n\nconst defaults =\n process.platform === 'darwin' ?\n (which: PathType): string => {\n switch (which) {\n case 'config':\n return path('Library/Preferences')\n case 'cache':\n return path('Library/Caches')\n case 'data':\n return path('Library/Application Support')\n case 'state':\n return path('Library/State')\n case 'runtime':\n return resolve(\n tmpdir(),\n /* c8 ignore next */\n String(process.getuid?.() ?? ''),\n '.run',\n )\n }\n }\n : process.platform === 'win32' ?\n (which: PathType): string => {\n const ad = process.env.APPDATA ?? path('AppData/Roaming')\n const lad = process.env.LOCALAPPDATA ?? path('AppData/Local')\n switch (which) {\n case 'config':\n return resolve(ad, 'xdg.config')\n case 'cache':\n return resolve(lad, 'xdg.cache')\n case 'data':\n return resolve(ad, 'xdg.data')\n case 'state':\n return resolve(lad, 'xdg.state')\n case 'runtime':\n return resolve(tmpdir(), 'xdg.run')\n }\n }\n : (which: PathType): string => {\n switch (which) {\n case 'config':\n return path('.config')\n case 'cache':\n return path('.cache')\n case 'data':\n return path('.local/share')\n case 'state':\n return path('.local/state')\n case 'runtime':\n return resolve(\n tmpdir(),\n /* c8 ignore next */\n String(process.getuid?.() ?? ''),\n '.run',\n )\n }\n }\n\nconst {\n XDG_CONFIG_HOME = defaults('config'),\n XDG_CACHE_HOME = defaults('cache'),\n XDG_DATA_HOME = defaults('data'),\n XDG_STATE_HOME = defaults('state'),\n XDG_RUNTIME_DIR = defaults('runtime'),\n} = process.env\n\nexport class XDG {\n name: string\n base: { [k in PathType]: string } = {\n config: XDG_CONFIG_HOME,\n cache: XDG_CACHE_HOME,\n data: XDG_DATA_HOME,\n state: XDG_STATE_HOME,\n runtime: XDG_RUNTIME_DIR,\n }\n constructor(name: string) {\n this.name = name\n }\n config(p = '') {\n return resolve(this.base.config, this.name, p)\n }\n cache(p = '') {\n return resolve(this.base.cache, this.name, p)\n }\n data(p = '') {\n return resolve(this.base.data, this.name, p)\n }\n state(p = '') {\n return resolve(this.base.state, this.name, p)\n }\n runtime(p = '') {\n return resolve(this.base.runtime, this.name, p)\n }\n}\n"]} |
| { | ||
| "type": "module" | ||
| } |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
8
-11.11%14015
-2.18%7
-12.5%1
Infinity%