You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@vltpkg/xdg

Package Overview
Dependencies
Maintainers
6
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vltpkg/xdg - npm Package Compare versions

Comparing version
1.0.0-rc.10
to
1.0.0-rc.11
+14
dist/index.d.ts
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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;AACtB,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAS5C,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC7B,CAAC,KAAe,EAAU,EAAE;QAC1B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAA;YACpC,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,eAAe,CAAC,CAAA;YAC9B,KAAK,SAAS;gBACZ,OAAO,OAAO,CACZ,MAAM,EAAE;gBACR,oBAAoB;gBACpB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAChC,MAAM,CACP,CAAA;QACL,CAAC;IACH,CAAC;IACH,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QAC9B,CAAC,KAAe,EAAU,EAAE;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,CAAA;YAC7D,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;gBAClC,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBAClC,KAAK,MAAM;oBACT,OAAO,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;gBAChC,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBAClC,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;QACH,CAAC,CAAC,CAAC,KAAe,EAAU,EAAE;YAC1B,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAA;gBACxB,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACvB,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC7B,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,cAAc,CAAC,CAAA;gBAC7B,KAAK,SAAS;oBACZ,OAAO,OAAO,CACZ,MAAM,EAAE;oBACR,oBAAoB;oBACpB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAChC,MAAM,CACP,CAAA;YACL,CAAC;QACH,CAAC,CAAA;AAEL,MAAM,EACJ,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,EACpC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,EAClC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAChC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,EAClC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,GACtC,GAAG,OAAO,CAAC,GAAG,CAAA;AAEf,MAAM,OAAO,GAAG;IACd,IAAI,CAAQ;IACZ,IAAI,GAAgC;QAClC,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,eAAe;KACzB,CAAA;IACD,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,MAAM,CAAC,CAAC,GAAG,EAAE;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,CAAC,GAAG,EAAE;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,EAAE;QACT,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,CAAC,CAAC,GAAG,EAAE;QACV,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,EAAE;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;CACF","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"
}