马宇豪
2024-08-29 893ff90c6e21fa3a5241a8ae9b33836037cd5912
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
declare namespace envPaths {
    export interface Options {
        /**
        __Don't use this option unless you really have to!__
 
        Suffix appended to the project name to avoid name conflicts with native apps. Pass an empty string to disable it.
 
        @default 'nodejs'
        */
        readonly suffix?: string;
    }
 
    export interface Paths {
        /**
        Directory for data files.
 
        Example locations (with the default `nodejs` suffix):
 
        - macOS: `~/Library/Application Support/MyApp-nodejs`
        - Windows: `%LOCALAPPDATA%\MyApp-nodejs\Data` (for example, `C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Data`)
        - Linux: `~/.local/share/MyApp-nodejs` (or `$XDG_DATA_HOME/MyApp-nodejs`)
        */
        readonly data: string;
 
        /**
        Directory for data files.
 
        Example locations (with the default `nodejs` suffix):
 
        - macOS: `~/Library/Preferences/MyApp-nodejs`
        - Windows: `%APPDATA%\MyApp-nodejs\Config` (for example, `C:\Users\USERNAME\AppData\Roaming\MyApp-nodejs\Config`)
        - Linux: `~/.config/MyApp-nodejs` (or `$XDG_CONFIG_HOME/MyApp-nodejs`)
        */
        readonly config: string;
 
        /**
        Directory for non-essential data files.
 
        Example locations (with the default `nodejs` suffix):
 
        - macOS: `~/Library/Caches/MyApp-nodejs`
        - Windows: `%LOCALAPPDATA%\MyApp-nodejs\Cache` (for example, `C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Cache`)
        - Linux: `~/.cache/MyApp-nodejs` (or `$XDG_CACHE_HOME/MyApp-nodejs`)
        */
        readonly cache: string;
 
        /**
        Directory for log files.
 
        Example locations (with the default `nodejs` suffix):
 
        - macOS: `~/Library/Logs/MyApp-nodejs`
        - Windows: `%LOCALAPPDATA%\MyApp-nodejs\Log` (for example, `C:\Users\USERNAME\AppData\Local\MyApp-nodejs\Log`)
        - Linux: `~/.local/state/MyApp-nodejs` (or `$XDG_STATE_HOME/MyApp-nodejs`)
        */
        readonly log: string;
 
        /**
        Directory for temporary files.
 
        Example locations (with the default `nodejs` suffix):
 
        - macOS: `/var/folders/jf/f2twvvvs5jl_m49tf034ffpw0000gn/T/MyApp-nodejs`
        - Windows: `%LOCALAPPDATA%\Temp\MyApp-nodejs` (for example, `C:\Users\USERNAME\AppData\Local\Temp\MyApp-nodejs`)
        - Linux: `/tmp/USERNAME/MyApp-nodejs`
        */
        readonly temp: string;
    }
}
 
declare const envPaths: {
    /**
    Get paths for storing things like data, config, cache, etc.
 
    Note: It only generates the path strings. It doesn't create the directories for you. You could use [`make-dir`](https://github.com/sindresorhus/make-dir) to create the directories.
 
    @param name - Name of your project. Used to generate the paths.
    @returns The paths to use for your project on current OS.
 
    @example
    ```
    import envPaths = require('env-paths');
 
    const paths = envPaths('MyApp');
 
    paths.data;
    //=> '/home/sindresorhus/.local/share/MyApp-nodejs'
 
    paths.config
    //=> '/home/sindresorhus/.config/MyApp-nodejs'
    ```
    */
    (name: string, options?: envPaths.Options): envPaths.Paths;
 
    // TODO: Remove this for the next major release, refactor the whole definition to:
    // declare function envPaths(name: string, options?: envPaths.Options): envPaths.Paths;
    // export = envPaths;
    default: typeof envPaths;
};
 
export = envPaths;