clishop 0.1.0 → 0.1.1
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/index.js +16 -11
- package/package.json +1 -3
- package/src/auth.ts +17 -12
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import ora from "ora";
|
|
|
10
10
|
import inquirer from "inquirer";
|
|
11
11
|
|
|
12
12
|
// src/auth.ts
|
|
13
|
-
import
|
|
13
|
+
import Conf2 from "conf";
|
|
14
14
|
import axios from "axios";
|
|
15
15
|
|
|
16
16
|
// src/config.ts
|
|
@@ -97,27 +97,32 @@ function listAgents() {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
// src/auth.ts
|
|
100
|
-
var SERVICE_NAME = "clishop";
|
|
100
|
+
var SERVICE_NAME = "clishop-auth";
|
|
101
101
|
var ACCOUNT_TOKEN = "auth-token";
|
|
102
102
|
var ACCOUNT_REFRESH = "refresh-token";
|
|
103
103
|
var ACCOUNT_USER = "user-info";
|
|
104
|
+
var authStore = new Conf2({
|
|
105
|
+
projectName: SERVICE_NAME,
|
|
106
|
+
encryptionKey: "clishop-local-encryption-key"
|
|
107
|
+
// Basic obfuscation
|
|
108
|
+
});
|
|
104
109
|
async function storeToken(token) {
|
|
105
|
-
|
|
110
|
+
authStore.set(ACCOUNT_TOKEN, token);
|
|
106
111
|
}
|
|
107
112
|
async function storeRefreshToken(token) {
|
|
108
|
-
|
|
113
|
+
authStore.set(ACCOUNT_REFRESH, token);
|
|
109
114
|
}
|
|
110
115
|
async function storeUserInfo(user) {
|
|
111
|
-
|
|
116
|
+
authStore.set(ACCOUNT_USER, JSON.stringify(user));
|
|
112
117
|
}
|
|
113
118
|
async function getToken() {
|
|
114
|
-
return
|
|
119
|
+
return authStore.get(ACCOUNT_TOKEN) || null;
|
|
115
120
|
}
|
|
116
121
|
async function getRefreshToken() {
|
|
117
|
-
return
|
|
122
|
+
return authStore.get(ACCOUNT_REFRESH) || null;
|
|
118
123
|
}
|
|
119
124
|
async function getUserInfo() {
|
|
120
|
-
const raw =
|
|
125
|
+
const raw = authStore.get(ACCOUNT_USER);
|
|
121
126
|
if (!raw) return null;
|
|
122
127
|
try {
|
|
123
128
|
return JSON.parse(raw);
|
|
@@ -126,9 +131,9 @@ async function getUserInfo() {
|
|
|
126
131
|
}
|
|
127
132
|
}
|
|
128
133
|
async function clearAuth() {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
authStore.delete(ACCOUNT_TOKEN);
|
|
135
|
+
authStore.delete(ACCOUNT_REFRESH);
|
|
136
|
+
authStore.delete(ACCOUNT_USER);
|
|
132
137
|
}
|
|
133
138
|
async function isLoggedIn() {
|
|
134
139
|
const token = await getToken();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clishop",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "CLISHOP — Order anything from your terminal",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -37,12 +37,10 @@
|
|
|
37
37
|
"commander": "^14.0.3",
|
|
38
38
|
"conf": "^15.1.0",
|
|
39
39
|
"inquirer": "^13.2.4",
|
|
40
|
-
"keytar": "^7.9.0",
|
|
41
40
|
"ora": "^9.3.0"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
44
43
|
"@types/inquirer": "^9.0.9",
|
|
45
|
-
"@types/keytar": "^4.4.0",
|
|
46
44
|
"@types/node": "^25.2.3",
|
|
47
45
|
"ts-node": "^10.9.2",
|
|
48
46
|
"tsup": "^8.5.1",
|
package/src/auth.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Conf from "conf";
|
|
2
2
|
import axios from "axios";
|
|
3
3
|
import { getConfig } from "./config.js";
|
|
4
4
|
|
|
5
|
-
const SERVICE_NAME = "clishop";
|
|
5
|
+
const SERVICE_NAME = "clishop-auth";
|
|
6
6
|
const ACCOUNT_TOKEN = "auth-token";
|
|
7
7
|
const ACCOUNT_REFRESH = "refresh-token";
|
|
8
8
|
const ACCOUNT_USER = "user-info";
|
|
9
9
|
|
|
10
|
+
const authStore = new Conf({
|
|
11
|
+
projectName: SERVICE_NAME,
|
|
12
|
+
encryptionKey: "clishop-local-encryption-key", // Basic obfuscation
|
|
13
|
+
});
|
|
14
|
+
|
|
10
15
|
export interface UserInfo {
|
|
11
16
|
id: string;
|
|
12
17
|
email: string;
|
|
@@ -14,30 +19,30 @@ export interface UserInfo {
|
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
/**
|
|
17
|
-
* Store auth token securely
|
|
22
|
+
* Store auth token securely.
|
|
18
23
|
*/
|
|
19
24
|
export async function storeToken(token: string): Promise<void> {
|
|
20
|
-
|
|
25
|
+
authStore.set(ACCOUNT_TOKEN, token);
|
|
21
26
|
}
|
|
22
27
|
|
|
23
28
|
export async function storeRefreshToken(token: string): Promise<void> {
|
|
24
|
-
|
|
29
|
+
authStore.set(ACCOUNT_REFRESH, token);
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
export async function storeUserInfo(user: UserInfo): Promise<void> {
|
|
28
|
-
|
|
33
|
+
authStore.set(ACCOUNT_USER, JSON.stringify(user));
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
export async function getToken(): Promise<string | null> {
|
|
32
|
-
return
|
|
37
|
+
return (authStore.get(ACCOUNT_TOKEN) as string) || null;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
export async function getRefreshToken(): Promise<string | null> {
|
|
36
|
-
return
|
|
41
|
+
return (authStore.get(ACCOUNT_REFRESH) as string) || null;
|
|
37
42
|
}
|
|
38
43
|
|
|
39
44
|
export async function getUserInfo(): Promise<UserInfo | null> {
|
|
40
|
-
const raw =
|
|
45
|
+
const raw = authStore.get(ACCOUNT_USER) as string;
|
|
41
46
|
if (!raw) return null;
|
|
42
47
|
try {
|
|
43
48
|
return JSON.parse(raw) as UserInfo;
|
|
@@ -47,9 +52,9 @@ export async function getUserInfo(): Promise<UserInfo | null> {
|
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
export async function clearAuth(): Promise<void> {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
authStore.delete(ACCOUNT_TOKEN);
|
|
56
|
+
authStore.delete(ACCOUNT_REFRESH);
|
|
57
|
+
authStore.delete(ACCOUNT_USER);
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
export async function isLoggedIn(): Promise<boolean> {
|