@sinoia/hubdoc-tools 1.3.8 ā 1.4.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/dist/commands/export-v2.d.ts +45 -0
- package/dist/commands/export-v2.d.ts.map +1 -0
- package/dist/commands/export-v2.js +369 -0
- package/dist/commands/export-v2.js.map +1 -0
- package/dist/commands/import-v2.d.ts +32 -0
- package/dist/commands/import-v2.d.ts.map +1 -0
- package/dist/commands/import-v2.js +331 -0
- package/dist/commands/import-v2.js.map +1 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +10 -2
- package/dist/commands/import.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/alfresco/plugin.json +1 -1
- package/dist/plugins/aws-s3/plugin.json +1 -1
- package/dist/plugins/azure-blob/plugin.json +1 -1
- package/dist/plugins/box/plugin.json +1 -1
- package/dist/plugins/core/plugin.json +1 -1
- package/dist/plugins/nuxeo/plugin.json +1 -1
- package/dist/plugins/o365-mail/index.d.ts +26 -0
- package/dist/plugins/o365-mail/index.d.ts.map +1 -0
- package/dist/plugins/o365-mail/index.js +392 -0
- package/dist/plugins/o365-mail/index.js.map +1 -0
- package/dist/plugins/o365-mail/plugin.json +8 -0
- package/dist/plugins/opentext/plugin.json +1 -1
- package/dist/plugins/sharepoint/plugin.json +1 -1
- package/dist/services/hubdoc-api-v2.d.ts +150 -0
- package/dist/services/hubdoc-api-v2.d.ts.map +1 -0
- package/dist/services/hubdoc-api-v2.js +418 -0
- package/dist/services/hubdoc-api-v2.js.map +1 -0
- package/dist/services/hubdoc-client.d.ts +246 -0
- package/dist/services/hubdoc-client.d.ts.map +1 -0
- package/dist/services/hubdoc-client.js +714 -0
- package/dist/services/hubdoc-client.js.map +1 -0
- package/dist/services/hubdoc-export-service.d.ts +90 -0
- package/dist/services/hubdoc-export-service.d.ts.map +1 -0
- package/dist/services/hubdoc-export-service.js +443 -0
- package/dist/services/hubdoc-export-service.js.map +1 -0
- package/dist/services/hubdoc-export-v2.d.ts +77 -0
- package/dist/services/hubdoc-export-v2.d.ts.map +1 -0
- package/dist/services/hubdoc-export-v2.js +329 -0
- package/dist/services/hubdoc-export-v2.js.map +1 -0
- package/dist/services/hubdoc-import-service.d.ts +64 -0
- package/dist/services/hubdoc-import-service.d.ts.map +1 -0
- package/dist/services/hubdoc-import-service.js +374 -0
- package/dist/services/hubdoc-import-service.js.map +1 -0
- package/dist/test/hubdoc-api-test.d.ts +8 -0
- package/dist/test/hubdoc-api-test.d.ts.map +1 -0
- package/dist/test/hubdoc-api-test.js +152 -0
- package/dist/test/hubdoc-api-test.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ExportOptions } from '../types/export';
|
|
2
|
+
import { HubDocConfig } from '../types';
|
|
3
|
+
export declare class ExportCommandV2 {
|
|
4
|
+
private exportService;
|
|
5
|
+
private csvManager;
|
|
6
|
+
constructor(config: HubDocConfig);
|
|
7
|
+
execute(options: ExportOptions): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Execute scan mode - generate export mapping
|
|
10
|
+
*/
|
|
11
|
+
private executeScan;
|
|
12
|
+
/**
|
|
13
|
+
* Execute export mode - download documents
|
|
14
|
+
*/
|
|
15
|
+
private executeExport;
|
|
16
|
+
/**
|
|
17
|
+
* Execute search-based scan
|
|
18
|
+
*/
|
|
19
|
+
private executeSearchBasedScan;
|
|
20
|
+
/**
|
|
21
|
+
* Get interactive scan configuration
|
|
22
|
+
*/
|
|
23
|
+
private getInteractiveScanConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Show export preview
|
|
26
|
+
*/
|
|
27
|
+
private showExportPreview;
|
|
28
|
+
/**
|
|
29
|
+
* Show scan summary
|
|
30
|
+
*/
|
|
31
|
+
private showScanSummary;
|
|
32
|
+
/**
|
|
33
|
+
* Show export summary
|
|
34
|
+
*/
|
|
35
|
+
private showExportSummary;
|
|
36
|
+
/**
|
|
37
|
+
* Show created directory structure
|
|
38
|
+
*/
|
|
39
|
+
private showCreatedStructure;
|
|
40
|
+
/**
|
|
41
|
+
* Format file size for display
|
|
42
|
+
*/
|
|
43
|
+
private formatFileSize;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=export-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-v2.d.ts","sourceRoot":"","sources":["../../src/commands/export-v2.ts"],"names":[],"mappings":"AAMA,OAAO,EAA+B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,UAAU,CAAmB;gBAEzB,MAAM,EAAE,YAAY;IAK1B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpD;;OAEG;YACW,WAAW;IA0DzB;;OAEG;YACW,aAAa;IA8E3B;;OAEG;YACW,sBAAsB;IAmCpC;;OAEG;YACW,wBAAwB;IAsBtC;;OAEG;YACW,iBAAiB;IA2C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4CvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAYvB"}
|
|
@@ -0,0 +1,369 @@
|
|
|
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.ExportCommandV2 = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
const hubdoc_export_v2_1 = require("../services/hubdoc-export-v2");
|
|
12
|
+
const export_csv_1 = require("../utils/export-csv");
|
|
13
|
+
class ExportCommandV2 {
|
|
14
|
+
constructor(config) {
|
|
15
|
+
this.exportService = new hubdoc_export_v2_1.HubDocExportServiceV2(config);
|
|
16
|
+
this.csvManager = new export_csv_1.ExportCsvManager();
|
|
17
|
+
}
|
|
18
|
+
async execute(options) {
|
|
19
|
+
const spinner = (0, ora_1.default)('Starting export process...').start();
|
|
20
|
+
try {
|
|
21
|
+
// Test API connection first
|
|
22
|
+
const isConnected = await this.exportService.testConnection();
|
|
23
|
+
if (!isConnected) {
|
|
24
|
+
spinner.fail('Failed to connect to HubDoc API');
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
spinner.succeed('Connected to HubDoc API');
|
|
28
|
+
if (options.mode === 'scan') {
|
|
29
|
+
await this.executeScan(options);
|
|
30
|
+
}
|
|
31
|
+
else if (options.mode === 'export') {
|
|
32
|
+
await this.executeExport(options);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw new Error('Invalid export mode. Use "scan" or "export".');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
spinner.fail(`Export failed: ${error.message}`);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Execute scan mode - generate export mapping
|
|
45
|
+
*/
|
|
46
|
+
async executeScan(options) {
|
|
47
|
+
console.log(chalk_1.default.blue('š Scanning HubDoc for documents...'));
|
|
48
|
+
// Show scan configuration
|
|
49
|
+
if (options.projectFilter) {
|
|
50
|
+
console.log(chalk_1.default.gray(` š Workspace filter: ${options.projectFilter}`));
|
|
51
|
+
}
|
|
52
|
+
if (options.domainFilter) {
|
|
53
|
+
console.log(chalk_1.default.gray(` š·ļø Folder filter: ${options.domainFilter}`));
|
|
54
|
+
}
|
|
55
|
+
// Interactive scan configuration
|
|
56
|
+
if (options.interactive) {
|
|
57
|
+
const scanConfig = await this.getInteractiveScanConfig();
|
|
58
|
+
options.projectFilter = scanConfig.workspaceFilter || options.projectFilter;
|
|
59
|
+
options.domainFilter = scanConfig.folderFilter || options.domainFilter;
|
|
60
|
+
}
|
|
61
|
+
// Show export statistics first
|
|
62
|
+
const stats = await this.exportService.getExportStats();
|
|
63
|
+
console.log(chalk_1.default.blue('\nš HubDoc Content Overview:'));
|
|
64
|
+
console.log(chalk_1.default.cyan(` š Workspaces: ${stats.totalWorkspaces}`));
|
|
65
|
+
console.log(chalk_1.default.cyan(` š Folders: ${stats.totalFolders}`));
|
|
66
|
+
console.log(chalk_1.default.cyan(` š Documents: ${stats.totalFiles}`));
|
|
67
|
+
console.log(chalk_1.default.cyan(` š¾ Total size: ${this.formatFileSize(stats.totalSize)}`));
|
|
68
|
+
// Generate export mapping
|
|
69
|
+
const mappings = await this.exportService.generateExportMapping(options.projectFilter, options.domainFilter);
|
|
70
|
+
if (mappings.length === 0) {
|
|
71
|
+
console.log(chalk_1.default.yellow('ā ļø No documents found matching the criteria'));
|
|
72
|
+
if (options.interactive) {
|
|
73
|
+
const { trySearch } = await inquirer_1.default.prompt([{
|
|
74
|
+
type: 'confirm',
|
|
75
|
+
name: 'trySearch',
|
|
76
|
+
message: 'Would you like to try a search-based export instead?',
|
|
77
|
+
default: false
|
|
78
|
+
}]);
|
|
79
|
+
if (trySearch) {
|
|
80
|
+
await this.executeSearchBasedScan(options);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Save to CSV
|
|
86
|
+
const outputPath = options.mappingFile || 'export-mapping.csv';
|
|
87
|
+
await this.csvManager.generateExportMapping(mappings, outputPath);
|
|
88
|
+
// Show detailed scan summary
|
|
89
|
+
this.showScanSummary(mappings, outputPath);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Execute export mode - download documents
|
|
93
|
+
*/
|
|
94
|
+
async executeExport(options) {
|
|
95
|
+
if (!options.mappingFile) {
|
|
96
|
+
throw new Error('Mapping file is required for export mode. Use --mapping option or run scan first.');
|
|
97
|
+
}
|
|
98
|
+
console.log(chalk_1.default.blue(`š Loading export mapping from: ${options.mappingFile}`));
|
|
99
|
+
// Read mappings from CSV
|
|
100
|
+
const mappings = await this.csvManager.readExportMapping(options.mappingFile);
|
|
101
|
+
if (mappings.length === 0) {
|
|
102
|
+
console.log(chalk_1.default.yellow('ā ļø No documents to export'));
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
console.log(chalk_1.default.blue(`š¦ Found ${mappings.length} documents to export`));
|
|
106
|
+
// Validate export paths
|
|
107
|
+
const { valid, invalid } = await this.csvManager.validateExportPaths(mappings);
|
|
108
|
+
if (invalid.length > 0) {
|
|
109
|
+
console.log(chalk_1.default.yellow(`ā ļø Found ${invalid.length} documents with invalid paths:`));
|
|
110
|
+
invalid.slice(0, 5).forEach(mapping => {
|
|
111
|
+
console.log(chalk_1.default.red(` ā ${mapping.documentName}: ${mapping.targetPath || 'No target path'}`));
|
|
112
|
+
});
|
|
113
|
+
if (invalid.length > 5) {
|
|
114
|
+
console.log(chalk_1.default.gray(` ... and ${invalid.length - 5} more`));
|
|
115
|
+
}
|
|
116
|
+
if (options.interactive) {
|
|
117
|
+
const { proceed } = await inquirer_1.default.prompt([{
|
|
118
|
+
type: 'confirm',
|
|
119
|
+
name: 'proceed',
|
|
120
|
+
message: 'Continue with valid documents only?',
|
|
121
|
+
default: true
|
|
122
|
+
}]);
|
|
123
|
+
if (!proceed) {
|
|
124
|
+
console.log(chalk_1.default.gray('Export cancelled'));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (valid.length === 0) {
|
|
130
|
+
console.log(chalk_1.default.red('ā No valid documents to export'));
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
// Show export preview
|
|
134
|
+
await this.showExportPreview(valid, options);
|
|
135
|
+
// Confirm export if interactive
|
|
136
|
+
if (options.interactive) {
|
|
137
|
+
const { confirm } = await inquirer_1.default.prompt([{
|
|
138
|
+
type: 'confirm',
|
|
139
|
+
name: 'confirm',
|
|
140
|
+
message: `Proceed with exporting ${valid.length} documents?`,
|
|
141
|
+
default: true
|
|
142
|
+
}]);
|
|
143
|
+
if (!confirm) {
|
|
144
|
+
console.log(chalk_1.default.gray('Export cancelled'));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Execute export
|
|
149
|
+
const outputDir = options.outputDir || './export';
|
|
150
|
+
console.log(chalk_1.default.blue(`\nš Starting export to: ${path_1.default.resolve(outputDir)}`));
|
|
151
|
+
const results = await this.exportService.exportDocuments(valid, outputDir);
|
|
152
|
+
// Show final summary
|
|
153
|
+
this.showExportSummary(results, outputDir);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Execute search-based scan
|
|
157
|
+
*/
|
|
158
|
+
async executeSearchBasedScan(options) {
|
|
159
|
+
const { query, fileType, limit } = await inquirer_1.default.prompt([
|
|
160
|
+
{
|
|
161
|
+
type: 'input',
|
|
162
|
+
name: 'query',
|
|
163
|
+
message: 'Enter search query:',
|
|
164
|
+
validate: (input) => input.trim().length > 0 || 'Query cannot be empty'
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'input',
|
|
168
|
+
name: 'fileType',
|
|
169
|
+
message: 'File type filter (optional):',
|
|
170
|
+
default: ''
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'number',
|
|
174
|
+
name: 'limit',
|
|
175
|
+
message: 'Maximum results:',
|
|
176
|
+
default: 1000
|
|
177
|
+
}
|
|
178
|
+
]);
|
|
179
|
+
const mappings = await this.exportService.searchDocuments(query, {
|
|
180
|
+
workspace: options.projectFilter,
|
|
181
|
+
fileType: fileType || undefined,
|
|
182
|
+
limit: limit || 1000
|
|
183
|
+
});
|
|
184
|
+
if (mappings.length > 0) {
|
|
185
|
+
const outputPath = options.mappingFile || 'search-export-mapping.csv';
|
|
186
|
+
await this.csvManager.generateExportMapping(mappings, outputPath);
|
|
187
|
+
this.showScanSummary(mappings, outputPath);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get interactive scan configuration
|
|
192
|
+
*/
|
|
193
|
+
async getInteractiveScanConfig() {
|
|
194
|
+
console.log(chalk_1.default.blue('\nš§ Export Scan Configuration'));
|
|
195
|
+
return await inquirer_1.default.prompt([
|
|
196
|
+
{
|
|
197
|
+
type: 'input',
|
|
198
|
+
name: 'workspaceFilter',
|
|
199
|
+
message: 'Workspace name filter (partial match, optional):',
|
|
200
|
+
default: ''
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'input',
|
|
204
|
+
name: 'folderFilter',
|
|
205
|
+
message: 'Folder name filter (partial match, optional):',
|
|
206
|
+
default: ''
|
|
207
|
+
}
|
|
208
|
+
]);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Show export preview
|
|
212
|
+
*/
|
|
213
|
+
async showExportPreview(mappings, options) {
|
|
214
|
+
console.log(chalk_1.default.bold('\nš Export Preview'));
|
|
215
|
+
console.log(chalk_1.default.blue(`š Documents to export: ${mappings.length}`));
|
|
216
|
+
console.log(chalk_1.default.blue(`š Output directory: ${path_1.default.resolve(options.outputDir || './export')}`));
|
|
217
|
+
// Group by target folder
|
|
218
|
+
const folderGroups = mappings.reduce((groups, mapping) => {
|
|
219
|
+
const folder = path_1.default.dirname(mapping.targetPath || 'Root');
|
|
220
|
+
if (!groups[folder])
|
|
221
|
+
groups[folder] = [];
|
|
222
|
+
groups[folder].push(mapping);
|
|
223
|
+
return groups;
|
|
224
|
+
}, {});
|
|
225
|
+
console.log(chalk_1.default.blue('\nš Directory structure to be created:'));
|
|
226
|
+
Object.entries(folderGroups)
|
|
227
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
228
|
+
.slice(0, 10)
|
|
229
|
+
.forEach(([folder, items]) => {
|
|
230
|
+
console.log(chalk_1.default.cyan(` š ${folder === '.' ? 'Root' : folder} (${items.length} files)`));
|
|
231
|
+
});
|
|
232
|
+
if (Object.keys(folderGroups).length > 10) {
|
|
233
|
+
console.log(chalk_1.default.gray(` ... and ${Object.keys(folderGroups).length - 10} more folders`));
|
|
234
|
+
}
|
|
235
|
+
// Show workspace distribution
|
|
236
|
+
const workspaceGroups = mappings.reduce((groups, mapping) => {
|
|
237
|
+
const workspace = mapping.projects[0]?.projectName || 'Unknown';
|
|
238
|
+
if (!groups[workspace])
|
|
239
|
+
groups[workspace] = 0;
|
|
240
|
+
groups[workspace]++;
|
|
241
|
+
return groups;
|
|
242
|
+
}, {});
|
|
243
|
+
if (Object.keys(workspaceGroups).length > 1) {
|
|
244
|
+
console.log(chalk_1.default.blue('\nš Documents by workspace:'));
|
|
245
|
+
Object.entries(workspaceGroups)
|
|
246
|
+
.sort(([, a], [, b]) => b - a)
|
|
247
|
+
.forEach(([workspace, count]) => {
|
|
248
|
+
console.log(chalk_1.default.cyan(` ⢠${workspace}: ${count} documents`));
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Show scan summary
|
|
254
|
+
*/
|
|
255
|
+
showScanSummary(mappings, outputPath) {
|
|
256
|
+
const projectCounts = {};
|
|
257
|
+
mappings.forEach(mapping => {
|
|
258
|
+
mapping.projects.forEach(project => {
|
|
259
|
+
projectCounts[project.projectName] = (projectCounts[project.projectName] || 0) + 1;
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
console.log('\n' + chalk_1.default.bold('š Scan Summary'));
|
|
263
|
+
console.log(chalk_1.default.blue(`š Total documents found: ${mappings.length}`));
|
|
264
|
+
if (Object.keys(projectCounts).length > 0) {
|
|
265
|
+
console.log('\n' + chalk_1.default.bold('š Documents by workspace:'));
|
|
266
|
+
Object.entries(projectCounts)
|
|
267
|
+
.sort(([, a], [, b]) => b - a)
|
|
268
|
+
.forEach(([project, count]) => {
|
|
269
|
+
console.log(chalk_1.default.cyan(` ⢠${project}: ${count} documents`));
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
// Show file type distribution
|
|
273
|
+
const fileTypes = mappings.reduce((types, mapping) => {
|
|
274
|
+
const ext = path_1.default.extname(mapping.documentName).toLowerCase() || 'no extension';
|
|
275
|
+
if (!types[ext])
|
|
276
|
+
types[ext] = 0;
|
|
277
|
+
types[ext]++;
|
|
278
|
+
return types;
|
|
279
|
+
}, {});
|
|
280
|
+
console.log('\n' + chalk_1.default.bold('š File types:'));
|
|
281
|
+
Object.entries(fileTypes)
|
|
282
|
+
.sort(([, a], [, b]) => b - a)
|
|
283
|
+
.slice(0, 10)
|
|
284
|
+
.forEach(([ext, count]) => {
|
|
285
|
+
console.log(chalk_1.default.cyan(` ⢠${ext}: ${count} files`));
|
|
286
|
+
});
|
|
287
|
+
console.log('\n' + chalk_1.default.green('ā
Export mapping generated successfully'));
|
|
288
|
+
console.log(chalk_1.default.blue(`š File: ${outputPath}`));
|
|
289
|
+
console.log(chalk_1.default.gray(' š Edit the CSV file to customize target paths'));
|
|
290
|
+
console.log(chalk_1.default.gray(' š Run export mode to download documents'));
|
|
291
|
+
console.log(chalk_1.default.gray(` Example: hubdoc-tool export --mapping ${outputPath}`));
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Show export summary
|
|
295
|
+
*/
|
|
296
|
+
showExportSummary(results, outputDir) {
|
|
297
|
+
const successful = results.filter(r => r.success);
|
|
298
|
+
const failed = results.filter(r => !r.success);
|
|
299
|
+
console.log('\n' + chalk_1.default.bold('š Export Summary'));
|
|
300
|
+
console.log(chalk_1.default.green(`ā
Successfully exported: ${successful.length} documents`));
|
|
301
|
+
console.log(chalk_1.default.blue(`š Export directory: ${path_1.default.resolve(outputDir)}`));
|
|
302
|
+
if (failed.length > 0) {
|
|
303
|
+
console.log(chalk_1.default.red(`ā Failed exports: ${failed.length}`));
|
|
304
|
+
// Show error breakdown
|
|
305
|
+
const errorTypes = failed.reduce((types, result) => {
|
|
306
|
+
const error = result.error || 'Unknown error';
|
|
307
|
+
const errorType = error.includes('not found') ? 'Not found' :
|
|
308
|
+
error.includes('permission') ? 'Permission denied' :
|
|
309
|
+
error.includes('network') ? 'Network error' :
|
|
310
|
+
'Other error';
|
|
311
|
+
if (!types[errorType])
|
|
312
|
+
types[errorType] = 0;
|
|
313
|
+
types[errorType]++;
|
|
314
|
+
return types;
|
|
315
|
+
}, {});
|
|
316
|
+
console.log(chalk_1.default.red('\nā Error breakdown:'));
|
|
317
|
+
Object.entries(errorTypes).forEach(([errorType, count]) => {
|
|
318
|
+
console.log(chalk_1.default.red(` ⢠${errorType}: ${count} files`));
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
// Show directory structure created
|
|
322
|
+
this.showCreatedStructure(successful, outputDir);
|
|
323
|
+
// Show success rate and performance
|
|
324
|
+
const successRate = ((successful.length / results.length) * 100).toFixed(1);
|
|
325
|
+
const rateColor = parseFloat(successRate) >= 95 ? 'green' : parseFloat(successRate) >= 80 ? 'yellow' : 'red';
|
|
326
|
+
console.log(chalk_1.default[rateColor](`\nš Success rate: ${successRate}%`));
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Show created directory structure
|
|
330
|
+
*/
|
|
331
|
+
showCreatedStructure(results, baseDir) {
|
|
332
|
+
const directories = new Set();
|
|
333
|
+
results.forEach(result => {
|
|
334
|
+
if (result.success && result.exportedPath) {
|
|
335
|
+
const dir = path_1.default.dirname(path_1.default.relative(baseDir, result.exportedPath));
|
|
336
|
+
if (dir && dir !== '.') {
|
|
337
|
+
directories.add(dir);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
if (directories.size > 0) {
|
|
342
|
+
console.log('\n' + chalk_1.default.bold('š Directory structure created:'));
|
|
343
|
+
Array.from(directories)
|
|
344
|
+
.sort()
|
|
345
|
+
.slice(0, 15) // Show first 15 directories
|
|
346
|
+
.forEach(dir => {
|
|
347
|
+
console.log(chalk_1.default.cyan(` š ${dir}`));
|
|
348
|
+
});
|
|
349
|
+
if (directories.size > 15) {
|
|
350
|
+
console.log(chalk_1.default.gray(` ... and ${directories.size - 15} more directories`));
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Format file size for display
|
|
356
|
+
*/
|
|
357
|
+
formatFileSize(bytes) {
|
|
358
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
359
|
+
let size = bytes;
|
|
360
|
+
let unitIndex = 0;
|
|
361
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
362
|
+
size /= 1024;
|
|
363
|
+
unitIndex++;
|
|
364
|
+
}
|
|
365
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
exports.ExportCommandV2 = ExportCommandV2;
|
|
369
|
+
//# sourceMappingURL=export-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-v2.js","sourceRoot":"","sources":["../../src/commands/export-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ImportOptions, HubDocConfig } from '../types';
|
|
2
|
+
export declare class ImportCommandV2 {
|
|
3
|
+
private apiService;
|
|
4
|
+
private csvManager;
|
|
5
|
+
constructor(config: HubDocConfig);
|
|
6
|
+
execute(options: ImportOptions): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Create direct mappings from source directory
|
|
9
|
+
*/
|
|
10
|
+
private createDirectMappings;
|
|
11
|
+
/**
|
|
12
|
+
* Interactive setup for direct import mode
|
|
13
|
+
*/
|
|
14
|
+
private interactiveDirectSetup;
|
|
15
|
+
/**
|
|
16
|
+
* Validate mappings before import
|
|
17
|
+
*/
|
|
18
|
+
private validateMappings;
|
|
19
|
+
/**
|
|
20
|
+
* Show import summary before execution
|
|
21
|
+
*/
|
|
22
|
+
private showImportSummary;
|
|
23
|
+
/**
|
|
24
|
+
* Show final import results
|
|
25
|
+
*/
|
|
26
|
+
private showImportResults;
|
|
27
|
+
/**
|
|
28
|
+
* Format file size for display
|
|
29
|
+
*/
|
|
30
|
+
private formatFileSize;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=import-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-v2.d.ts","sourceRoot":"","sources":["../../src/commands/import-v2.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiC,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtF,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,YAAY;IAK1B,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2FpD;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;YACW,sBAAsB;IAgCpC;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,iBAAiB;IAwD/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoDzB;;OAEG;IACH,OAAO,CAAC,cAAc;CAYvB"}
|