@navet-tools/mdc-cli 1.0.0 → 1.1.2

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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  A powerful CLI tool that converts Markdown to Confluence format and uploads it directly from your terminal. Perfect for teams who love writing in Markdown but need to publish to Confluence.
6
6
 
7
- ![npm](https://img.shields.io/npm/v/mdc-cli)
7
+ ![npm](https://img.shields.io/npm/v/@navet-tools/mdc-cli)
8
8
  ![Node.js](https://img.shields.io/badge/node-%3E%3D18-blue)
9
9
  ![License](https://img.shields.io/badge/license-MIT-green)
10
10
 
@@ -27,7 +27,7 @@ A powerful CLI tool that converts Markdown to Confluence format and uploads it d
27
27
  **Requirements:** Node.js 18 or later
28
28
 
29
29
  ```bash
30
- npm install -g mdc-cli
30
+ npm install -g @navet-tools/mdc-cli
31
31
  ```
32
32
 
33
33
  Verify installation:
@@ -261,7 +261,7 @@ jobs:
261
261
  - uses: actions/setup-node@v4
262
262
  with:
263
263
  node-version: '18'
264
- - run: npm install -g mdc-cli
264
+ - run: npm install -g @navet-tools/mdc-cli
265
265
  - run: mdc upload docs/*.md -u
266
266
  env:
267
267
  CONFLUENCE_EMAIL: ${{ secrets.CONFLUENCE_EMAIL }}
@@ -273,7 +273,7 @@ jobs:
273
273
  sync-docs:
274
274
  stage: deploy
275
275
  script:
276
- - npm install -g mdc-cli
276
+ - npm install -g @navet-tools/mdc-cli
277
277
  - mdc upload docs/*.md -u
278
278
  variables:
279
279
  CONFLUENCE_EMAIL: $CONFLUENCE_EMAIL
@@ -298,7 +298,7 @@ steps:
298
298
  inputs:
299
299
  versionSpec: '18.x'
300
300
 
301
- - script: npm install -g mdc-cli
301
+ - script: npm install -g @navet-tools/mdc-cli
302
302
  displayName: 'Install CLI'
303
303
 
304
304
  - script: mdc upload docs/*.md -u
package/biome.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/2.4.16/schema.json",
3
+ "vcs": {
4
+ "enabled": true,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": true
7
+ },
8
+ "files": {
9
+ "includes": ["**", "!!**/dist"]
10
+ },
11
+ "formatter": {
12
+ "enabled": true,
13
+ "indentStyle": "tab"
14
+ },
15
+ "linter": {
16
+ "enabled": true,
17
+ "rules": {
18
+ "recommended": true
19
+ }
20
+ },
21
+ "javascript": {
22
+ "formatter": {
23
+ "quoteStyle": "double"
24
+ }
25
+ },
26
+ "assist": {
27
+ "enabled": true,
28
+ "actions": {
29
+ "source": {
30
+ "organizeImports": "on"
31
+ }
32
+ }
33
+ }
34
+ }
@@ -37,12 +37,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
- const commander_1 = require("commander");
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
40
+ const fs = __importStar(require("node:fs"));
41
+ const path = __importStar(require("node:path"));
43
42
  const chalk_1 = __importDefault(require("chalk"));
44
- const ora_1 = __importDefault(require("ora"));
43
+ const commander_1 = require("commander");
45
44
  const markdown_it_1 = __importDefault(require("markdown-it"));
45
+ const ora_1 = __importDefault(require("ora"));
46
46
  const program = new commander_1.Command();
47
47
  // Initialize markdown parser
48
48
  const md = new markdown_it_1.default({
@@ -68,8 +68,9 @@ function convertMarkdownToConfluenceStorage(markdown) {
68
68
  // Add table classes
69
69
  html = html.replace(/<table>/g, '<table class="wrapped">');
70
70
  // Fix self-closing tags for Confluence XHTML
71
- html = html.replace(/<hr>/g, '<hr />');
72
- html = html.replace(/<img([^>]*)>/g, '<img$1 />');
71
+ html = html.replace(/<hr>/g, "<hr />");
72
+ html = html.replace(/<img([^>]*)>/g, "<img$1 />");
73
+ html = html.replace(/<br>/g, "<br />");
73
74
  return html;
74
75
  }
75
76
  /**
@@ -86,9 +87,9 @@ function extractBaseUrl(fullUrl) {
86
87
  let baseUrl = `${urlObj.protocol}//${urlObj.host}`;
87
88
  // For Atlassian Cloud (atlassian.net), include /wiki
88
89
  const pathname = urlObj.pathname;
89
- if (urlObj.host.includes('atlassian.net') && pathname) {
90
- const firstSegment = pathname.split('/')[1];
91
- if (firstSegment && firstSegment !== 'spaces') {
90
+ if (urlObj.host.includes("atlassian.net") && pathname) {
91
+ const firstSegment = pathname.split("/")[1];
92
+ if (firstSegment && firstSegment !== "spaces") {
92
93
  baseUrl += `/${firstSegment}`;
93
94
  }
94
95
  }
@@ -109,12 +110,12 @@ function extractTitleFromUrl(fullUrl) {
109
110
  return null;
110
111
  try {
111
112
  const urlObj = new URL(fullUrl);
112
- const pathSegments = urlObj.pathname.split('/');
113
+ const pathSegments = urlObj.pathname.split("/");
113
114
  // Find the last segment (page title)
114
115
  const titleSegment = pathSegments[pathSegments.length - 1];
115
116
  if (titleSegment) {
116
117
  // Replace + with spaces and decode URI
117
- return decodeURIComponent(titleSegment.replace(/\+/g, ' '));
118
+ return decodeURIComponent(titleSegment.replace(/\+/g, " "));
118
119
  }
119
120
  }
120
121
  catch {
@@ -132,9 +133,9 @@ function extractParentPageIdFromUrl(fullUrl) {
132
133
  return null;
133
134
  try {
134
135
  const urlObj = new URL(fullUrl);
135
- const pathSegments = urlObj.pathname.split('/');
136
+ const pathSegments = urlObj.pathname.split("/");
136
137
  // Look for /pages/{ID}/ pattern
137
- const pagesIndex = pathSegments.findIndex(seg => seg === 'pages');
138
+ const pagesIndex = pathSegments.indexOf("pages");
138
139
  if (pagesIndex >= 0 && pagesIndex < pathSegments.length - 1) {
139
140
  const pageId = pathSegments[pagesIndex + 1];
140
141
  // Validate it's a number
@@ -155,11 +156,11 @@ function extractSpaceKeyFromUrl(url) {
155
156
  if (!url)
156
157
  return null;
157
158
  const spacesMatch = url.match(/\/spaces\/([^/]+)\//i);
158
- if (spacesMatch && spacesMatch[1]) {
159
+ if (spacesMatch?.[1]) {
159
160
  return spacesMatch[1];
160
161
  }
161
162
  const displayMatch = url.match(/\/display\/([^/]+)\//i);
162
- if (displayMatch && displayMatch[1]) {
163
+ if (displayMatch?.[1]) {
163
164
  return displayMatch[1];
164
165
  }
165
166
  return null;
@@ -168,10 +169,10 @@ function extractSpaceKeyFromUrl(url) {
168
169
  * Find Confluence reference URL in content
169
170
  */
170
171
  function findConfluenceUrlInContent(content) {
171
- const pattern = /^(?:\*\*|\*)?Confluence\s+reference(?:\*\*|\*)?\s*:\s*(https?:\/\/[^\s]+)/im;
172
+ const pattern = /^(?:\*\*|\*)?Confluence(?:\s+reference)?(?:\*\*|\*)?\s*:\s*(https?:\/\/[^\s]+)/im;
172
173
  const match = content.match(pattern);
173
- if (match && match[1]) {
174
- return match[1].replace(/[.,)]+$/, '');
174
+ if (match?.[1]) {
175
+ return match[1].replace(/[.,)]+$/, "");
175
176
  }
176
177
  return null;
177
178
  }
@@ -187,35 +188,35 @@ function parseFrontmatter(content) {
187
188
  const frontmatterStr = match[1];
188
189
  const markdownContent = content.slice(match[0].length);
189
190
  const frontmatter = {};
190
- const lines = frontmatterStr.split('\n');
191
+ const lines = frontmatterStr.split("\n");
191
192
  let currentKey = null;
192
193
  for (const line of lines) {
193
194
  if (!line.trim())
194
195
  continue;
195
- const confluenceMatch = line.match(/^confluence:\s*(.+)$/);
196
+ const confluenceMatch = line.match(/^confluence:\s*(.+)$/i);
196
197
  if (confluenceMatch) {
197
- const urlValue = confluenceMatch[1].trim().replace(/['"]/g, '');
198
- if (urlValue.startsWith('http')) {
198
+ const urlValue = confluenceMatch[1].trim().replace(/['"]/g, "");
199
+ if (urlValue.startsWith("http")) {
199
200
  frontmatter.baseUrl = urlValue;
200
201
  }
201
202
  continue;
202
203
  }
203
- if (line.match(/^confluence:\s*$/)) {
204
- currentKey = 'confluence';
204
+ if (line.match(/^confluence:\s*$/i)) {
205
+ currentKey = "confluence";
205
206
  continue;
206
207
  }
207
- if (currentKey === 'confluence' && line.match(/^\s+\w+:/)) {
208
- const [key, value] = line.split(':').map((s) => s.trim());
209
- if (key === 'baseUrl')
210
- frontmatter.baseUrl = value.replace(/['"]/g, '');
211
- else if (key === 'spaceKey')
212
- frontmatter.spaceKey = value.replace(/['"]/g, '');
213
- else if (key === 'parentPageId')
214
- frontmatter.parentPageId = value.replace(/['"]/g, '');
215
- else if (key === 'title')
216
- frontmatter.title = value.replace(/['"]/g, '');
217
- else if (key === 'updateIfExists')
218
- frontmatter.updateIfExists = value.toLowerCase() === 'true';
208
+ if (currentKey === "confluence" && line.match(/^\s+\w+:/)) {
209
+ const [key, value] = line.split(":").map((s) => s.trim());
210
+ if (key === "baseUrl")
211
+ frontmatter.baseUrl = value.replace(/['"]/g, "");
212
+ else if (key === "spaceKey")
213
+ frontmatter.spaceKey = value.replace(/['"]/g, "");
214
+ else if (key === "parentPageId")
215
+ frontmatter.parentPageId = value.replace(/['"]/g, "");
216
+ else if (key === "title")
217
+ frontmatter.title = value.replace(/['"]/g, "");
218
+ else if (key === "updateIfExists")
219
+ frontmatter.updateIfExists = value;
219
220
  }
220
221
  }
221
222
  // Extract space key from baseUrl if not provided
@@ -235,10 +236,10 @@ class ConfluenceClient {
235
236
  this.baseUrl = config.baseUrl;
236
237
  this.spaceKey = config.spaceKey;
237
238
  this.headers = {
238
- 'Content-Type': 'application/json',
239
- 'Accept': 'application/json',
240
- 'Authorization': `Bearer ${config.apiToken}`,
241
- 'X-Atlassian-Token': 'nocheck',
239
+ "Content-Type": "application/json",
240
+ Accept: "application/json",
241
+ Authorization: `Bearer ${config.apiToken}`,
242
+ "X-Atlassian-Token": "nocheck",
242
243
  };
243
244
  }
244
245
  async request(endpoint, method, body) {
@@ -254,7 +255,7 @@ class ConfluenceClient {
254
255
  if (!response.ok) {
255
256
  const errorData = await response.json().catch(() => ({}));
256
257
  if (errorData && Object.keys(errorData).length > 0) {
257
- console.error(chalk_1.default.red('Confluence API error:'), JSON.stringify(errorData, null, 2));
258
+ console.error(chalk_1.default.red("Confluence API error:"), JSON.stringify(errorData, null, 2));
258
259
  }
259
260
  throw new Error(`Request failed with status code ${response.status}`);
260
261
  }
@@ -262,7 +263,7 @@ class ConfluenceClient {
262
263
  }
263
264
  async findPageByTitle(title, parentPageId) {
264
265
  try {
265
- const response = await this.request(`/rest/api/content?spaceKey=${this.spaceKey}&title=${encodeURIComponent(title)}&expand=space,version,ancestors`, 'GET');
266
+ const response = await this.request(`/rest/api/content?spaceKey=${this.spaceKey}&title=${encodeURIComponent(title)}&expand=space,version,ancestors`, "GET");
266
267
  const pages = response.results;
267
268
  if (pages.length === 0)
268
269
  return null;
@@ -277,7 +278,7 @@ class ConfluenceClient {
277
278
  }
278
279
  return pages[0];
279
280
  }
280
- catch (error) {
281
+ catch {
281
282
  // Return null on 404 or other errors instead of throwing
282
283
  return null;
283
284
  }
@@ -285,20 +286,20 @@ class ConfluenceClient {
285
286
  async createPage(title, body, parentPageId) {
286
287
  try {
287
288
  const requestBody = {
288
- type: 'page',
289
+ type: "page",
289
290
  title,
290
291
  space: { key: this.spaceKey },
291
292
  body: {
292
293
  storage: {
293
294
  value: body,
294
- representation: 'storage',
295
+ representation: "storage",
295
296
  },
296
297
  },
297
298
  };
298
299
  if (parentPageId) {
299
300
  requestBody.ancestors = [{ id: parentPageId }];
300
301
  }
301
- const page = await this.request('/rest/api/content', 'POST', requestBody);
302
+ const page = await this.request("/rest/api/content", "POST", requestBody);
302
303
  return {
303
304
  id: page.id,
304
305
  title: page.title,
@@ -312,14 +313,14 @@ class ConfluenceClient {
312
313
  }
313
314
  async updatePage(pageId, title, body, version) {
314
315
  try {
315
- const page = await this.request(`/rest/api/content/${pageId}`, 'PUT', {
316
+ const page = await this.request(`/rest/api/content/${pageId}`, "PUT", {
316
317
  id: pageId,
317
- type: 'page',
318
+ type: "page",
318
319
  title,
319
320
  body: {
320
321
  storage: {
321
322
  value: body,
322
- representation: 'storage',
323
+ representation: "storage",
323
324
  },
324
325
  },
325
326
  version: {
@@ -338,22 +339,38 @@ class ConfluenceClient {
338
339
  }
339
340
  }
340
341
  getPageUrl(page) {
341
- return `${this.baseUrl}${page._links.webui}`;
342
+ const links = page._links;
343
+ return `${this.baseUrl}${links.webui}`;
342
344
  }
343
345
  }
344
346
  program
345
- .name('mdc')
346
- .description('Upload Markdown files to Confluence - Standalone CLI')
347
- .version('2.0.0');
347
+ .name("mdc")
348
+ .description("Upload Markdown files to Confluence - Standalone CLI")
349
+ .version("2.0.0");
350
+ program
351
+ .command("init")
352
+ .description("Initialize Confluence credentials by running setup script")
353
+ .action(() => {
354
+ const { execSync } = require("node:child_process");
355
+ const path = require("node:path");
356
+ try {
357
+ const scriptPath = path.join(__dirname, "../setup-zshrc.sh");
358
+ execSync(`bash "${scriptPath}"`, { stdio: "inherit" });
359
+ }
360
+ catch (error) {
361
+ console.error(chalk_1.default.red("Failed to run setup script:"), error.message);
362
+ process.exit(1);
363
+ }
364
+ });
348
365
  program
349
- .command('upload <markdownFile>')
350
- .description('Upload a Markdown file to Confluence')
351
- .option('-s, --service <url>', 'Confluence base URL (overrides frontmatter and content)')
352
- .option('-k, --space <key>', 'Confluence space key (overrides frontmatter and content)')
353
- .option('-p, --parent <id>', 'Parent page ID (overrides frontmatter)')
354
- .option('-i, --page-id <id>', 'Page ID to update directly (bypasses title search)')
355
- .option('-t, --title <title>', 'Page title (overrides frontmatter, defaults to filename)')
356
- .option('-u, --update', 'Update page if exists (overrides frontmatter)', false)
366
+ .command("upload <markdownFile>")
367
+ .description("Upload a Markdown file to Confluence")
368
+ .option("-s, --service <url>", "Confluence base URL (overrides frontmatter and content)")
369
+ .option("-k, --space <key>", "Confluence space key (overrides frontmatter and content)")
370
+ .option("-p, --parent <id>", "Parent page ID (overrides frontmatter)")
371
+ .option("-i, --page-id <id>", "Page ID to update directly (bypasses title search)")
372
+ .option("-t, --title <title>", "Page title (overrides frontmatter, defaults to filename)")
373
+ .option("-u, --update", "Update page if exists (overrides frontmatter)", false)
357
374
  .action(async (markdownFile, options) => {
358
375
  try {
359
376
  // Validate required environment variables
@@ -361,14 +378,14 @@ program
361
378
  const email = process.env.CONFLUENCE_EMAIL;
362
379
  const apiToken = process.env.CONFLUENCE_API_TOKEN;
363
380
  if (!email || !apiToken) {
364
- console.error(chalk_1.default.red('❌ Missing required Confluence credentials in environment:'));
381
+ console.error(chalk_1.default.red("❌ Missing required Confluence credentials in environment:"));
365
382
  if (!baseUrl)
366
- console.error(chalk_1.default.red(' - CONFLUENCE_BASE_URL'));
383
+ console.error(chalk_1.default.red(" - CONFLUENCE_BASE_URL"));
367
384
  if (!email)
368
- console.error(chalk_1.default.red(' - CONFLUENCE_EMAIL'));
385
+ console.error(chalk_1.default.red(" - CONFLUENCE_EMAIL"));
369
386
  if (!apiToken)
370
- console.error(chalk_1.default.red(' - CONFLUENCE_API_TOKEN'));
371
- console.error(chalk_1.default.yellow('\n💡 Run: ./setup-zshrc.sh'));
387
+ console.error(chalk_1.default.red(" - CONFLUENCE_API_TOKEN"));
388
+ console.error(chalk_1.default.yellow("\n💡 Run: mdc init"));
372
389
  process.exit(1);
373
390
  }
374
391
  // Read markdown file
@@ -377,7 +394,7 @@ program
377
394
  console.error(chalk_1.default.red(`Error: File not found: ${absolutePath}`));
378
395
  process.exit(1);
379
396
  }
380
- const markdownContent = fs.readFileSync(absolutePath, 'utf-8');
397
+ const markdownContent = fs.readFileSync(absolutePath, "utf-8");
381
398
  // Parse frontmatter
382
399
  const { frontmatter, content } = parseFrontmatter(markdownContent);
383
400
  // Get base URL from options, frontmatter, or content
@@ -397,7 +414,7 @@ program
397
414
  const extractedBaseUrl = extractBaseUrl(urlToParse);
398
415
  if (extractedBaseUrl) {
399
416
  baseUrl = extractedBaseUrl;
400
- console.log(chalk_1.default.yellow('ℹ️ Auto-detected base URL from URL'));
417
+ console.log(chalk_1.default.yellow("ℹ️ Auto-detected base URL from URL"));
401
418
  }
402
419
  }
403
420
  if (!spaceKey) {
@@ -432,53 +449,55 @@ program
432
449
  }
433
450
  }
434
451
  // Default to true if parent page ID is specified (likely updating existing page)
435
- if (parentPageId && !frontmatter.updateIfExists && options.update === undefined) {
452
+ if (parentPageId &&
453
+ !frontmatter.updateIfExists &&
454
+ options.update === undefined) {
436
455
  updateIfExists = true;
437
456
  }
438
457
  // Remove trailing slash from base URL
439
458
  if (baseUrl) {
440
- baseUrl = baseUrl.replace(/\/$/, '');
459
+ baseUrl = baseUrl.replace(/\/$/, "");
441
460
  }
442
461
  // Validate required fields
443
462
  if (!baseUrl) {
444
- console.error(chalk_1.default.red('❌ Missing Confluence URL'));
445
- console.error(chalk_1.default.yellow('\n💡 Add a Confluence reference URL to your Markdown frontmatter:'));
446
- console.error(chalk_1.default.gray(' ---'));
447
- console.error(chalk_1.default.gray(' confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123456789/Page+Title'));
448
- console.error(chalk_1.default.gray(' ---'));
449
- console.error(chalk_1.default.yellow('\nOr use command-line options:'));
450
- console.error(chalk_1.default.yellow(' --service <url> Confluence base URL'));
451
- console.error(chalk_1.default.yellow(' --space <key> Space key (e.g., DEV, ENG)'));
452
- console.error(chalk_1.default.yellow(' --parent <id> Parent page ID\n'));
463
+ console.error(chalk_1.default.red("❌ Missing Confluence URL"));
464
+ console.error(chalk_1.default.yellow("\n💡 Add a Confluence reference URL to your Markdown frontmatter:"));
465
+ console.error(chalk_1.default.gray(" ---"));
466
+ console.error(chalk_1.default.gray(" confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123456789/Page+Title"));
467
+ console.error(chalk_1.default.gray(" ---"));
468
+ console.error(chalk_1.default.yellow("\nOr use command-line options:"));
469
+ console.error(chalk_1.default.yellow(" --service <url> Confluence base URL"));
470
+ console.error(chalk_1.default.yellow(" --space <key> Space key (e.g., DEV, ENG)"));
471
+ console.error(chalk_1.default.yellow(" --parent <id> Parent page ID\n"));
453
472
  process.exit(1);
454
473
  }
455
474
  if (!spaceKey) {
456
- console.error(chalk_1.default.red('❌ Could not detect space key from URL'));
457
- console.error(chalk_1.default.yellow('\n💡 Provide the space key via:'));
458
- console.error(chalk_1.default.yellow(' --space <key> (e.g., DEV, ENG, KB)'));
459
- console.error(chalk_1.default.yellow('\nOr add it to your frontmatter:'));
460
- console.error(chalk_1.default.gray(' ---'));
461
- console.error(chalk_1.default.gray(' confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123/Page+Title'));
462
- console.error(chalk_1.default.gray(' ---\n'));
475
+ console.error(chalk_1.default.red("❌ Could not detect space key from URL"));
476
+ console.error(chalk_1.default.yellow("\n💡 Provide the space key via:"));
477
+ console.error(chalk_1.default.yellow(" --space <key> (e.g., DEV, ENG, KB)"));
478
+ console.error(chalk_1.default.yellow("\nOr add it to your frontmatter:"));
479
+ console.error(chalk_1.default.gray(" ---"));
480
+ console.error(chalk_1.default.gray(" confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123/Page+Title"));
481
+ console.error(chalk_1.default.gray(" ---\n"));
463
482
  process.exit(1);
464
483
  }
465
484
  // Default title to filename if still not set
466
485
  if (!pageTitle) {
467
- pageTitle = path.basename(markdownFile, '.md');
486
+ pageTitle = path.basename(markdownFile, ".md");
468
487
  }
469
488
  // Show upload info
470
- console.log(chalk_1.default.blue('\n📤 Uploading to Confluence:'));
489
+ console.log(chalk_1.default.blue("\n📤 Uploading to Confluence:"));
471
490
  console.log(chalk_1.default.gray(` Base URL: ${baseUrl}`));
472
491
  console.log(chalk_1.default.gray(` Space: ${spaceKey}`));
473
492
  console.log(chalk_1.default.gray(` Title: ${pageTitle}`));
474
493
  if (parentPageId)
475
494
  console.log(chalk_1.default.gray(` Parent: ${parentPageId}`));
476
495
  console.log(chalk_1.default.gray(` Update if exists: ${updateIfExists}`));
477
- console.log('');
478
- const spinner = (0, ora_1.default)('Converting Markdown to Confluence format...').start();
496
+ console.log("");
497
+ const spinner = (0, ora_1.default)("Converting Markdown to Confluence format...").start();
479
498
  // Convert markdown
480
499
  const htmlContent = convertMarkdownToConfluenceStorage(content);
481
- spinner.text = 'Connecting to Confluence...';
500
+ spinner.text = "Connecting to Confluence...";
482
501
  // Create client
483
502
  const client = new ConfluenceClient({
484
503
  baseUrl,
@@ -486,7 +505,7 @@ program
486
505
  email,
487
506
  spaceKey,
488
507
  });
489
- spinner.text = 'Uploading to Confluence...';
508
+ spinner.text = "Uploading to Confluence...";
490
509
  // Upload
491
510
  let page;
492
511
  if (updateIfExists) {
@@ -494,10 +513,10 @@ program
494
513
  // If direct page ID is available, use it to fetch the page directly
495
514
  if (directPageId) {
496
515
  try {
497
- existingPage = await client.request(`/rest/api/content/${directPageId}?expand=space,version,ancestors`, 'GET');
516
+ existingPage = await client.request(`/rest/api/content/${directPageId}?expand=space,version,ancestors`, "GET");
498
517
  spinner.text = `Found existing page by ID: ${directPageId}`;
499
518
  }
500
- catch (error) {
519
+ catch {
501
520
  // If direct fetch fails, fall back to title search
502
521
  existingPage = null;
503
522
  }
@@ -507,8 +526,9 @@ program
507
526
  existingPage = await client.findPageByTitle(pageTitle);
508
527
  }
509
528
  if (existingPage) {
510
- const pageDetails = await client.request(`/rest/api/content/${existingPage.id}?expand=version`, 'GET');
511
- const version = pageDetails.version.number;
529
+ const pageDetails = await client.request(`/rest/api/content/${existingPage.id}?expand=version`, "GET");
530
+ const version = pageDetails.version
531
+ .number;
512
532
  page = await client.updatePage(existingPage.id, pageTitle, htmlContent, version);
513
533
  spinner.succeed(chalk_1.default.green(`Updated existing page: ${page.id}`));
514
534
  }
@@ -523,7 +543,7 @@ program
523
543
  }
524
544
  const pageUrl = client.getPageUrl(page);
525
545
  console.log(chalk_1.default.blue(`\n🔗 Page URL: ${pageUrl}`));
526
- console.log(chalk_1.default.green('✅ Upload complete!\n'));
546
+ console.log(chalk_1.default.green("✅ Upload complete!\n"));
527
547
  }
528
548
  catch (error) {
529
549
  console.error(chalk_1.default.red(`\n❌ Error: ${error.message}\n`));
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
package/install-cli.sh ADDED
@@ -0,0 +1,25 @@
1
+ #!/bin/bash
2
+
3
+ # Build and install CLI locally
4
+
5
+ set -e
6
+
7
+ echo "🔧 Building and installing CLI..."
8
+ echo ""
9
+
10
+ echo "📦 Installing dependencies..."
11
+ npm install
12
+
13
+ echo "🏗️ Building TypeScript..."
14
+ npm run build
15
+
16
+ echo "🔗 Creating global symlink..."
17
+ npm link
18
+
19
+ echo ""
20
+ echo "✅ CLI installed successfully!"
21
+ echo ""
22
+ echo "You can now use:"
23
+ echo " mdc --help"
24
+ echo " mdc upload README.md -t \"My Page\""
25
+ echo ""
package/package.json CHANGED
@@ -1,48 +1,50 @@
1
1
  {
2
- "name": "@navet-tools/mdc-cli",
3
- "version": "1.0.0",
4
- "description": "CLI tool to upload Markdown files to Confluence",
5
- "author": "Vishal Chauhan",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/awesomestvi/markdown-to-confluence"
10
- },
11
- "keywords": [
12
- "confluence",
13
- "markdown",
14
- "cli",
15
- "upload",
16
- "atlassian",
17
- "documentation",
18
- "mdc"
19
- ],
20
- "engines": {
21
- "node": ">=18.0.0"
22
- },
23
- "main": "dist/standalone.js",
24
- "bin": {
25
- "mdc": "./dist/standalone.js"
26
- },
27
- "scripts": {
28
- "build": "tsc",
29
- "start": "node dist/standalone.js",
30
- "dev": "ts-node src/standalone.ts",
31
- "lint": "eslint src/**/*.ts"
32
- },
33
- "dependencies": {
34
- "chalk": "^5.3.0",
35
- "commander": "^11.1.0",
36
- "dotenv": "^16.3.1",
37
- "markdown-it": "^14.2.0",
38
- "ora": "^7.0.1"
39
- },
40
- "devDependencies": {
41
- "@types/markdown-it": "^14.1.2",
42
- "@types/node": "^20.10.4",
43
- "@typescript-eslint/eslint-plugin": "^8.59.4",
44
- "@typescript-eslint/parser": "^8.59.4",
45
- "eslint": "^8.55.0",
46
- "typescript": "^5.3.3"
47
- }
2
+ "name": "@navet-tools/mdc-cli",
3
+ "version": "1.1.2",
4
+ "description": "CLI tool to upload Markdown files to Confluence",
5
+ "author": "Vishal Chauhan",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/awesomestvi/markdown-to-confluence"
10
+ },
11
+ "keywords": [
12
+ "confluence",
13
+ "markdown",
14
+ "cli",
15
+ "upload",
16
+ "atlassian",
17
+ "documentation",
18
+ "mdc"
19
+ ],
20
+ "engines": {
21
+ "node": ">=18.0.0"
22
+ },
23
+ "main": "dist/standalone.js",
24
+ "bin": {
25
+ "mdc": "./dist/standalone.js"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc",
29
+ "start": "node dist/standalone.js",
30
+ "dev": "ts-node src/standalone.ts",
31
+ "check": "biome check --write .",
32
+ "format": "biome format --write ."
33
+ },
34
+ "dependencies": {
35
+ "chalk": "^5.3.0",
36
+ "commander": "^11.1.0",
37
+ "dotenv": "^16.3.1",
38
+ "markdown-it": "^14.2.0",
39
+ "ora": "^7.0.1"
40
+ },
41
+ "devDependencies": {
42
+ "@biomejs/biome": "^2.4.16",
43
+ "@types/markdown-it": "^14.1.2",
44
+ "@types/node": "^20.10.4",
45
+ "@typescript-eslint/eslint-plugin": "^8.59.4",
46
+ "@typescript-eslint/parser": "^8.59.4",
47
+ "eslint": "^8.55.0",
48
+ "typescript": "^5.3.3"
49
+ }
48
50
  }
@@ -0,0 +1,10 @@
1
+ minimumReleaseAgeExclude:
2
+ - '@biomejs/biome@2.4.16'
3
+ - '@biomejs/cli-darwin-arm64@2.4.16'
4
+ - '@biomejs/cli-darwin-x64@2.4.16'
5
+ - '@biomejs/cli-linux-arm64-musl@2.4.16'
6
+ - '@biomejs/cli-linux-arm64@2.4.16'
7
+ - '@biomejs/cli-linux-x64-musl@2.4.16'
8
+ - '@biomejs/cli-linux-x64@2.4.16'
9
+ - '@biomejs/cli-win32-arm64@2.4.16'
10
+ - '@biomejs/cli-win32-x64@2.4.16'
package/setup-zshrc.sh ADDED
@@ -0,0 +1,99 @@
1
+ #!/bin/bash
2
+
3
+ # Helper script to add Confluence credentials to ~/.zshrc
4
+
5
+ set -e
6
+
7
+ echo "🔐 Confluence Upload CLI - Configuration"
8
+ echo "========================================"
9
+ echo ""
10
+ echo "This script will add your Confluence credentials to ~/.zshrc"
11
+ echo "so they're available from any directory."
12
+ echo ""
13
+ echo "You can get an API token from your Confluence instance (e.g., https://your-company.atlassian.net/wiki)"
14
+ echo ""
15
+ echo "Note: Space Key and Parent Page ID are auto-detected from the"
16
+ echo "Confluence reference URL in your Markdown files. Only email, API token, and base URL are required."
17
+ echo ""
18
+
19
+ # Check if ~/.zshrc exists
20
+ if [ ! -f ~/.zshrc ]; then
21
+ echo "⚠️ ~/.zshrc not found. Creating one..."
22
+ touch ~/.zshrc
23
+ echo "✅ Created ~/.zshrc"
24
+ echo ""
25
+ fi
26
+
27
+ # Check if credentials already exist
28
+ if grep -q "CONFLUENCE_EMAIL" ~/.zshrc 2>/dev/null || grep -q "CONFLUENCE_API_TOKEN" ~/.zshrc 2>/dev/null || grep -q "CONFLUENCE_BASE_URL" ~/.zshrc 2>/dev/null; then
29
+ echo "⚠️ Confluence credentials already exist in ~/.zshrc"
30
+ echo ""
31
+ read -p "Do you want to update them? (y/n) " -n 1 -r
32
+ echo ""
33
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
34
+ echo "Cancelled."
35
+ exit 0
36
+ fi
37
+
38
+ # Remove existing entries
39
+ echo "🗑️ Removing existing Confluence configuration..."
40
+ sed -i.bak '/^export CONFLUENCE_/d' ~/.zshrc
41
+ rm -f ~/.zshrc.bak
42
+ echo "✅ Removed existing entries"
43
+ echo ""
44
+ fi
45
+
46
+ # Prompt for credentials
47
+ echo "📝 Enter your Confluence credentials:"
48
+ echo ""
49
+
50
+ read -p "Confluence Base URL (e.g., https://your-company.atlassian.net/wiki): " CONFLUENCE_BASE_URL
51
+ if [[ -z "$CONFLUENCE_BASE_URL" ]]; then
52
+ echo "❌ Base URL is required"
53
+ exit 1
54
+ fi
55
+
56
+ read -p "Confluence Email: " CONFLUENCE_EMAIL
57
+ if [[ -z "$CONFLUENCE_EMAIL" ]]; then
58
+ echo "❌ Email is required"
59
+ exit 1
60
+ fi
61
+
62
+ read -sp "Confluence API Token: " CONFLUENCE_API_TOKEN
63
+ echo ""
64
+ if [[ -z "$CONFLUENCE_API_TOKEN" ]]; then
65
+ echo "❌ API Token is required"
66
+ exit 1
67
+ fi
68
+
69
+ # Add to ~/.zshrc
70
+ echo ""
71
+ echo "📝 Adding configuration to ~/.zshrc..."
72
+ echo "" >> ~/.zshrc
73
+ echo "# Confluence Upload CLI Configuration" >> ~/.zshrc
74
+ echo "export CONFLUENCE_BASE_URL=\"$CONFLUENCE_BASE_URL\"" >> ~/.zshrc
75
+ echo "export CONFLUENCE_EMAIL=\"$CONFLUENCE_EMAIL\"" >> ~/.zshrc
76
+ echo "export CONFLUENCE_API_TOKEN=\"$CONFLUENCE_API_TOKEN\"" >> ~/.zshrc
77
+
78
+ echo "✅ Configuration added to ~/.zshrc"
79
+ echo ""
80
+ echo "⚠️ IMPORTANT: Reload your shell or run the following to apply changes:"
81
+ echo ""
82
+ echo " source ~/.zshrc"
83
+ echo ""
84
+ echo "Or start a new terminal session."
85
+ echo ""
86
+ echo "🔒 Security Notes:"
87
+ echo " - Your credentials are stored in ~/.zshrc (not in the project directory)"
88
+ echo " - Never commit ~/.zshrc to version control"
89
+ echo " - Keep your API token secure and rotate it periodically"
90
+ echo ""
91
+ echo "Next steps:"
92
+ echo " 1. Run: source ~/.zshrc"
93
+ echo " 2. Upload a file: mdc upload README.md -u"
94
+ echo ""
95
+ echo "💡 Tip: Add a Confluence reference URL to your Markdown file's frontmatter:"
96
+ echo " confluence:"
97
+ echo " baseUrl: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123/Page+Title"
98
+ echo ""
99
+ echo "✅ Done! Your configuration has been saved."