@fab-orbita/cli 1.0.0
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/bin/fab.js +8 -0
- package/dist/commands/info.d.ts +6 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +35 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +71 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +8 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +33 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +51 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +2 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +13 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/publish.d.ts +8 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +50 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/search.d.ts +7 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +33 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/auth.d.ts +8 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +28 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/config.d.ts +14 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +30 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +15 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +52 -0
package/bin/fab.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAA8B,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,iBA6B3E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = info;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
async function info(packageName, options) {
|
|
9
|
+
try {
|
|
10
|
+
console.log(chalk_1.default.cyan(`\n📦 Информация о пакете: ${packageName}\n`));
|
|
11
|
+
const pkgInfo = {
|
|
12
|
+
name: packageName,
|
|
13
|
+
version: '1.2.0',
|
|
14
|
+
description: 'Пример описания пакета',
|
|
15
|
+
license: 'MIT',
|
|
16
|
+
downloads: 1234,
|
|
17
|
+
created: '2026-01-15',
|
|
18
|
+
versions: ['1.2.0', '1.1.0', '1.0.0']
|
|
19
|
+
};
|
|
20
|
+
if (options.json) {
|
|
21
|
+
console.log(JSON.stringify(pkgInfo, null, 2));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
console.log(chalk_1.default.white(` Версия: ${chalk_1.default.bold(pkgInfo.version)}`));
|
|
25
|
+
console.log(chalk_1.default.white(` Описание: ${pkgInfo.description}`));
|
|
26
|
+
console.log(chalk_1.default.white(` Лицензия: ${pkgInfo.license}`));
|
|
27
|
+
console.log(chalk_1.default.white(` Скачиваний: ${pkgInfo.downloads}`));
|
|
28
|
+
console.log(chalk_1.default.white(` Создан: ${pkgInfo.created}`));
|
|
29
|
+
console.log(chalk_1.default.white(`\n Версии: ${pkgInfo.versions.join(', ')}`));
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.log(chalk_1.default.red('❌ Ошибка:', error.message));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":";;;;;AAOA,uBA6BC;AApCD,kDAA0B;AAOX,KAAK,UAAU,IAAI,CAAC,WAAmB,EAAE,OAAoB;IAC1E,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,WAAW,IAAI,CAAC,CAAC,CAAC;QAEtE,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,wBAAwB;YACrC,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;SACtC,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAA8B,IAAI,CAAC,OAAO,EAAE,WAAW,iBAgEtD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = init;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
async function init(options) {
|
|
12
|
+
try {
|
|
13
|
+
console.log(chalk_1.default.cyan('\n📝 Создание fab.json\n'));
|
|
14
|
+
const fabJsonPath = path_1.default.join(process.cwd(), 'fab.json');
|
|
15
|
+
if (fs_1.default.existsSync(fabJsonPath)) {
|
|
16
|
+
console.log(chalk_1.default.yellow('⚠️ fab.json уже существует'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
let answers;
|
|
20
|
+
if (options.yes) {
|
|
21
|
+
answers = {
|
|
22
|
+
name: options.name || path_1.default.basename(process.cwd()),
|
|
23
|
+
version: options.version || '1.0.0',
|
|
24
|
+
description: '',
|
|
25
|
+
license: 'MIT'
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
answers = await inquirer_1.default.prompt([
|
|
30
|
+
{
|
|
31
|
+
type: 'input',
|
|
32
|
+
name: 'name',
|
|
33
|
+
message: 'Имя пакета:',
|
|
34
|
+
default: path_1.default.basename(process.cwd())
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
type: 'input',
|
|
38
|
+
name: 'version',
|
|
39
|
+
message: 'Версия:',
|
|
40
|
+
default: '1.0.0'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: 'input',
|
|
44
|
+
name: 'description',
|
|
45
|
+
message: 'Описание:'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: 'input',
|
|
49
|
+
name: 'license',
|
|
50
|
+
message: 'Лицензия:',
|
|
51
|
+
default: 'MIT'
|
|
52
|
+
}
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
const fabJson = {
|
|
56
|
+
name: answers.name,
|
|
57
|
+
version: answers.version,
|
|
58
|
+
description: answers.description,
|
|
59
|
+
main: 'index.js',
|
|
60
|
+
license: answers.license,
|
|
61
|
+
dependencies: {},
|
|
62
|
+
devDependencies: {}
|
|
63
|
+
};
|
|
64
|
+
fs_1.default.writeFileSync(fabJsonPath, JSON.stringify(fabJson, null, 2));
|
|
65
|
+
console.log(chalk_1.default.green(`✅ Создан ${fabJsonPath}`));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.log(chalk_1.default.red('❌ Ошибка создания:', error.message));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAWA,uBAgEC;AA3ED,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,wDAAgC;AAQjB,KAAK,UAAU,IAAI,CAAC,OAAoB;IACrD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC;QAEZ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,GAAG;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO;gBACnC,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAC9B;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,aAAa;oBACtB,OAAO,EAAE,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;iBACtC;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,OAAO;iBACjB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,WAAW;iBACrB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC,CAAC;IAEtD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAQA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAA8B,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,iBAyBjF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = install;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const auth_1 = require("../utils/auth");
|
|
10
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
11
|
+
const API_URL = (0, auth_1.getConfig)('registry') || 'https://fab.devorbit.ru/api/v1';
|
|
12
|
+
async function install(packageName, options) {
|
|
13
|
+
try {
|
|
14
|
+
console.log(chalk_1.default.cyan(`\n📥 Установка ${packageName}\n`));
|
|
15
|
+
const token = (0, auth_1.getToken)();
|
|
16
|
+
const spinner = (0, ora_1.default)('Поиск пакета...').start();
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
spinner.succeed(chalk_1.default.green(`✅ Пакет ${packageName} найден`));
|
|
19
|
+
console.log(chalk_1.default.white(`\n📦 ${packageName}`));
|
|
20
|
+
console.log(chalk_1.default.gray(` Версия: 1.0.0`));
|
|
21
|
+
console.log(chalk_1.default.gray(` Скачиваний: 1234`));
|
|
22
|
+
if (options.save) {
|
|
23
|
+
console.log(chalk_1.default.yellow('\n📝 Сохранено в fab.json'));
|
|
24
|
+
}
|
|
25
|
+
console.log(chalk_1.default.green('\n✅ Установка завершена'));
|
|
26
|
+
}, 1500);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
logger_1.default.error('Install error');
|
|
30
|
+
console.log(chalk_1.default.red('❌ Ошибка установки:', error.message));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;AAcA,0BAyBC;AAvCD,kDAA0B;AAC1B,8CAAsB;AAEtB,wCAAoD;AACpD,6DAAqC;AAErC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,gCAAgC,CAAC;AAQ3D,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,OAAuB;IAChF,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,IAAI,CAAC,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAG,IAAA,eAAQ,GAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,WAAW,SAAS,CAAC,CAAC,CAAC;YAE9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACtD,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,gBAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AASA,wBAA8B,KAAK,kBAwClC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = login;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
const auth_1 = require("../utils/auth");
|
|
12
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
13
|
+
const API_URL = (0, auth_1.getConfig)('registry') || 'https://fab.devorbit.ru/api/v1';
|
|
14
|
+
async function login() {
|
|
15
|
+
try {
|
|
16
|
+
console.log(chalk_1.default.cyan('\n🔐 Вход в Fab Registry\n'));
|
|
17
|
+
const answers = await inquirer_1.default.prompt([
|
|
18
|
+
{
|
|
19
|
+
type: 'input',
|
|
20
|
+
name: 'email',
|
|
21
|
+
message: 'Email:',
|
|
22
|
+
validate: (input) => input.includes('@') || 'Введите корректный email'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: 'password',
|
|
26
|
+
name: 'password',
|
|
27
|
+
message: 'Пароль:',
|
|
28
|
+
mask: '*'
|
|
29
|
+
}
|
|
30
|
+
]);
|
|
31
|
+
const spinner = (0, ora_1.default)('Выполняется вход...').start();
|
|
32
|
+
const response = await axios_1.default.post(`${API_URL}/auth/login`, {
|
|
33
|
+
email: answers.email,
|
|
34
|
+
password: answers.password
|
|
35
|
+
});
|
|
36
|
+
if (response.data.success) {
|
|
37
|
+
const { accessToken, refreshToken, user } = response.data.data;
|
|
38
|
+
(0, auth_1.saveToken)(accessToken, refreshToken);
|
|
39
|
+
spinner.succeed(chalk_1.default.green(`✅ Вы вошли как ${user.email}`));
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
spinner.fail(chalk_1.default.red('Ошибка входа'));
|
|
43
|
+
console.log(chalk_1.default.red(response.data.message || 'Неверный email или пароль'));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logger_1.default.error('Login error');
|
|
48
|
+
console.log(chalk_1.default.red('❌ Ошибка подключения к серверу'));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;AASA,wBAwCC;AAjDD,kDAA0B;AAC1B,wDAAgC;AAChC,8CAAsB;AACtB,kDAA0B;AAC1B,wCAAqD;AACrD,6DAAqC;AAErC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,gCAAgC,CAAC;AAE3D,KAAK,UAAU,KAAK;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,0BAA0B;aAC/E;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,OAAO,aAAa,EAAE;YACzD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAE/D,IAAA,gBAAS,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAErC,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,gBAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAGA,wBAA8B,MAAM,kBAGnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = logout;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const auth_1 = require("../utils/auth");
|
|
9
|
+
async function logout() {
|
|
10
|
+
(0, auth_1.clearToken)();
|
|
11
|
+
console.log(chalk_1.default.green('✅ Вы вышли из системы'));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=logout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;;;;AAGA,yBAGC;AAND,kDAA0B;AAC1B,wCAA2C;AAE5B,KAAK,UAAU,MAAM;IAClC,IAAA,iBAAU,GAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAUA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAA8B,OAAO,CAAC,OAAO,EAAE,cAAc,iBAyC5D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = publish;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const ora_1 = __importDefault(require("ora"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const auth_1 = require("../utils/auth");
|
|
12
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
13
|
+
const API_URL = (0, auth_1.getConfig)('registry') || 'https://fab.devorbit.ru/api/v1';
|
|
14
|
+
async function publish(options) {
|
|
15
|
+
try {
|
|
16
|
+
console.log(chalk_1.default.cyan('\n📦 Публикация пакета\n'));
|
|
17
|
+
const token = (0, auth_1.getToken)();
|
|
18
|
+
if (!token) {
|
|
19
|
+
console.log(chalk_1.default.red('❌ Вы не авторизованы. Выполните fab login'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const fabJsonPath = path_1.default.join(process.cwd(), 'fab.json');
|
|
23
|
+
if (!fs_1.default.existsSync(fabJsonPath)) {
|
|
24
|
+
console.log(chalk_1.default.red('❌ Файл fab.json не найден. Выполните fab init'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const fabJson = JSON.parse(fs_1.default.readFileSync(fabJsonPath, 'utf-8'));
|
|
28
|
+
const packageName = fabJson.name;
|
|
29
|
+
const version = options.version || fabJson.version;
|
|
30
|
+
if (!packageName) {
|
|
31
|
+
console.log(chalk_1.default.red('❌ В fab.json не указано имя пакета'));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const spinner = (0, ora_1.default)('Подготовка пакета...').start();
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
spinner.succeed(chalk_1.default.green(`✅ Пакет ${packageName}@${version} готов к публикации`));
|
|
37
|
+
console.log(chalk_1.default.yellow('\n⚠️ Реальная публикация требует подключения к API бекенда'));
|
|
38
|
+
console.log(chalk_1.default.gray(`\n📋 Данные для публикации:`));
|
|
39
|
+
console.log(chalk_1.default.gray(` Имя: ${packageName}`));
|
|
40
|
+
console.log(chalk_1.default.gray(` Версия: ${version}`));
|
|
41
|
+
console.log(chalk_1.default.gray(` Тег: ${options.tag || 'latest'}`));
|
|
42
|
+
console.log(chalk_1.default.gray(` Доступ: ${options.access || 'public'}`));
|
|
43
|
+
}, 1500);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger_1.default.error('Publish error');
|
|
47
|
+
console.log(chalk_1.default.red('❌ Ошибка публикации:', error.message));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":";;;;;AAgBA,0BAyCC;AAzDD,kDAA0B;AAC1B,8CAAsB;AACtB,4CAAoB;AACpB,gDAAwB;AACxB,wCAAoD;AAEpD,6DAAqC;AAErC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,gCAAgC,CAAC;AAQ3D,KAAK,UAAU,OAAO,CAAC,OAAuB;IAC3D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAA,eAAQ,GAAE,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEpD,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,WAAW,IAAI,OAAO,qBAAqB,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,gBAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAA8B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,iBAyBzE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = search;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const auth_1 = require("../utils/auth");
|
|
9
|
+
const API_URL = (0, auth_1.getConfig)('registry') || 'https://fab.devorbit.ru/api/v1';
|
|
10
|
+
async function search(query, options) {
|
|
11
|
+
try {
|
|
12
|
+
console.log(chalk_1.default.cyan(`\n🔍 Поиск: ${query}\n`));
|
|
13
|
+
const mockPackages = [
|
|
14
|
+
{ name: 'mycompany/deploy-tool', description: 'Утилита для деплоя', downloads: 1234 },
|
|
15
|
+
{ name: 'acme-corp/utils', description: 'Набор утилит', downloads: 567 },
|
|
16
|
+
{ name: 'opensource/logger', description: 'Логгер для Node.js', downloads: 890 }
|
|
17
|
+
];
|
|
18
|
+
if (options.json) {
|
|
19
|
+
console.log(JSON.stringify(mockPackages, null, 2));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
mockPackages.forEach((pkg, index) => {
|
|
23
|
+
console.log(chalk_1.default.white(`${index + 1}. ${chalk_1.default.bold(pkg.name)}`));
|
|
24
|
+
console.log(chalk_1.default.gray(` ${pkg.description}`));
|
|
25
|
+
console.log(chalk_1.default.gray(` 📥 ${pkg.downloads} скачиваний`));
|
|
26
|
+
console.log('');
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.log(chalk_1.default.red('❌ Ошибка поиска:', error.message));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":";;;;;AAWA,yBAyBC;AApCD,kDAA0B;AAE1B,wCAA0C;AAE1C,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,gCAAgC,CAAC;AAO3D,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,OAAsB;IACxE,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG;YACnB,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE;YACrF,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE;YACxE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,EAAE;SACjF,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IAEL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAgEA,wBAAsB,IAAI,kBAEzB"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.main = main;
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const login_1 = __importDefault(require("./commands/login"));
|
|
11
|
+
const logout_1 = __importDefault(require("./commands/logout"));
|
|
12
|
+
const publish_1 = __importDefault(require("./commands/publish"));
|
|
13
|
+
const install_1 = __importDefault(require("./commands/install"));
|
|
14
|
+
const search_1 = __importDefault(require("./commands/search"));
|
|
15
|
+
const info_1 = __importDefault(require("./commands/info"));
|
|
16
|
+
const init_1 = __importDefault(require("./commands/init"));
|
|
17
|
+
commander_1.program
|
|
18
|
+
.name('fab')
|
|
19
|
+
.description(chalk_1.default.cyan('CLI для работы с реестром пакетов Fab Registry'))
|
|
20
|
+
.version('1.0.0');
|
|
21
|
+
commander_1.program
|
|
22
|
+
.command('login')
|
|
23
|
+
.description('Вход в реестр')
|
|
24
|
+
.action(login_1.default);
|
|
25
|
+
commander_1.program
|
|
26
|
+
.command('logout')
|
|
27
|
+
.description('Выход из реестра')
|
|
28
|
+
.action(logout_1.default);
|
|
29
|
+
commander_1.program
|
|
30
|
+
.command('publish')
|
|
31
|
+
.description('Публикация пакета')
|
|
32
|
+
.option('--version <version>', 'Версия пакета')
|
|
33
|
+
.option('--tag <tag>', 'Метка (latest, beta, alpha)', 'latest')
|
|
34
|
+
.option('--access <level>', 'Доступ (public, restricted)', 'public')
|
|
35
|
+
.action(publish_1.default);
|
|
36
|
+
commander_1.program
|
|
37
|
+
.command('install <package>')
|
|
38
|
+
.description('Установка пакета')
|
|
39
|
+
.option('--save', 'Сохранить в зависимости')
|
|
40
|
+
.option('--save-dev', 'Сохранить в devDependencies')
|
|
41
|
+
.option('--global', 'Установить глобально')
|
|
42
|
+
.action(install_1.default);
|
|
43
|
+
commander_1.program
|
|
44
|
+
.command('search <query>')
|
|
45
|
+
.description('Поиск пакетов')
|
|
46
|
+
.option('--org <slug>', 'Поиск в организации')
|
|
47
|
+
.option('--json', 'Вывод в формате JSON')
|
|
48
|
+
.action(search_1.default);
|
|
49
|
+
commander_1.program
|
|
50
|
+
.command('info <package>')
|
|
51
|
+
.description('Информация о пакете')
|
|
52
|
+
.option('--json', 'Вывод в формате JSON')
|
|
53
|
+
.action(info_1.default);
|
|
54
|
+
commander_1.program
|
|
55
|
+
.command('init')
|
|
56
|
+
.description('Создание fab.json')
|
|
57
|
+
.option('--name <name>', 'Имя пакета')
|
|
58
|
+
.option('--version <version>', 'Версия', '1.0.0')
|
|
59
|
+
.option('--yes', 'Использовать значения по умолчанию')
|
|
60
|
+
.action(init_1.default);
|
|
61
|
+
async function main() {
|
|
62
|
+
await commander_1.program.parseAsync();
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAgEA,oBAEC;AAhED,yCAAoC;AACpC,kDAA0B;AAC1B,6DAAqC;AACrC,+DAAuC;AACvC,iEAAyC;AACzC,iEAAyC;AACzC,+DAAuC;AACvC,2DAAmC;AACnC,2DAAmC;AAEnC,mBAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;KACzE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,mBAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,eAAK,CAAC,CAAC;AAEjB,mBAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,gBAAM,CAAC,CAAC;AAElB,mBAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;KAC9C,MAAM,CAAC,aAAa,EAAE,6BAA6B,EAAE,QAAQ,CAAC;KAC9D,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,EAAE,QAAQ,CAAC;KACnE,MAAM,CAAC,iBAAO,CAAC,CAAC;AAEnB,mBAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,YAAY,EAAE,6BAA6B,CAAC;KACnD,MAAM,CAAC,UAAU,EAAE,sBAAsB,CAAC;KAC1C,MAAM,CAAC,iBAAO,CAAC,CAAC;AAEnB,mBAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAAC;KAC7C,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,gBAAM,CAAC,CAAC;AAElB,mBAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,qBAAqB,CAAC;KAClC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,cAAI,CAAC,CAAC;AAEhB,mBAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC;KACrC,MAAM,CAAC,qBAAqB,EAAE,QAAQ,EAAE,OAAO,CAAC;KAChD,MAAM,CAAC,OAAO,EAAE,oCAAoC,CAAC;KACrD,MAAM,CAAC,cAAI,CAAC,CAAC;AAET,KAAK,UAAU,IAAI;IACxB,MAAM,mBAAO,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getConfig } from './config';
|
|
2
|
+
export declare function saveToken(accessToken: string, refreshToken: string): void;
|
|
3
|
+
export declare function getToken(): string | undefined;
|
|
4
|
+
export declare function getRefreshToken(): string | undefined;
|
|
5
|
+
export declare function clearToken(): void;
|
|
6
|
+
export declare function isAuthenticated(): boolean;
|
|
7
|
+
export { getConfig };
|
|
8
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,UAAU,CAAC;AAE9D,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAGzE;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7C;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD;AAED,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAGD,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConfig = void 0;
|
|
4
|
+
exports.saveToken = saveToken;
|
|
5
|
+
exports.getToken = getToken;
|
|
6
|
+
exports.getRefreshToken = getRefreshToken;
|
|
7
|
+
exports.clearToken = clearToken;
|
|
8
|
+
exports.isAuthenticated = isAuthenticated;
|
|
9
|
+
const config_1 = require("./config");
|
|
10
|
+
Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return config_1.getConfig; } });
|
|
11
|
+
function saveToken(accessToken, refreshToken) {
|
|
12
|
+
(0, config_1.setConfig)('token', accessToken);
|
|
13
|
+
(0, config_1.setConfig)('refreshToken', refreshToken);
|
|
14
|
+
}
|
|
15
|
+
function getToken() {
|
|
16
|
+
return (0, config_1.getConfig)('token');
|
|
17
|
+
}
|
|
18
|
+
function getRefreshToken() {
|
|
19
|
+
return (0, config_1.getConfig)('refreshToken');
|
|
20
|
+
}
|
|
21
|
+
function clearToken() {
|
|
22
|
+
(0, config_1.deleteConfig)('token');
|
|
23
|
+
(0, config_1.deleteConfig)('refreshToken');
|
|
24
|
+
}
|
|
25
|
+
function isAuthenticated() {
|
|
26
|
+
return !!getToken();
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":";;;AAEA,8BAGC;AAED,4BAEC;AAED,0CAEC;AAED,gCAGC;AAED,0CAEC;AAtBD,qCAA8D;AAyBrD,0FAzBA,kBAAS,OAyBA;AAvBlB,SAAgB,SAAS,CAAC,WAAmB,EAAE,YAAoB;IACjE,IAAA,kBAAS,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAChC,IAAA,kBAAS,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,QAAQ;IACtB,OAAO,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,UAAU;IACxB,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import Conf from 'conf';
|
|
2
|
+
interface Config {
|
|
3
|
+
token?: string;
|
|
4
|
+
refreshToken?: string;
|
|
5
|
+
registry?: string;
|
|
6
|
+
defaultOrg?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const config: Conf<Config>;
|
|
9
|
+
export declare function getConfig(key: keyof Config): string | undefined;
|
|
10
|
+
export declare function setConfig(key: keyof Config, value: string): void;
|
|
11
|
+
export declare function deleteConfig(key: keyof Config): void;
|
|
12
|
+
export declare function getAllConfig(): Config;
|
|
13
|
+
export default config;
|
|
14
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,MAAM,cAKV,CAAC;AAEH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,CAEpD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getConfig = getConfig;
|
|
7
|
+
exports.setConfig = setConfig;
|
|
8
|
+
exports.deleteConfig = deleteConfig;
|
|
9
|
+
exports.getAllConfig = getAllConfig;
|
|
10
|
+
const conf_1 = __importDefault(require("conf"));
|
|
11
|
+
const config = new conf_1.default({
|
|
12
|
+
projectName: 'fab',
|
|
13
|
+
defaults: {
|
|
14
|
+
registry: 'https://fab.devorbit.ru'
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
function getConfig(key) {
|
|
18
|
+
return config.get(key);
|
|
19
|
+
}
|
|
20
|
+
function setConfig(key, value) {
|
|
21
|
+
config.set(key, value);
|
|
22
|
+
}
|
|
23
|
+
function deleteConfig(key) {
|
|
24
|
+
config.delete(key);
|
|
25
|
+
}
|
|
26
|
+
function getAllConfig() {
|
|
27
|
+
return config.store;
|
|
28
|
+
}
|
|
29
|
+
exports.default = config;
|
|
30
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;AAgBA,8BAEC;AAED,8BAEC;AAED,oCAEC;AAED,oCAEC;AA9BD,gDAAwB;AASxB,MAAM,MAAM,GAAG,IAAI,cAAI,CAAS;IAC9B,WAAW,EAAE,KAAK;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,yBAAyB;KACpC;CACF,CAAC,CAAC;AAEH,SAAgB,SAAS,CAAC,GAAiB;IACzC,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,SAAS,CAAC,GAAiB,EAAE,KAAa;IACxD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,YAAY,CAAC,GAAiB;IAC5C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;gBACE,MAAM;mBACH,MAAM;iBACR,MAAM;gBACP,MAAM;iBACL,MAAM;CACpB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
7
|
+
const logger = {
|
|
8
|
+
info: (msg) => console.log(chalk_1.default.blue(msg)),
|
|
9
|
+
success: (msg) => console.log(chalk_1.default.green(msg)),
|
|
10
|
+
error: (msg) => console.log(chalk_1.default.red(msg)),
|
|
11
|
+
warn: (msg) => console.log(chalk_1.default.yellow(msg)),
|
|
12
|
+
debug: (msg) => console.log(chalk_1.default.gray(msg))
|
|
13
|
+
};
|
|
14
|
+
exports.default = logger;
|
|
15
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrD,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;CACrD,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fab-orbita/cli",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "CLI for Fab Registry — российский реестр пакетов",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"fab": "./bin/fab.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"dev": "ts-node src/index.ts",
|
|
13
|
+
"start": "node dist/index.js",
|
|
14
|
+
"prepublishOnly": "npm run build"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"fab",
|
|
18
|
+
"registry",
|
|
19
|
+
"cli",
|
|
20
|
+
"package-manager"
|
|
21
|
+
],
|
|
22
|
+
"author": "DevOrbit",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"axios": "^1.6.0",
|
|
29
|
+
"chalk": "^5.3.0",
|
|
30
|
+
"commander": "^11.1.0",
|
|
31
|
+
"conf": "^11.0.2",
|
|
32
|
+
"inquirer": "^9.2.0",
|
|
33
|
+
"open": "^9.1.0",
|
|
34
|
+
"ora": "^7.0.1",
|
|
35
|
+
"tar": "^6.2.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/inquirer": "^9.0.0",
|
|
39
|
+
"@types/node": "^20.0.0",
|
|
40
|
+
"@types/tar": "^6.1.0",
|
|
41
|
+
"ts-node": "^10.9.0",
|
|
42
|
+
"typescript": "^5.0.0"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=18.0.0"
|
|
46
|
+
},
|
|
47
|
+
"files": [
|
|
48
|
+
"dist",
|
|
49
|
+
"bin",
|
|
50
|
+
"README.md"
|
|
51
|
+
]
|
|
52
|
+
}
|