@zincapp/znvault-cli 2.19.1 → 2.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/config/index.d.ts +1 -1
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/config/index.js +1 -1
- package/dist/lib/config/index.js.map +1 -1
- package/dist/lib/config/store.d.ts +10 -0
- package/dist/lib/config/store.d.ts.map +1 -1
- package/dist/lib/config/store.js +49 -10
- package/dist/lib/config/store.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { Profile, ConfigStore, ProfileInfo, ApiKeyInfo } from './types.js';
|
|
7
7
|
export { CONFIG_DEFAULTS, DEFAULT_PROFILE } from './types.js';
|
|
8
|
-
export { store, setRuntimeProfile, resetConfig, getConfigPath } from './store.js';
|
|
8
|
+
export { store, setRuntimeProfile, resetConfig, getConfigPath, _resetStoreInstance } from './store.js';
|
|
9
9
|
export { ensureMigrated, resetMigrationState } from './migration.js';
|
|
10
10
|
export { invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats, } from './cache.js';
|
|
11
11
|
export { getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, } from './profile.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC"}
|
package/dist/lib/config/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Path: src/lib/config/index.ts
|
|
2
2
|
export { CONFIG_DEFAULTS, DEFAULT_PROFILE } from './types.js';
|
|
3
3
|
// Store
|
|
4
|
-
export { store, setRuntimeProfile, resetConfig, getConfigPath } from './store.js';
|
|
4
|
+
export { store, setRuntimeProfile, resetConfig, getConfigPath, _resetStoreInstance } from './store.js';
|
|
5
5
|
// Migration
|
|
6
6
|
export { ensureMigrated, resetMigrationState } from './migration.js';
|
|
7
7
|
// Cache
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAUhC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAUhC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvG,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErE,QAAQ;AACR,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,qBAAqB;AACrB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,yBAAyB;AACzB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,aAAa;AACb,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAEhB,MAAM,iBAAiB,CAAC"}
|
|
@@ -4,9 +4,15 @@
|
|
|
4
4
|
* Supports ZNVAULT_CONFIG_DIR environment variable for test isolation.
|
|
5
5
|
* When set, config is stored in that directory instead of the default
|
|
6
6
|
* OS-specific location (~/.config/znvault on Linux, ~/Library/Preferences on macOS).
|
|
7
|
+
*
|
|
8
|
+
* Uses lazy initialization to ensure mocks can be set up before store is created.
|
|
7
9
|
*/
|
|
8
10
|
import Conf from 'conf';
|
|
9
11
|
import type { ConfigStore } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Store proxy that lazily initializes the underlying Conf instance.
|
|
14
|
+
* This ensures mocks are applied before the real Conf is created.
|
|
15
|
+
*/
|
|
10
16
|
export declare const store: Conf<ConfigStore>;
|
|
11
17
|
/**
|
|
12
18
|
* Set runtime profile override (from --profile flag)
|
|
@@ -24,4 +30,8 @@ export declare function resetConfig(): void;
|
|
|
24
30
|
* Get config file path (for display purposes)
|
|
25
31
|
*/
|
|
26
32
|
export declare function getConfigPath(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Reset the store instance (for testing only)
|
|
35
|
+
*/
|
|
36
|
+
export declare function _resetStoreInstance(): void;
|
|
27
37
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA6B9C;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,WAAW,CAclC,CAAC;AAKH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|
package/dist/lib/config/store.js
CHANGED
|
@@ -5,19 +5,51 @@
|
|
|
5
5
|
* Supports ZNVAULT_CONFIG_DIR environment variable for test isolation.
|
|
6
6
|
* When set, config is stored in that directory instead of the default
|
|
7
7
|
* OS-specific location (~/.config/znvault on Linux, ~/Library/Preferences on macOS).
|
|
8
|
+
*
|
|
9
|
+
* Uses lazy initialization to ensure mocks can be set up before store is created.
|
|
8
10
|
*/
|
|
9
11
|
import Conf from 'conf';
|
|
10
12
|
import { DEFAULT_PROFILE } from './types.js';
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
// Lazy-initialized store instance
|
|
14
|
+
let _store = null;
|
|
15
|
+
/**
|
|
16
|
+
* Get the config store instance (lazy initialization).
|
|
17
|
+
* This allows mocks to be set up before the store is created.
|
|
18
|
+
*/
|
|
19
|
+
function getStoreInstance() {
|
|
20
|
+
if (!_store) {
|
|
21
|
+
// Check for custom config directory (used for test isolation)
|
|
22
|
+
const configDir = process.env.ZNVAULT_CONFIG_DIR;
|
|
23
|
+
_store = new Conf({
|
|
24
|
+
projectName: 'znvault',
|
|
25
|
+
// Use custom config directory if specified (for test isolation)
|
|
26
|
+
...(configDir ? { cwd: configDir } : {}),
|
|
27
|
+
defaults: {
|
|
28
|
+
activeProfile: DEFAULT_PROFILE,
|
|
29
|
+
profiles: {},
|
|
30
|
+
plugins: [],
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return _store;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Store proxy that lazily initializes the underlying Conf instance.
|
|
38
|
+
* This ensures mocks are applied before the real Conf is created.
|
|
39
|
+
*/
|
|
40
|
+
export const store = new Proxy({}, {
|
|
41
|
+
get(_target, prop) {
|
|
42
|
+
const instance = getStoreInstance();
|
|
43
|
+
const value = instance[prop];
|
|
44
|
+
if (typeof value === 'function') {
|
|
45
|
+
return value.bind(instance);
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
},
|
|
49
|
+
set(_target, prop, value) {
|
|
50
|
+
const instance = getStoreInstance();
|
|
51
|
+
instance[prop] = value;
|
|
52
|
+
return true;
|
|
21
53
|
},
|
|
22
54
|
});
|
|
23
55
|
// Runtime profile override (set via --profile flag)
|
|
@@ -46,4 +78,11 @@ export function resetConfig() {
|
|
|
46
78
|
export function getConfigPath() {
|
|
47
79
|
return store.path;
|
|
48
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Reset the store instance (for testing only)
|
|
83
|
+
*/
|
|
84
|
+
export function _resetStoreInstance() {
|
|
85
|
+
_store = null;
|
|
86
|
+
runtimeProfileOverride = null;
|
|
87
|
+
}
|
|
49
88
|
//# sourceMappingURL=store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,kCAAkC;AAClC,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8DAA8D;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAEjD,MAAM,GAAG,IAAI,IAAI,CAAc;YAC7B,WAAW,EAAE,SAAS;YACtB,gEAAgE;YAChE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,QAAQ,EAAE;gBACR,aAAa,EAAE,eAAe;gBAC9B,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;aACZ;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAsB,IAAI,KAAK,CAAC,EAAuB,EAAE;IACzE,GAAG,CAAC,OAAO,EAAE,IAA6B;QACxC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,IAA6B,EAAE,KAAc;QACxD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACnC,QAA+C,CAAC,IAAc,CAAC,GAAG,KAAK,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,oDAAoD;AACpD,IAAI,sBAAsB,GAAkB,IAAI,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,sBAAsB,GAAG,OAAO,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,IAAI,CAAC;IACd,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC"}
|