@fab-orbita/cli 1.0.0 → 1.0.3

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.
Files changed (109) hide show
  1. package/bin/fab.js +1 -6
  2. package/dist/api/auth.d.ts +36 -0
  3. package/dist/api/auth.d.ts.map +1 -0
  4. package/dist/api/auth.js +33 -0
  5. package/dist/api/auth.js.map +1 -0
  6. package/dist/api/client.d.ts +4 -0
  7. package/dist/api/client.d.ts.map +1 -0
  8. package/dist/api/client.js +46 -0
  9. package/dist/api/client.js.map +1 -0
  10. package/dist/api/index.d.ts +7 -0
  11. package/dist/api/index.d.ts.map +1 -0
  12. package/dist/api/index.js +23 -0
  13. package/dist/api/index.js.map +1 -0
  14. package/dist/api/organizations.d.ts +26 -0
  15. package/dist/api/organizations.d.ts.map +1 -0
  16. package/dist/api/organizations.js +31 -0
  17. package/dist/api/organizations.js.map +1 -0
  18. package/dist/api/packages.d.ts +29 -0
  19. package/dist/api/packages.d.ts.map +1 -0
  20. package/dist/api/packages.js +44 -0
  21. package/dist/api/packages.js.map +1 -0
  22. package/dist/api/tokens.d.ts +22 -0
  23. package/dist/api/tokens.d.ts.map +1 -0
  24. package/dist/api/tokens.js +21 -0
  25. package/dist/api/tokens.js.map +1 -0
  26. package/dist/api/types.d.ts +31 -0
  27. package/dist/api/types.d.ts.map +1 -0
  28. package/dist/api/types.js +3 -0
  29. package/dist/api/types.js.map +1 -0
  30. package/dist/commands/config.d.ts +2 -0
  31. package/dist/commands/config.d.ts.map +1 -0
  32. package/dist/commands/config.js +32 -0
  33. package/dist/commands/config.js.map +1 -0
  34. package/dist/commands/doctor.d.ts +2 -0
  35. package/dist/commands/doctor.d.ts.map +1 -0
  36. package/dist/commands/doctor.js +34 -0
  37. package/dist/commands/doctor.js.map +1 -0
  38. package/dist/commands/info.d.ts +1 -5
  39. package/dist/commands/info.d.ts.map +1 -1
  40. package/dist/commands/info.js +4 -30
  41. package/dist/commands/info.js.map +1 -1
  42. package/dist/commands/init.d.ts +1 -7
  43. package/dist/commands/init.d.ts.map +1 -1
  44. package/dist/commands/init.js +18 -60
  45. package/dist/commands/init.js.map +1 -1
  46. package/dist/commands/install.d.ts +1 -7
  47. package/dist/commands/install.d.ts.map +1 -1
  48. package/dist/commands/install.js +4 -28
  49. package/dist/commands/install.js.map +1 -1
  50. package/dist/commands/login.d.ts +1 -1
  51. package/dist/commands/login.d.ts.map +1 -1
  52. package/dist/commands/login.js +53 -32
  53. package/dist/commands/login.js.map +1 -1
  54. package/dist/commands/logout.d.ts.map +1 -1
  55. package/dist/commands/logout.js +5 -7
  56. package/dist/commands/logout.js.map +1 -1
  57. package/dist/commands/org.d.ts +2 -0
  58. package/dist/commands/org.d.ts.map +1 -0
  59. package/dist/commands/org.js +9 -0
  60. package/dist/commands/org.js.map +1 -0
  61. package/dist/commands/publish.d.ts +1 -7
  62. package/dist/commands/publish.d.ts.map +1 -1
  63. package/dist/commands/publish.js +49 -37
  64. package/dist/commands/publish.js.map +1 -1
  65. package/dist/commands/register.d.ts +3 -0
  66. package/dist/commands/register.d.ts.map +1 -0
  67. package/dist/commands/register.js +73 -0
  68. package/dist/commands/register.js.map +1 -0
  69. package/dist/commands/search.d.ts +1 -6
  70. package/dist/commands/search.d.ts.map +1 -1
  71. package/dist/commands/search.js +4 -28
  72. package/dist/commands/search.js.map +1 -1
  73. package/dist/commands/token.d.ts +2 -0
  74. package/dist/commands/token.d.ts.map +1 -0
  75. package/dist/commands/token.js +9 -0
  76. package/dist/commands/token.js.map +1 -0
  77. package/dist/commands/uninstall.d.ts +6 -0
  78. package/dist/commands/uninstall.d.ts.map +1 -0
  79. package/dist/commands/uninstall.js +9 -0
  80. package/dist/commands/uninstall.js.map +1 -0
  81. package/dist/commands/update.d.ts +5 -0
  82. package/dist/commands/update.d.ts.map +1 -0
  83. package/dist/commands/update.js +9 -0
  84. package/dist/commands/update.js.map +1 -0
  85. package/dist/commands/whoami.d.ts +2 -0
  86. package/dist/commands/whoami.d.ts.map +1 -0
  87. package/dist/commands/whoami.js +15 -0
  88. package/dist/commands/whoami.js.map +1 -0
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +31 -47
  92. package/dist/index.js.map +1 -1
  93. package/dist/utils/config.d.ts +10 -8
  94. package/dist/utils/config.d.ts.map +1 -1
  95. package/dist/utils/config.js +43 -13
  96. package/dist/utils/config.js.map +1 -1
  97. package/dist/utils/helpers.d.ts +7 -0
  98. package/dist/utils/helpers.d.ts.map +1 -0
  99. package/dist/utils/helpers.js +47 -0
  100. package/dist/utils/helpers.js.map +1 -0
  101. package/dist/utils/logger.d.ts +2 -3
  102. package/dist/utils/logger.d.ts.map +1 -1
  103. package/dist/utils/logger.js +10 -7
  104. package/dist/utils/logger.js.map +1 -1
  105. package/dist/utils/tarball.d.ts +2 -0
  106. package/dist/utils/tarball.d.ts.map +1 -0
  107. package/dist/utils/tarball.js +36 -0
  108. package/dist/utils/tarball.js.map +1 -0
  109. package/package.json +5 -1
@@ -4,68 +4,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = init;
7
- const chalk_1 = __importDefault(require("chalk"));
8
7
  const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
10
8
  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));
9
+ const logger_1 = require("../utils/logger");
10
+ async function init() {
11
+ if (fs_1.default.existsSync('./fab.json')) {
12
+ logger_1.logger.error('fab.json уже существует');
13
+ process.exit(1);
69
14
  }
15
+ const answers = await inquirer_1.default.prompt([
16
+ { type: 'input', name: 'name', message: 'Имя пакета:', validate: (i) => !!i },
17
+ { type: 'input', name: 'version', message: 'Версия:', default: '1.0.0' },
18
+ { type: 'input', name: 'description', message: 'Описание:' },
19
+ ]);
20
+ const fabJson = {
21
+ name: answers.name,
22
+ version: answers.version,
23
+ description: answers.description,
24
+ main: 'index.js',
25
+ };
26
+ fs_1.default.writeFileSync('./fab.json', JSON.stringify(fabJson, null, 2));
27
+ logger_1.logger.success('fab.json создан');
70
28
  }
71
29
  //# sourceMappingURL=init.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAIA,uBAqBC;AAzBD,4CAAoB;AACpB,wDAAgC;AAChC,4CAAyC;AAE1B,KAAK,UAAU,IAAI;IAChC,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7E,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;QACxE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE;KAC7D,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACpC,CAAC"}
@@ -1,8 +1,2 @@
1
- interface InstallOptions {
2
- save?: boolean;
3
- saveDev?: boolean;
4
- global?: boolean;
5
- }
6
- export default function install(packageName: string, options: InstallOptions): Promise<void>;
7
- export {};
1
+ export default function install(packageName: string, isGlobal?: boolean): Promise<void>;
8
2
  //# sourceMappingURL=install.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAEA,wBAA8B,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,iBAG5E"}
@@ -1,33 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  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
- }
4
+ const logger_1 = require("../utils/logger");
5
+ async function install(packageName, isGlobal) {
6
+ logger_1.logger.info(`Установка ${packageName}${isGlobal ? ' (глобально)' : ''}...`);
7
+ logger_1.logger.info('Функция в разработке');
32
8
  }
33
9
  //# sourceMappingURL=install.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;AAEA,0BAGC;AALD,4CAAyC;AAE1B,KAAK,UAAU,OAAO,CAAC,WAAmB,EAAE,QAAkB;IAC3E,eAAM,CAAC,IAAI,CAAC,aAAa,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5E,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function login(): Promise<void>;
1
+ export default function login(registry?: string): Promise<void>;
2
2
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AASA,wBAA8B,KAAK,kBAwClC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAMA,wBAA8B,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,iBA8DpD"}
@@ -4,48 +4,69 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = login;
7
- const chalk_1 = __importDefault(require("chalk"));
8
7
  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([
8
+ const api_1 = require("../api");
9
+ const config_1 = require("../utils/config");
10
+ const helpers_1 = require("../utils/helpers");
11
+ const logger_1 = require("../utils/logger");
12
+ async function login(registry) {
13
+ // 1. Проверка реестра
14
+ let currentRegistry = registry || (0, config_1.getConfig)('registry');
15
+ if (!currentRegistry) {
16
+ const answer = await inquirer_1.default.prompt([
18
17
  {
19
18
  type: 'input',
20
- name: 'email',
21
- message: 'Email:',
22
- validate: (input) => input.includes('@') || 'Введите корректный email'
19
+ name: 'registry',
20
+ message: '🌐 URL реестра Fab Registry:',
21
+ default: 'https://fab.devorbit.ru/api/v1',
23
22
  },
24
- {
25
- type: 'password',
26
- name: 'password',
27
- message: 'Пароль:',
28
- mask: '*'
29
- }
30
23
  ]);
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}`));
24
+ currentRegistry = answer.registry;
25
+ (0, config_1.setConfig)('registry', currentRegistry);
26
+ }
27
+ // 2. Проверка доступности сервера
28
+ logger_1.logger.info(`Проверка подключения к ${currentRegistry}...`);
29
+ const isHealthy = await (0, helpers_1.checkServerHealth)();
30
+ if (!isHealthy) {
31
+ logger_1.logger.error(`Сервер недоступен: ${currentRegistry}`);
32
+ process.exit(1);
33
+ }
34
+ // 3. Ввод учётных данных
35
+ const answers = await inquirer_1.default.prompt([
36
+ {
37
+ type: 'input',
38
+ name: 'email',
39
+ message: '📧 Email:',
40
+ validate: (input) => input.includes('@') || 'Введите корректный email',
41
+ },
42
+ {
43
+ type: 'password',
44
+ name: 'password',
45
+ message: '🔒 Пароль:',
46
+ mask: '*',
47
+ },
48
+ ]);
49
+ // 4. Логин
50
+ try {
51
+ logger_1.logger.info('Выполняется вход...');
52
+ const response = await api_1.authApi.login(answers.email, answers.password);
53
+ if (response.success) {
54
+ (0, config_1.saveToken)(response.data.token);
55
+ (0, config_1.setConfig)('user', answers.email);
56
+ logger_1.logger.success(`Вход выполнен! Добро пожаловать, ${answers.email}`);
40
57
  }
41
58
  else {
42
- spinner.fail(chalk_1.default.red('Ошибка входа'));
43
- console.log(chalk_1.default.red(response.data.message || 'Неверный email или пароль'));
59
+ logger_1.logger.error('Ошибка входа');
44
60
  }
45
61
  }
46
62
  catch (error) {
47
- logger_1.default.error('Login error');
48
- console.log(chalk_1.default.red(' Ошибка подключения к серверу'));
63
+ if (error.response?.data?.error?.code === 'AUTH_003') {
64
+ logger_1.logger.error('Неверный email или пароль');
65
+ }
66
+ else {
67
+ logger_1.logger.error(error.response?.data?.error?.message || 'Ошибка подключения');
68
+ }
69
+ process.exit(1);
49
70
  }
50
71
  }
51
72
  //# sourceMappingURL=login.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;AAMA,wBA8DC;AApED,wDAAgC;AAChC,gCAAiC;AACjC,4CAAkE;AAClE,8CAAqD;AACrD,4CAAyC;AAE1B,KAAK,UAAU,KAAK,CAAC,QAAiB;IACnD,sBAAsB;IACtB,IAAI,eAAe,GAAG,QAAQ,IAAI,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAExD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACnC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,gCAAgC;aAC1C;SACF,CAAC,CAAC;QACH,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,IAAA,kBAAS,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,kCAAkC;IAClC,eAAM,CAAC,IAAI,CAAC,0BAA0B,eAAe,KAAK,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAiB,GAAE,CAAC;IAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,sBAAsB,eAAe,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yBAAyB;IACzB,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,0BAA0B;SACvE;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,GAAG;SACV;KACF,CAAC,CAAC;IAEH,WAAW;IACX,IAAI,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,aAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,IAAA,kBAAS,EAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAA,kBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACjC,eAAM,CAAC,OAAO,CAAC,oCAAoC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACrD,eAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAGA,wBAA8B,MAAM,kBAGnC"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAGA,wBAA8B,MAAM,kBAInC"}
@@ -1,13 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.default = logout;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const auth_1 = require("../utils/auth");
4
+ const config_1 = require("../utils/config");
5
+ const logger_1 = require("../utils/logger");
9
6
  async function logout() {
10
- (0, auth_1.clearToken)();
11
- console.log(chalk_1.default.green('✅ Вы вышли из системы'));
7
+ (0, config_1.deleteConfig)('token');
8
+ (0, config_1.deleteConfig)('user');
9
+ logger_1.logger.success('Вы вышли из системы');
12
10
  }
13
11
  //# sourceMappingURL=logout.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;AAGA,yBAIC;AAPD,4CAA+C;AAC/C,4CAAyC;AAE1B,KAAK,UAAU,MAAM;IAClC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACrB,eAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function org(action: string, args?: any): Promise<void>;
2
+ //# sourceMappingURL=org.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"AAEA,wBAA8B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,iBAG3D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = org;
4
+ const logger_1 = require("../utils/logger");
5
+ async function org(action, args) {
6
+ logger_1.logger.info(`Управление организациями: ${action}`);
7
+ logger_1.logger.info('Функция в разработке');
8
+ }
9
+ //# sourceMappingURL=org.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":";;AAEA,sBAGC;AALD,4CAAyC;AAE1B,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,IAAU;IAC1D,eAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACnD,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACtC,CAAC"}
@@ -1,8 +1,2 @@
1
- interface PublishOptions {
2
- version?: string;
3
- tag?: string;
4
- access?: string;
5
- }
6
- export default function publish(options: PublishOptions): Promise<void>;
7
- export {};
1
+ export default function publish(org?: string, version?: string): Promise<void>;
8
2
  //# sourceMappingURL=publish.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAQA,wBAA8B,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBAwDnE"}
@@ -4,47 +4,59 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = publish;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const ora_1 = __importDefault(require("ora"));
9
7
  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) {
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ const api_1 = require("../api");
10
+ const config_1 = require("../utils/config");
11
+ const helpers_1 = require("../utils/helpers");
12
+ const tarball_1 = require("../utils/tarball");
13
+ const logger_1 = require("../utils/logger");
14
+ async function publish(org, version) {
15
+ // 1. Проверка fab.json
16
+ if (!fs_1.default.existsSync('./fab.json')) {
17
+ logger_1.logger.error('fab.json не найден');
18
+ process.exit(1);
19
+ }
20
+ // 2. Чтение информации
21
+ const pkgInfo = (0, helpers_1.getPackageInfoFromDir)();
22
+ if (!pkgInfo) {
23
+ logger_1.logger.error('Не удалось прочитать fab.json');
24
+ process.exit(1);
25
+ }
26
+ const targetOrg = org || (0, helpers_1.getDefaultOrg)();
27
+ const targetVersion = version || pkgInfo.version;
28
+ if (!targetOrg) {
29
+ logger_1.logger.error('Организация не указана');
30
+ process.exit(1);
31
+ }
32
+ // 3. Проверка токена
33
+ const token = (0, config_1.getToken)();
34
+ if (!token) {
35
+ logger_1.logger.error('Необходима аутентификация');
36
+ process.exit(1);
37
+ }
38
+ // 4. Подтверждение
39
+ logger_1.logger.info(`📦 Пакет: ${targetOrg}/${pkgInfo.name}`);
40
+ logger_1.logger.info(`🔢 Версия: ${targetVersion}`);
41
+ const confirm = await inquirer_1.default.prompt([
42
+ { type: 'confirm', name: 'proceed', message: 'Опубликовать?', default: true },
43
+ ]);
44
+ if (!confirm.proceed) {
45
+ logger_1.logger.info('Отменено');
46
+ process.exit(0);
47
+ }
48
+ // 5. Публикация
15
49
  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);
50
+ logger_1.logger.info('Упаковка...');
51
+ const tarballPath = await (0, tarball_1.createTarball)(pkgInfo.name, targetVersion);
52
+ logger_1.logger.info('Публикация...');
53
+ const result = await api_1.packagesApi.publish(targetOrg, pkgInfo.name, targetVersion, tarballPath);
54
+ fs_1.default.unlinkSync(tarballPath);
55
+ logger_1.logger.success(`✅ Опубликован ${targetOrg}/${pkgInfo.name}@${targetVersion}`);
44
56
  }
45
57
  catch (error) {
46
- logger_1.default.error('Publish error');
47
- console.log(chalk_1.default.red('❌ Ошибка публикации:', error.message));
58
+ logger_1.logger.error(error.response?.data?.error?.message || 'Ошибка публикации');
59
+ process.exit(1);
48
60
  }
49
61
  }
50
62
  //# sourceMappingURL=publish.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":";;;;;AAQA,0BAwDC;AAhED,4CAAoB;AACpB,wDAAgC;AAChC,gCAAqC;AACrC,4CAAsD;AACtD,8CAAwE;AACxE,8CAAiD;AACjD,4CAAyC;AAE1B,KAAK,UAAU,OAAO,CAAC,GAAY,EAAE,OAAgB;IAClE,uBAAuB;IACvB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,eAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,IAAA,+BAAqB,GAAE,CAAC;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,IAAI,IAAA,uBAAa,GAAE,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAEjD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qBAAqB;IACrB,MAAM,KAAK,GAAG,IAAA,iBAAQ,GAAE,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,eAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,eAAM,CAAC,IAAI,CAAC,aAAa,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,eAAM,CAAC,IAAI,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;KAC9E,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAa,EAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAErE,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,iBAAW,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAE9F,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3B,eAAM,CAAC,OAAO,CAAC,iBAAiB,SAAS,IAAI,OAAO,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,mBAAmB,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function register(): Promise<void>;
2
+ export default register;
3
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":"AAMA,wBAAsB,QAAQ,kBAyD7B;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,73 @@
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.register = register;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const api_1 = require("../api");
9
+ const logger_1 = require("../utils/logger");
10
+ const login_1 = __importDefault(require("./login"));
11
+ async function register() {
12
+ const answers = await inquirer_1.default.prompt([
13
+ {
14
+ type: 'input',
15
+ name: 'email',
16
+ message: '📧 Email:',
17
+ validate: (input) => input.includes('@') || 'Введите корректный email',
18
+ },
19
+ {
20
+ type: 'input',
21
+ name: 'full_name',
22
+ message: '👤 Полное имя:',
23
+ },
24
+ {
25
+ type: 'password',
26
+ name: 'password',
27
+ message: '🔒 Пароль (минимум 8 символов, заглавные, строчные, цифры):',
28
+ mask: '*',
29
+ validate: (input) => {
30
+ if (input.length < 8)
31
+ return 'Пароль должен быть минимум 8 символов';
32
+ if (!/[A-Z]/.test(input))
33
+ return 'Пароль должен содержать заглавную букву';
34
+ if (!/[a-z]/.test(input))
35
+ return 'Пароль должен содержать строчную букву';
36
+ if (!/[0-9]/.test(input))
37
+ return 'Пароль должен содержать цифру';
38
+ return true;
39
+ },
40
+ },
41
+ {
42
+ type: 'confirm',
43
+ name: 'accept_terms',
44
+ message: '📋 Я принимаю условия использования',
45
+ default: false,
46
+ },
47
+ ]);
48
+ if (!answers.accept_terms) {
49
+ logger_1.logger.error('Необходимо принять условия использования');
50
+ process.exit(1);
51
+ }
52
+ try {
53
+ logger_1.logger.info('Регистрация...');
54
+ const response = await api_1.authApi.register(answers);
55
+ if (response.success) {
56
+ logger_1.logger.success(`Пользователь ${answers.email} успешно зарегистрирован!`);
57
+ logger_1.logger.info('Выполняется автоматический вход...');
58
+ await (0, login_1.default)();
59
+ }
60
+ }
61
+ catch (error) {
62
+ if (error.response?.data?.error?.code === 'RES_002') {
63
+ logger_1.logger.error('Пользователь с таким email уже существует');
64
+ logger_1.logger.warn('Используйте fab login для входа');
65
+ }
66
+ else {
67
+ logger_1.logger.error(error.response?.data?.error?.message || 'Ошибка регистрации');
68
+ }
69
+ process.exit(1);
70
+ }
71
+ }
72
+ exports.default = register;
73
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/commands/register.ts"],"names":[],"mappings":";;;;;AAMA,4BAyDC;AA/DD,wDAAgC;AAChC,gCAAiC;AAEjC,4CAAyC;AACzC,oDAA4B;AAErB,KAAK,UAAU,QAAQ;IAC5B,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,0BAA0B;SACvE;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gBAAgB;SAC1B;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,6DAA6D;YACtE,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,uCAAuC,CAAC;gBACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,yCAAyC,CAAC;gBAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,wCAAwC,CAAC;gBAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,+BAA+B,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;SACF;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,aAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,eAAM,CAAC,OAAO,CAAC,gBAAgB,OAAO,CAAC,KAAK,2BAA2B,CAAC,CAAC;YACzE,eAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,IAAA,eAAK,GAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACpD,eAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,kBAAe,QAAQ,CAAC"}
@@ -1,7 +1,2 @@
1
- interface SearchOptions {
2
- org?: string;
3
- json?: boolean;
4
- }
5
- export default function search(query: string, options: SearchOptions): Promise<void>;
6
- export {};
1
+ export default function search(query: string, limit?: number): Promise<void>;
7
2
  //# sourceMappingURL=search.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAEA,wBAA8B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,iBAGjE"}