diff --git a/index.js b/index.js index 7f370d9..e6d65ac 100644 --- a/index.js +++ b/index.js @@ -4,20 +4,24 @@ import fs from 'graceful-fs'; import {xdgConfig} from 'xdg-basedir'; import {writeFileSync} from 'atomically'; import dotProp from 'dot-prop'; -import uniqueString from 'unique-string'; -const configDirectory = xdgConfig || path.join(os.tmpdir(), uniqueString()); +function getConfigDirectory(id, globalConfigPath) { + const pathPrefix = globalConfigPath ? + path.join(id, 'config.json') : + path.join('configstore', `${id}.json`); + + const configDirectory = xdgConfig || fs.mkdtempSync(fs.realpathSync(os.tmpdir()) + path.sep); + + return path.join(configDirectory, pathPrefix); +} + const permissionError = 'You don\'t have access to this file.'; const mkdirOptions = {mode: 0o0700, recursive: true}; const writeFileOptions = {mode: 0o0600}; export default class Configstore { constructor(id, defaults, options = {}) { - const pathPrefix = options.globalConfigPath ? - path.join(id, 'config.json') : - path.join('configstore', `${id}.json`); - - this._path = options.configPath || path.join(configDirectory, pathPrefix); + this._path = options.configPath ?? getConfigDirectory(id, options.globalConfigPath); if (defaults) { this.all = { diff --git a/package.json b/package.json index 86d7fc6..84457b4 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "atomically": "^2.0.3", "dot-prop": "^6.0.1", "graceful-fs": "^4.2.6", - "unique-string": "^3.0.0", "xdg-basedir": "^5.0.1" }, "devDependencies": {