rustore 1.0.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/LICENSE +9 -0
- package/README.md +225 -0
- package/dist/api/apps.d.ts +32 -0
- package/dist/api/apps.d.ts.map +1 -0
- package/dist/api/apps.js +56 -0
- package/dist/api/apps.js.map +1 -0
- package/dist/api/auth.d.ts +29 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +139 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/catalog.d.ts +15 -0
- package/dist/api/catalog.d.ts.map +1 -0
- package/dist/api/catalog.js +15 -0
- package/dist/api/catalog.js.map +1 -0
- package/dist/api/client.d.ts +35 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +80 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/payments-app.d.ts +15 -0
- package/dist/api/payments-app.d.ts.map +1 -0
- package/dist/api/payments-app.js +15 -0
- package/dist/api/payments-app.js.map +1 -0
- package/dist/api/payments.d.ts +15 -0
- package/dist/api/payments.d.ts.map +1 -0
- package/dist/api/payments.js +15 -0
- package/dist/api/payments.js.map +1 -0
- package/dist/bin.d.ts +6 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +83 -0
- package/dist/bin.js.map +1 -0
- package/dist/commands/apps.d.ts +11 -0
- package/dist/commands/apps.d.ts.map +1 -0
- package/dist/commands/apps.js +52 -0
- package/dist/commands/apps.js.map +1 -0
- package/dist/commands/auth.d.ts +16 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +46 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/config.d.ts +22 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +53 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAGnC,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAS;IAExB,YAAY,UAAkB,YAAY;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAO,CAAI,QAAgB,EAAE,UAAuB,EAAE;QACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEzC,4DAA4D;QAC5D,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,KAAK,EAAE,yDAAyD;gBAChF,GAAG,OAAO,CAAC,OAAO;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,SAA+B,CAAC;YAEpC,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAa,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,0CAA0C;YAC1C,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,MAAM,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,QAAgB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAI,QAAgB,EAAE,IAAc;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,IAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAI,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с платежами и подписками (методы приложений)
|
|
3
|
+
* Категория: Работа с платежами и подписками (методы приложений)
|
|
4
|
+
*/
|
|
5
|
+
import { RustoreApiClient } from './client.js';
|
|
6
|
+
/**
|
|
7
|
+
* Клиент для работы с платежами (методы приложений)
|
|
8
|
+
*/
|
|
9
|
+
export declare class PaymentsAppApi extends RustoreApiClient {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Экспортируемый экземпляр клиента для работы с платежами приложений
|
|
13
|
+
*/
|
|
14
|
+
export declare const paymentsAppApi: PaymentsAppApi;
|
|
15
|
+
//# sourceMappingURL=payments-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments-app.d.ts","sourceRoot":"","sources":["../../src/api/payments-app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;CAGnD;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с платежами и подписками (методы приложений)
|
|
3
|
+
* Категория: Работа с платежами и подписками (методы приложений)
|
|
4
|
+
*/
|
|
5
|
+
import { RustoreApiClient } from './client.js';
|
|
6
|
+
/**
|
|
7
|
+
* Клиент для работы с платежами (методы приложений)
|
|
8
|
+
*/
|
|
9
|
+
export class PaymentsAppApi extends RustoreApiClient {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Экспортируемый экземпляр клиента для работы с платежами приложений
|
|
13
|
+
*/
|
|
14
|
+
export const paymentsAppApi = new PaymentsAppApi();
|
|
15
|
+
//# sourceMappingURL=payments-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments-app.js","sourceRoot":"","sources":["../../src/api/payments-app.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,gBAAgB;CAGnD;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с платежами и подписками
|
|
3
|
+
* Категория: Работа с платежами и подписками (общие методы)
|
|
4
|
+
*/
|
|
5
|
+
import { RustoreApiClient } from './client.js';
|
|
6
|
+
/**
|
|
7
|
+
* Клиент для работы с платежами (общие методы)
|
|
8
|
+
*/
|
|
9
|
+
export declare class PaymentsApi extends RustoreApiClient {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Экспортируемый экземпляр клиента для работы с платежами
|
|
13
|
+
*/
|
|
14
|
+
export declare const paymentsApi: PaymentsApi;
|
|
15
|
+
//# sourceMappingURL=payments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/api/payments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAAgB;CAGhD;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с платежами и подписками
|
|
3
|
+
* Категория: Работа с платежами и подписками (общие методы)
|
|
4
|
+
*/
|
|
5
|
+
import { RustoreApiClient } from './client.js';
|
|
6
|
+
/**
|
|
7
|
+
* Клиент для работы с платежами (общие методы)
|
|
8
|
+
*/
|
|
9
|
+
export class PaymentsApi extends RustoreApiClient {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Экспортируемый экземпляр клиента для работы с платежами
|
|
13
|
+
*/
|
|
14
|
+
export const paymentsApi = new PaymentsApi();
|
|
15
|
+
//# sourceMappingURL=payments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/api/payments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,gBAAgB;CAGhD;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI для работы с RuStore API
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import { loginCommand, logoutCommand, whoamiCommand } from './commands/auth.js';
|
|
7
|
+
import { listAppsCommand } from './commands/apps.js';
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { dirname, join } from 'node:path';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = dirname(__filename);
|
|
13
|
+
// Получаем версию из package.json
|
|
14
|
+
const packageJsonPath = join(__dirname, '..', 'package.json');
|
|
15
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
16
|
+
const program = new Command();
|
|
17
|
+
program
|
|
18
|
+
.name('rustore')
|
|
19
|
+
.description('CLI для работы с RuStore API')
|
|
20
|
+
.version(packageJson.version);
|
|
21
|
+
// Команда login
|
|
22
|
+
program
|
|
23
|
+
.command('login')
|
|
24
|
+
.description('Авторизация в RuStore API')
|
|
25
|
+
.requiredOption('-i, --key-id <keyId>', 'ID ключа из RuStore Консоль')
|
|
26
|
+
.requiredOption('-k, --key <key>', 'Приватный ключ (Base64)')
|
|
27
|
+
.action(async (options) => {
|
|
28
|
+
try {
|
|
29
|
+
await loginCommand(options.keyId, options.key);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Ошибка:', error instanceof Error ? error.message : String(error));
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
// Команда logout
|
|
37
|
+
program
|
|
38
|
+
.command('logout')
|
|
39
|
+
.description('Выход из системы (удаление токена)')
|
|
40
|
+
.action(() => {
|
|
41
|
+
try {
|
|
42
|
+
logoutCommand();
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('Ошибка:', error instanceof Error ? error.message : String(error));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
// Команда whoami
|
|
50
|
+
program
|
|
51
|
+
.command('whoami')
|
|
52
|
+
.description('Показать информацию о текущей авторизации')
|
|
53
|
+
.action(() => {
|
|
54
|
+
try {
|
|
55
|
+
whoamiCommand();
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
console.error('Ошибка:', error instanceof Error ? error.message : String(error));
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// Команды для работы с приложениями
|
|
63
|
+
const appsCommand = program.command('apps').description('Работа с приложениями');
|
|
64
|
+
appsCommand
|
|
65
|
+
.command('list')
|
|
66
|
+
.description('Получить список приложений')
|
|
67
|
+
.option('-a, --all', 'Получить все приложения (с пагинацией)')
|
|
68
|
+
.option('-j, --json', 'Вывести результат в формате JSON')
|
|
69
|
+
.action(async (options) => {
|
|
70
|
+
try {
|
|
71
|
+
await listAppsCommand(options);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.error('Ошибка:', error instanceof Error ? error.message : String(error));
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
// Показываем помощь, если команда не указана
|
|
79
|
+
if (process.argv.length === 2) {
|
|
80
|
+
program.help();
|
|
81
|
+
}
|
|
82
|
+
program.parse();
|
|
83
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Команды для работы с приложениями
|
|
3
|
+
*/
|
|
4
|
+
import { appsApi } from '../api/apps.js';
|
|
5
|
+
/**
|
|
6
|
+
* Команда получения списка приложений
|
|
7
|
+
*/
|
|
8
|
+
export async function listAppsCommand(options) {
|
|
9
|
+
try {
|
|
10
|
+
if (options.all) {
|
|
11
|
+
const apps = await appsApi.getAllApps();
|
|
12
|
+
outputApps(apps, options.json);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
const response = await appsApi.getAppList();
|
|
16
|
+
outputApps(response.body.content, options.json);
|
|
17
|
+
if (response.body.continuationToken) {
|
|
18
|
+
console.log(`\n⚠️ Есть ещё приложения. Используйте --all для получения полного списка.`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error(`Ошибка получения списка приложений: ${error instanceof Error ? error.message : String(error)}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Выводит список приложений в консоль
|
|
28
|
+
*/
|
|
29
|
+
function outputApps(apps, json = false) {
|
|
30
|
+
if (json) {
|
|
31
|
+
console.log(JSON.stringify(apps, null, 2));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (apps.length === 0) {
|
|
35
|
+
console.log('Приложения не найдены.');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.log(`\nНайдено приложений: ${apps.length}\n`);
|
|
39
|
+
apps.forEach((app, index) => {
|
|
40
|
+
console.log(`${index + 1}. ${app.appName}`);
|
|
41
|
+
console.log(` Package: ${app.packageName}`);
|
|
42
|
+
console.log(` ID: ${app.appId}`);
|
|
43
|
+
console.log(` Статус: ${app.appStatus}`);
|
|
44
|
+
console.log(` Версия: ${app.versionName} (${app.versionCode})`);
|
|
45
|
+
console.log(` Обновлено: ${new Date(app.appVerUpdatedAt).toLocaleString('ru-RU')}`);
|
|
46
|
+
if (app.shortDescription) {
|
|
47
|
+
console.log(` Описание: ${app.shortDescription}`);
|
|
48
|
+
}
|
|
49
|
+
console.log('');
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/commands/apps.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAGrC;IACC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YACxC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAW,EAAE,OAAgB,KAAK;IACpD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Команды для работы с авторизацией
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Команда входа в систему
|
|
6
|
+
*/
|
|
7
|
+
export declare function loginCommand(keyId: string, privateKey: string): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Команда выхода из системы
|
|
10
|
+
*/
|
|
11
|
+
export declare function logoutCommand(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Команда проверки статуса авторизации
|
|
14
|
+
*/
|
|
15
|
+
export declare function whoamiCommand(): void;
|
|
16
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CASpC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA0BpC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Команды для работы с авторизацией
|
|
3
|
+
*/
|
|
4
|
+
import { login } from '../api/auth.js';
|
|
5
|
+
import { loadConfig, configExists, saveConfig } from '../config.js';
|
|
6
|
+
/**
|
|
7
|
+
* Команда входа в систему
|
|
8
|
+
*/
|
|
9
|
+
export async function loginCommand(keyId, privateKey) {
|
|
10
|
+
console.log('Получение токена авторизации...');
|
|
11
|
+
await login(keyId, privateKey);
|
|
12
|
+
console.log('✓ Успешно авторизован! Токен сохранён в ~/.rustore/config.json');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Команда выхода из системы
|
|
16
|
+
*/
|
|
17
|
+
export function logoutCommand() {
|
|
18
|
+
// Просто очищаем токен, но оставляем ключи
|
|
19
|
+
const config = loadConfig();
|
|
20
|
+
delete config.token;
|
|
21
|
+
delete config.tokenExpiresAt;
|
|
22
|
+
saveConfig(config);
|
|
23
|
+
console.log('✓ Выполнен выход из системы. Токен удалён.');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Команда проверки статуса авторизации
|
|
27
|
+
*/
|
|
28
|
+
export function whoamiCommand() {
|
|
29
|
+
if (!configExists()) {
|
|
30
|
+
console.log('Не авторизован. Используйте "rustore login" для входа.');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const config = loadConfig();
|
|
34
|
+
if (!config.keyId) {
|
|
35
|
+
console.log('Конфигурация неполная. Используйте "rustore login" для настройки.');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.log(`Key ID: ${config.keyId}`);
|
|
39
|
+
console.log(`Токен: ${config.token ? 'установлен' : 'не установлен'}`);
|
|
40
|
+
if (config.tokenExpiresAt) {
|
|
41
|
+
const expiresAt = new Date(config.tokenExpiresAt);
|
|
42
|
+
const isValid = config.tokenExpiresAt > Date.now();
|
|
43
|
+
console.log(`Срок действия токена: ${expiresAt.toLocaleString('ru-RU')} ${isValid ? '(действителен)' : '(истёк)'}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,UAAkB;IAClE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,2CAA2C;IAC3C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC,cAAc,CAAC;IAE7B,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnD,OAAO,CAAC,GAAG,CACT,yBAAyB,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,IACxD,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAC/B,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Управление конфигурацией CLI
|
|
3
|
+
* Сохраняет настройки в ~/.rustore/config.json
|
|
4
|
+
*/
|
|
5
|
+
import type { Config } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Загружает конфигурацию из файла
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadConfig(): Config;
|
|
10
|
+
/**
|
|
11
|
+
* Сохраняет конфигурацию в файл
|
|
12
|
+
*/
|
|
13
|
+
export declare function saveConfig(config: Config): void;
|
|
14
|
+
/**
|
|
15
|
+
* Получает путь к директории конфигурации
|
|
16
|
+
*/
|
|
17
|
+
export declare function getConfigDir(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Проверяет, существует ли конфигурация
|
|
20
|
+
*/
|
|
21
|
+
export declare function configExists(): boolean;
|
|
22
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAKvC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAanC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAe/C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Управление конфигурацией CLI
|
|
3
|
+
* Сохраняет настройки в ~/.rustore/config.json
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
const CONFIG_DIR = join(homedir(), '.rustore');
|
|
9
|
+
const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
|
|
10
|
+
/**
|
|
11
|
+
* Загружает конфигурацию из файла
|
|
12
|
+
*/
|
|
13
|
+
export function loadConfig() {
|
|
14
|
+
if (!existsSync(CONFIG_FILE)) {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const content = readFileSync(CONFIG_FILE, 'utf-8');
|
|
19
|
+
return JSON.parse(content);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new Error(`Ошибка чтения конфигурации: ${error instanceof Error ? error.message : String(error)}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Сохраняет конфигурацию в файл
|
|
27
|
+
*/
|
|
28
|
+
export function saveConfig(config) {
|
|
29
|
+
try {
|
|
30
|
+
if (!existsSync(CONFIG_DIR)) {
|
|
31
|
+
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
32
|
+
}
|
|
33
|
+
const existingConfig = existsSync(CONFIG_FILE) ? loadConfig() : {};
|
|
34
|
+
const mergedConfig = { ...existingConfig, ...config };
|
|
35
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(mergedConfig, null, 2), 'utf-8');
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Ошибка сохранения конфигурации: ${error instanceof Error ? error.message : String(error)}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Получает путь к директории конфигурации
|
|
43
|
+
*/
|
|
44
|
+
export function getConfigDir() {
|
|
45
|
+
return CONFIG_DIR;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Проверяет, существует ли конфигурация
|
|
49
|
+
*/
|
|
50
|
+
export function configExists() {
|
|
51
|
+
return existsSync(CONFIG_FILE);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAGhC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,EAAC,GAAG,cAAc,EAAE,GAAG,MAAM,EAAC,CAAC;QAEpD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Основной экспорт библиотеки
|
|
3
|
+
*/
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
export * from './config.js';
|
|
6
|
+
export * from './api/auth.js';
|
|
7
|
+
export * from './api/client.js';
|
|
8
|
+
export * from './api/apps.js';
|
|
9
|
+
export * from './api/payments.js';
|
|
10
|
+
export * from './api/payments-app.js';
|
|
11
|
+
export * from './api/catalog.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Основной экспорт библиотеки
|
|
3
|
+
*/
|
|
4
|
+
export * from './types.js';
|
|
5
|
+
export * from './config.js';
|
|
6
|
+
export * from './api/auth.js';
|
|
7
|
+
export * from './api/client.js';
|
|
8
|
+
export * from './api/apps.js';
|
|
9
|
+
export * from './api/payments.js';
|
|
10
|
+
export * from './api/payments-app.js';
|
|
11
|
+
export * from './api/catalog.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Типы для работы с RuStore API
|
|
3
|
+
*/
|
|
4
|
+
export interface AuthTokenResponse {
|
|
5
|
+
code: string;
|
|
6
|
+
message?: string;
|
|
7
|
+
body?: {
|
|
8
|
+
jwe: string;
|
|
9
|
+
ttl: number;
|
|
10
|
+
};
|
|
11
|
+
timestamp: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthRequest {
|
|
14
|
+
keyId: string;
|
|
15
|
+
timestamp: string;
|
|
16
|
+
signature: string;
|
|
17
|
+
}
|
|
18
|
+
export interface Config {
|
|
19
|
+
keyId?: string;
|
|
20
|
+
privateKey?: string;
|
|
21
|
+
token?: string;
|
|
22
|
+
tokenExpiresAt?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface ApiError {
|
|
25
|
+
code: string;
|
|
26
|
+
message?: string;
|
|
27
|
+
timestamp: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Типы для работы с приложениями
|
|
31
|
+
*/
|
|
32
|
+
export interface App {
|
|
33
|
+
appId: number;
|
|
34
|
+
packageName: string;
|
|
35
|
+
appName: string;
|
|
36
|
+
iconUrl: string;
|
|
37
|
+
appStatus: string;
|
|
38
|
+
versionName: string;
|
|
39
|
+
versionCode: number;
|
|
40
|
+
companyName: string;
|
|
41
|
+
shortDescription: string;
|
|
42
|
+
appVerUpdatedAt: string;
|
|
43
|
+
activePrice: number;
|
|
44
|
+
paid: boolean;
|
|
45
|
+
deviceType: string;
|
|
46
|
+
}
|
|
47
|
+
export interface GetAppListResponse {
|
|
48
|
+
code: string;
|
|
49
|
+
message?: string;
|
|
50
|
+
body: {
|
|
51
|
+
content: App[];
|
|
52
|
+
continuationToken?: string;
|
|
53
|
+
};
|
|
54
|
+
timestamp: string;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACJ,OAAO,EAAE,GAAG,EAAE,CAAC;QACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rustore",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "CLI для работы с RuStore API",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/romankurnovskii/rustore#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/romankurnovskii/rustore.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/romankurnovskii/rustore/issues"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"rustore",
|
|
16
|
+
"api",
|
|
17
|
+
"cli",
|
|
18
|
+
"russia",
|
|
19
|
+
"app-store"
|
|
20
|
+
],
|
|
21
|
+
"author": {
|
|
22
|
+
"name": "Roman Kurnovskii",
|
|
23
|
+
"email": "r.kurnovskii@gmail.com",
|
|
24
|
+
"url": "https://romankurnovskii.com"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"exports": {
|
|
29
|
+
".": {
|
|
30
|
+
"types": "./dist/index.d.ts",
|
|
31
|
+
"import": "./dist/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./package.json": "./package.json"
|
|
34
|
+
},
|
|
35
|
+
"bin": {
|
|
36
|
+
"rustore": "./dist/bin.js"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"start": "tsx src/bin.ts",
|
|
40
|
+
"build": "tsc",
|
|
41
|
+
"type-check": "tsc --noEmit",
|
|
42
|
+
"lint": "eslint \"{src,tests,example/src}/**/*.{ts,tsx}\"",
|
|
43
|
+
"lint:fix": "eslint --fix \"{src,tests,example/src}/**/*.{ts,tsx}\"",
|
|
44
|
+
"format": "prettier --write \"{src,tests,example/src}/**/*.{js,ts,jsx,tsx}\"",
|
|
45
|
+
"format:check": "prettier --check \"{src,tests,example/src}/**/*.{js,ts,jsx,tsx}\"",
|
|
46
|
+
"test": "jest --config jestconfig.json",
|
|
47
|
+
"test:watch": "jest --config jestconfig.json --watch",
|
|
48
|
+
"test:coverage": "jest --config jestconfig.json --coverage",
|
|
49
|
+
"prepare": "husky",
|
|
50
|
+
"prepublishOnly": "npm run type-check && npm run build && npm test && npm run format:check && npm run lint"
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"LICENSE",
|
|
55
|
+
"README.md"
|
|
56
|
+
],
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"commander": "^14.0.2"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
62
|
+
"@types/jest": "^30.0.0",
|
|
63
|
+
"@types/node": "^25.0.3",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
65
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
66
|
+
"eslint": "^9.39.2",
|
|
67
|
+
"eslint-config-prettier": "^10.1.8",
|
|
68
|
+
"husky": "^9.1.7",
|
|
69
|
+
"jest": "^30.2.0",
|
|
70
|
+
"lint-staged": "^16.2.7",
|
|
71
|
+
"prettier": "^3.7.4",
|
|
72
|
+
"ts-jest": "^29.4.6",
|
|
73
|
+
"tsx": "^4.21.0",
|
|
74
|
+
"typescript": "^5.9.3"
|
|
75
|
+
},
|
|
76
|
+
"engines": {
|
|
77
|
+
"node": ">=22.0.0"
|
|
78
|
+
},
|
|
79
|
+
"lint-staged": {
|
|
80
|
+
"*.{ts,tsx,js,jsx}": [
|
|
81
|
+
"eslint --fix",
|
|
82
|
+
"prettier --write"
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
}
|