canvaslms-cli 1.6.2 → 1.6.4-fix

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 (80) hide show
  1. package/CHANGELOG.md +64 -31
  2. package/README.md +131 -129
  3. package/dist/commands/announcements.d.ts +2 -2
  4. package/dist/commands/announcements.d.ts.map +1 -1
  5. package/dist/commands/announcements.js +29 -20
  6. package/dist/commands/announcements.js.map +1 -1
  7. package/dist/commands/api.d.ts +1 -1
  8. package/dist/commands/api.d.ts.map +1 -1
  9. package/dist/commands/api.js +1 -1
  10. package/dist/commands/api.js.map +1 -1
  11. package/dist/commands/assignments.d.ts +2 -2
  12. package/dist/commands/assignments.d.ts.map +1 -1
  13. package/dist/commands/assignments.js +24 -19
  14. package/dist/commands/assignments.js.map +1 -1
  15. package/dist/commands/calendar.d.ts +7 -0
  16. package/dist/commands/calendar.d.ts.map +1 -0
  17. package/dist/commands/calendar.js +150 -0
  18. package/dist/commands/calendar.js.map +1 -0
  19. package/dist/commands/config.d.ts.map +1 -1
  20. package/dist/commands/config.js +102 -85
  21. package/dist/commands/config.js.map +1 -1
  22. package/dist/commands/grades.d.ts +2 -2
  23. package/dist/commands/grades.d.ts.map +1 -1
  24. package/dist/commands/grades.js +296 -176
  25. package/dist/commands/grades.js.map +1 -1
  26. package/dist/commands/list.d.ts +1 -1
  27. package/dist/commands/list.d.ts.map +1 -1
  28. package/dist/commands/list.js +21 -19
  29. package/dist/commands/list.js.map +1 -1
  30. package/dist/commands/modules.d.ts +5 -0
  31. package/dist/commands/modules.d.ts.map +1 -0
  32. package/dist/commands/modules.js +263 -0
  33. package/dist/commands/modules.js.map +1 -0
  34. package/dist/commands/profile.d.ts.map +1 -1
  35. package/dist/commands/profile.js +57 -32
  36. package/dist/commands/profile.js.map +1 -1
  37. package/dist/commands/submit.d.ts +1 -2
  38. package/dist/commands/submit.d.ts.map +1 -1
  39. package/dist/commands/submit.js +88 -79
  40. package/dist/commands/submit.js.map +1 -1
  41. package/dist/index.d.ts +16 -14
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +16 -14
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/api-client.d.ts +3 -0
  46. package/dist/lib/api-client.d.ts.map +1 -1
  47. package/dist/lib/api-client.js +31 -16
  48. package/dist/lib/api-client.js.map +1 -1
  49. package/dist/lib/config-validator.d.ts.map +1 -1
  50. package/dist/lib/config-validator.js +12 -12
  51. package/dist/lib/config-validator.js.map +1 -1
  52. package/dist/lib/config.d.ts +1 -1
  53. package/dist/lib/config.d.ts.map +1 -1
  54. package/dist/lib/config.js +16 -14
  55. package/dist/lib/config.js.map +1 -1
  56. package/dist/lib/display.d.ts +10 -4
  57. package/dist/lib/display.d.ts.map +1 -1
  58. package/dist/lib/display.js +263 -167
  59. package/dist/lib/display.js.map +1 -1
  60. package/dist/lib/file-upload.d.ts.map +1 -1
  61. package/dist/lib/file-upload.js +17 -17
  62. package/dist/lib/file-upload.js.map +1 -1
  63. package/dist/lib/interactive.d.ts +1 -1
  64. package/dist/lib/interactive.d.ts.map +1 -1
  65. package/dist/lib/interactive.js +196 -144
  66. package/dist/lib/interactive.js.map +1 -1
  67. package/dist/src/index.d.ts +0 -1
  68. package/dist/src/index.js +83 -63
  69. package/dist/src/index.js.map +1 -1
  70. package/dist/types/index.d.ts +34 -1
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/package.json +10 -3
  73. package/dist/commands/coursenames.d.ts +0 -15
  74. package/dist/commands/coursenames.d.ts.map +0 -1
  75. package/dist/commands/coursenames.js +0 -150
  76. package/dist/commands/coursenames.js.map +0 -1
  77. package/dist/lib/course-utils.d.ts +0 -6
  78. package/dist/lib/course-utils.d.ts.map +0 -1
  79. package/dist/lib/course-utils.js +0 -17
  80. package/dist/lib/course-utils.js.map +0 -1
@@ -1,24 +1,24 @@
1
- import { configExists, readConfig } from './config.js';
2
- import { createReadlineInterface, askQuestion } from './interactive.js';
1
+ import { configExists, readConfig } from "./config.js";
2
+ import { createReadlineInterface, askQuestion } from "./interactive.js";
3
3
  async function ensureConfig() {
4
4
  if (!configExists()) {
5
- console.log('No Canvas configuration found!');
6
- console.log('\nLet\'s set up your Canvas CLI configuration...\n');
5
+ console.log("No Canvas configuration found!");
6
+ console.log("\nLet's set up your Canvas CLI configuration...\n");
7
7
  const rl = createReadlineInterface();
8
- const setup = await askQuestion(rl, 'Would you like to set up your configuration now? (Y/n): ');
8
+ const setup = await askQuestion(rl, "Would you like to set up your configuration now? (Y/n): ");
9
9
  rl.close();
10
- if (setup.toLowerCase() === 'n' || setup.toLowerCase() === 'no') {
11
- console.log('\nTo set up later, run: canvas config setup');
12
- console.log('Or set environment variables: CANVAS_DOMAIN and CANVAS_API_TOKEN');
10
+ if (setup.toLowerCase() === "n" || setup.toLowerCase() === "no") {
11
+ console.log("\nTo set up later, run: canvas config setup");
12
+ console.log("Or set environment variables: CANVAS_DOMAIN and CANVAS_API_TOKEN");
13
13
  process.exit(1);
14
14
  }
15
- const { setupConfig } = await import('../commands/config.js');
15
+ const { setupConfig } = await import("../commands/config.js");
16
16
  await setupConfig();
17
17
  if (!configExists()) {
18
18
  console.log('\nConfiguration setup was not completed. Please run "canvas config setup" to try again.');
19
19
  process.exit(1);
20
20
  }
21
- console.log('\nConfiguration complete! You can now use Canvas CLI commands.');
21
+ console.log("\nConfiguration complete! You can now use Canvas CLI commands.");
22
22
  return true;
23
23
  }
24
24
  const config = readConfig();
@@ -29,10 +29,10 @@ async function ensureConfig() {
29
29
  return true;
30
30
  }
31
31
  export function requireConfig(fn) {
32
- return (async function (...args) {
32
+ return async function (...args) {
33
33
  await ensureConfig();
34
34
  return fn(...args);
35
- });
35
+ };
36
36
  }
37
37
  export { ensureConfig };
38
38
  //# sourceMappingURL=config-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../lib/config-validator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMxE,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAElE,MAAM,EAAE,GAAG,uBAAuB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,0DAA0D,CAAC,CAAC;QAChG,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC9D,MAAM,WAAW,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;YACvG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,MAAM,GAAwB,UAAU,EAAE,CAAC;IACjD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,aAAa,CAAoC,EAAK;IACpE,OAAO,CAAC,KAAK,WAAU,GAAG,IAAmB;QAC3C,MAAM,YAAY,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC,CAAM,CAAC;AACV,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../../lib/config-validator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAMxE,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QAEjE,MAAM,EAAE,GAAG,uBAAuB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,WAAW,CAC7B,EAAE,EACF,0DAA0D,CAC3D,CAAC;QACF,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC9D,MAAM,WAAW,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,yFAAyF,CAC1F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,MAAM,GAAwB,UAAU,EAAE,CAAC;IACjD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CACT,+EAA+E,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,aAAa,CAAoC,EAAK;IACpE,OAAO,KAAK,WAAW,GAAG,IAAmB;QAC3C,MAAM,YAAY,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAM,CAAC;AACT,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CanvasConfig, InstanceConfig } from '../types/index.js';
1
+ import type { CanvasConfig, InstanceConfig } from "../types/index.js";
2
2
  export declare function getDefaultConfig(): CanvasConfig;
3
3
  export declare function loadConfig(): InstanceConfig;
4
4
  export declare function saveConfig(domain: string, token: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMtE,wBAAgB,gBAAgB,IAAI,YAAY,CAO/C;AAGD,wBAAgB,UAAU,IAAI,cAAc,CAoB3C;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAejE;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAGD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAGD,wBAAgB,UAAU,IAAI,YAAY,GAAG,IAAI,CAWhD;AAKD,wBAAgB,iBAAiB,IAAI,cAAc,CAElD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMtE,wBAAgB,gBAAgB,IAAI,YAAY,CAO/C;AAGD,wBAAgB,UAAU,IAAI,cAAc,CA0B3C;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAejE;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAGD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAGD,wBAAgB,UAAU,IAAI,YAAY,GAAG,IAAI,CAWhD;AAKD,wBAAgB,iBAAiB,IAAI,cAAc,CAElD"}
@@ -1,25 +1,27 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import os from 'os';
4
- const CONFIG_FILE = path.join(os.homedir(), '.canvaslms-cli-config.json');
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import os from "os";
4
+ const CONFIG_FILE = path.join(os.homedir(), ".canvaslms-cli-config.json");
5
5
  export function getDefaultConfig() {
6
6
  return {
7
- domain: '',
8
- token: '',
7
+ domain: "",
8
+ token: "",
9
9
  createdAt: new Date().toISOString(),
10
- lastUpdated: new Date().toISOString()
10
+ lastUpdated: new Date().toISOString(),
11
11
  };
12
12
  }
13
13
  export function loadConfig() {
14
14
  try {
15
15
  if (fs.existsSync(CONFIG_FILE)) {
16
- const configData = JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf8'));
16
+ const configData = JSON.parse(fs.readFileSync(CONFIG_FILE, "utf8"));
17
17
  if (configData.domain && configData.token) {
18
- const domain = configData.domain.replace(/^https?:\/\//, '').replace(/\/$/, '');
18
+ const domain = configData.domain
19
+ .replace(/^https?:\/\//, "")
20
+ .replace(/\/$/, "");
19
21
  return { domain, token: configData.token };
20
22
  }
21
23
  }
22
- console.error('No Canvas configuration found!');
24
+ console.error("No Canvas configuration found!");
23
25
  console.error('\nPlease run "canvas config setup" to configure your Canvas credentials.');
24
26
  process.exit(1);
25
27
  }
@@ -32,12 +34,12 @@ export function loadConfig() {
32
34
  export function saveConfig(domain, token) {
33
35
  try {
34
36
  const config = {
35
- domain: domain.replace(/^https?:\/\//, '').replace(/\/$/, ''),
37
+ domain: domain.replace(/^https?:\/\//, "").replace(/\/$/, ""),
36
38
  token,
37
39
  createdAt: new Date().toISOString(),
38
- lastUpdated: new Date().toISOString()
40
+ lastUpdated: new Date().toISOString(),
39
41
  };
40
- fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf8');
42
+ fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), "utf8");
41
43
  return true;
42
44
  }
43
45
  catch (error) {
@@ -69,7 +71,7 @@ export function deleteConfig() {
69
71
  export function readConfig() {
70
72
  try {
71
73
  if (fs.existsSync(CONFIG_FILE)) {
72
- return JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf8'));
74
+ return JSON.parse(fs.readFileSync(CONFIG_FILE, "utf8"));
73
75
  }
74
76
  return null;
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { CanvasCourse, CanvasAssignment, CanvasAnnouncement } from '../types/index.js';
2
- import { createReadlineInterface } from './interactive.js';
1
+ import type { CanvasCourse, CanvasAssignment, CanvasAnnouncement } from "../types/index.js";
2
+ import { createReadlineInterface } from "./interactive.js";
3
3
  export interface ColumnDefinition {
4
4
  key: string;
5
5
  header: string;
@@ -7,7 +7,7 @@ export interface ColumnDefinition {
7
7
  minWidth?: number;
8
8
  maxWidth?: number;
9
9
  flex?: number;
10
- align?: 'left' | 'right' | 'center';
10
+ align?: "left" | "right" | "center";
11
11
  color?: (value: string, row: Record<string, any>) => string;
12
12
  }
13
13
  export interface TableOptions {
@@ -15,19 +15,25 @@ export interface TableOptions {
15
15
  showRowNumbers?: boolean;
16
16
  rowNumberHeader?: string;
17
17
  }
18
- export declare function pad(str: string, len: number, align?: 'left' | 'right' | 'center'): string;
18
+ export declare function pad(str: string, len: number, align?: "left" | "right" | "center"): string;
19
19
  export declare function truncate(str: string, maxLen: number): string;
20
20
  export declare class Table {
21
21
  private columns;
22
22
  private data;
23
23
  private options;
24
24
  private rowNumWidth;
25
+ private lastLineCount;
26
+ private lastTableWidth;
27
+ private resizeHandler;
28
+ private isWatching;
25
29
  constructor(columns: ColumnDefinition[], options?: TableOptions);
26
30
  addRow(row: Record<string, any>): this;
27
31
  addRows(rows: Record<string, any>[]): this;
28
32
  render(): void;
29
33
  renderWithResize(): void;
34
+ private startWatching;
30
35
  stopWatching(): void;
36
+ private clearTable;
31
37
  private renderTable;
32
38
  private renderTopBorder;
33
39
  private renderHeader;
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../lib/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../lib/display.ts"],"names":[],"mappings":"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"}