todoscan 0.1.4 → 0.1.5
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 +9 -1
- package/dist/index.js +49 -10
- package/dist/index.js.map +1 -1
- package/dist/projectConfig.d.ts +9 -0
- package/dist/projectConfig.d.ts.map +1 -0
- package/dist/projectConfig.js +37 -0
- package/dist/projectConfig.js.map +1 -0
- package/dist/saveVars.d.ts +14 -0
- package/dist/saveVars.d.ts.map +1 -0
- package/dist/saveVars.js +97 -0
- package/dist/saveVars.js.map +1 -0
- package/dist/tasks.d.ts +10 -1
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +45 -9
- package/dist/tasks.js.map +1 -1
- package/package.json +3 -3
- package/dist/env.d.ts +0 -9
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -32
- package/dist/env.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# todocli
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
|
|
3
8
|
A simple CLI tool that scans your codebase for TODO-style comments and optionally adds them as tasks to **Todoist**.
|
|
4
9
|
|
|
5
10
|
Stop forgetting TODOs buried in your code. Turn them into real, actionable tasks.
|
|
@@ -21,15 +26,18 @@ Stop forgetting TODOs buried in your code. Turn them into real, actionable tasks
|
|
|
21
26
|
## Installation
|
|
22
27
|
|
|
23
28
|
### Run with npx (recommended)
|
|
29
|
+
|
|
24
30
|
```bash
|
|
25
31
|
npx todoscan
|
|
26
32
|
```
|
|
27
33
|
|
|
28
|
-
|
|
29
34
|
### or install globaly
|
|
35
|
+
|
|
30
36
|
```bash
|
|
31
37
|
npm install -g todoscan
|
|
32
38
|
```
|
|
39
|
+
|
|
33
40
|
### Run
|
|
41
|
+
|
|
34
42
|
```bash
|
|
35
43
|
todoscan
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,9 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
8
8
|
const prompts_1 = __importDefault(require("prompts"));
|
|
9
9
|
const tasks_1 = require("./tasks");
|
|
10
10
|
const findTodos_1 = require("./findTodos");
|
|
11
|
+
const saveVars_1 = require("./saveVars");
|
|
12
|
+
const projectConfig_1 = require("./projectConfig");
|
|
13
|
+
const todoist_api_typescript_1 = require("@doist/todoist-api-typescript");
|
|
11
14
|
const asciiArt = `
|
|
12
15
|
________ __
|
|
13
16
|
/ | / |
|
|
@@ -23,23 +26,51 @@ $$$$$$$$/______ ____$$ | ______
|
|
|
23
26
|
console.clear();
|
|
24
27
|
console.log(chalk_1.default.blue(asciiArt));
|
|
25
28
|
async function mainMenu() {
|
|
29
|
+
const env = await saveVars_1.SaveVars.getInstance();
|
|
30
|
+
const projectConfig = new projectConfig_1.ProjectConfig(process.cwd());
|
|
31
|
+
if (!projectConfig.projectId) {
|
|
32
|
+
const api = new todoist_api_typescript_1.TodoistApi(env.API_TOKEN_TASKIST);
|
|
33
|
+
const projects = await api.getProjects();
|
|
34
|
+
const choice = await (0, prompts_1.default)({
|
|
35
|
+
type: 'select',
|
|
36
|
+
name: 'value',
|
|
37
|
+
message: 'Select your project for this repo:',
|
|
38
|
+
choices: projects.results.map(p => ({ title: p.name, value: p.id }))
|
|
39
|
+
});
|
|
40
|
+
projectConfig.save(choice.value);
|
|
41
|
+
}
|
|
42
|
+
const choices = [
|
|
43
|
+
{ title: 'Scan Todos', value: '1' },
|
|
44
|
+
{ title: 'List Todos', value: '2' },
|
|
45
|
+
];
|
|
46
|
+
if (projectConfig.projectId) {
|
|
47
|
+
choices.push({ title: 'Change Project', value: 'change_project' });
|
|
48
|
+
}
|
|
49
|
+
choices.push({ title: 'Clear', value: '3' }, { title: 'Exit', value: '4' });
|
|
26
50
|
const option = await (0, prompts_1.default)({
|
|
27
51
|
type: 'select',
|
|
28
52
|
name: 'choice',
|
|
29
53
|
message: 'Select Options (use arrowkeys to change, enter to confirm)',
|
|
30
|
-
choices
|
|
31
|
-
{ title: 'Scan Todos', value: '1' },
|
|
32
|
-
{ title: 'Clear', value: '2' },
|
|
33
|
-
{ title: 'Exit', value: '3' },
|
|
34
|
-
],
|
|
54
|
+
choices,
|
|
35
55
|
hint: '- Arrow keys to change. Return to submit',
|
|
36
56
|
instructions: false
|
|
37
57
|
});
|
|
58
|
+
if (option.choice === 'change_project') {
|
|
59
|
+
const api = new todoist_api_typescript_1.TodoistApi(env.API_TOKEN_TASKIST);
|
|
60
|
+
const projects = await api.getProjects();
|
|
61
|
+
const choice = await (0, prompts_1.default)({
|
|
62
|
+
type: 'select',
|
|
63
|
+
name: 'value',
|
|
64
|
+
message: 'Select your project for this repo:',
|
|
65
|
+
choices: projects.results.map(p => ({ title: p.name, value: p.id }))
|
|
66
|
+
});
|
|
67
|
+
projectConfig.save(choice.value);
|
|
68
|
+
}
|
|
38
69
|
switch (option.choice) {
|
|
39
70
|
case '1': {
|
|
40
71
|
const todos = await (0, findTodos_1.findTodos)();
|
|
41
72
|
todos.forEach(todo => {
|
|
42
|
-
console.log(
|
|
73
|
+
console.log(`( ) ${todo.text}`);
|
|
43
74
|
});
|
|
44
75
|
const option = await (0, prompts_1.default)({
|
|
45
76
|
type: 'select',
|
|
@@ -52,19 +83,27 @@ async function mainMenu() {
|
|
|
52
83
|
instructions: false
|
|
53
84
|
});
|
|
54
85
|
if (option.addToTaskist) {
|
|
55
|
-
|
|
56
|
-
(0, tasks_1.addTask)(
|
|
57
|
-
}
|
|
86
|
+
for (const todo of todos) {
|
|
87
|
+
await (0, tasks_1.addTask)(projectConfig.projectId, todo.text, [todo.type]);
|
|
88
|
+
}
|
|
58
89
|
}
|
|
59
90
|
break;
|
|
60
91
|
}
|
|
61
92
|
case '2': {
|
|
93
|
+
const todos = await (0, tasks_1.getTasks)(projectConfig.projectId);
|
|
94
|
+
todos.forEach((todo) => {
|
|
95
|
+
console.log(`( ) ${todo.content}`);
|
|
96
|
+
});
|
|
97
|
+
console.log('\n\n');
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case '3': {
|
|
62
101
|
console.clear();
|
|
63
102
|
console.log(chalk_1.default.blue(asciiArt));
|
|
64
103
|
await mainMenu();
|
|
65
104
|
break;
|
|
66
105
|
}
|
|
67
|
-
case '
|
|
106
|
+
case '4':
|
|
68
107
|
console.log(chalk_1.default.yellow('Goodbye!'));
|
|
69
108
|
process.exit(0);
|
|
70
109
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,kDAA0B;AAC1B,sDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectConfig.d.ts","sourceRoot":"","sources":["../src/projectConfig.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAE3B,SAAS,EAAE,MAAM,CAAM;gBAElB,GAAG,EAAE,MAAM;IAQhB,IAAI,CAAC,SAAS,EAAE,MAAM;IAU7B,OAAO,CAAC,cAAc;CAazB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectConfig = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
class ProjectConfig {
|
|
7
|
+
FILE_NAME = '.todoscan_project.json';
|
|
8
|
+
LOCATION;
|
|
9
|
+
projectId = '';
|
|
10
|
+
constructor(cwd) {
|
|
11
|
+
this.LOCATION = (0, path_1.join)(cwd, this.FILE_NAME);
|
|
12
|
+
if ((0, fs_1.existsSync)(this.LOCATION)) {
|
|
13
|
+
this.projectId = JSON.parse((0, fs_1.readFileSync)(this.LOCATION, 'utf-8')).projectId;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
save(projectId) {
|
|
17
|
+
this.projectId = projectId;
|
|
18
|
+
(0, fs_1.writeFileSync)(this.LOCATION, JSON.stringify({ projectId }, null, 2), {
|
|
19
|
+
encoding: 'utf-8',
|
|
20
|
+
mode: 0o600
|
|
21
|
+
});
|
|
22
|
+
this.addToGitignore();
|
|
23
|
+
}
|
|
24
|
+
addToGitignore() {
|
|
25
|
+
const gitignorePath = (0, path_1.join)(process.cwd(), '.gitignore');
|
|
26
|
+
let gitignoreContent = '';
|
|
27
|
+
if ((0, fs_1.existsSync)(gitignorePath)) {
|
|
28
|
+
gitignoreContent = (0, fs_1.readFileSync)(gitignorePath, 'utf-8');
|
|
29
|
+
}
|
|
30
|
+
if (!gitignoreContent.split('\n').includes(this.FILE_NAME)) {
|
|
31
|
+
(0, fs_1.appendFileSync)(gitignorePath, `\n${this.FILE_NAME}\n`, { encoding: 'utf-8' });
|
|
32
|
+
console.log(`Added ${this.FILE_NAME} to .gitignore`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ProjectConfig = ProjectConfig;
|
|
37
|
+
//# sourceMappingURL=projectConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../src/projectConfig.ts"],"names":[],"mappings":";;;AAAA,2BAA6E;AAC7E,+BAA4B;AAE5B,MAAa,aAAa;IACL,SAAS,GAAG,wBAAwB,CAAC;IACrC,QAAQ,CAAS;IAE3B,SAAS,GAAW,EAAE,CAAC;IAE9B,YAAY,GAAW;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,SAAiB;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAA,kBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACjE,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,cAAc;QAClB,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAE1B,IAAI,IAAA,eAAU,EAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,gBAAgB,GAAG,IAAA,iBAAY,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,IAAA,mBAAc,EAAC,aAAa,EAAE,KAAK,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;CACJ;AArCD,sCAqCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class SaveVars {
|
|
2
|
+
private readonly FILE_NAME;
|
|
3
|
+
private readonly LOCATION;
|
|
4
|
+
private static instance;
|
|
5
|
+
API_TOKEN_TASKIST: string;
|
|
6
|
+
private secrets;
|
|
7
|
+
private constructor();
|
|
8
|
+
static getInstance(): Promise<SaveVars>;
|
|
9
|
+
private loadFile;
|
|
10
|
+
private promptForToken;
|
|
11
|
+
load(varName: string, promptIfMissing?: boolean): Promise<string>;
|
|
12
|
+
private saveFile;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=saveVars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveVars.d.ts","sourceRoot":"","sources":["../src/saveVars.ts"],"names":[],"mappings":"AASA,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAEzC,iBAAiB,EAAE,MAAM,CAAM;IAEtC,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO;WAMa,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAcpD,OAAO,CAAC,QAAQ;YAYF,cAAc;IAyBf,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBpF,OAAO,CAAC,QAAQ;CAUnB"}
|
package/dist/saveVars.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
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.SaveVars = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
class SaveVars {
|
|
13
|
+
FILE_NAME = '.todoscan_secrets.json';
|
|
14
|
+
LOCATION;
|
|
15
|
+
static instance = null;
|
|
16
|
+
API_TOKEN_TASKIST = "";
|
|
17
|
+
secrets = {};
|
|
18
|
+
constructor() {
|
|
19
|
+
this.LOCATION = (0, path_1.join)(os_1.default.homedir(), this.FILE_NAME);
|
|
20
|
+
this.loadFile();
|
|
21
|
+
this.API_TOKEN_TASKIST = this.secrets['api-token-taskist'] ?? "";
|
|
22
|
+
}
|
|
23
|
+
static async getInstance() {
|
|
24
|
+
if (!this.instance) {
|
|
25
|
+
this.instance = new SaveVars();
|
|
26
|
+
while (!this.instance.API_TOKEN_TASKIST) {
|
|
27
|
+
try {
|
|
28
|
+
await this.instance.promptForToken();
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
console.log('Token is required to continue.');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return this.instance;
|
|
36
|
+
}
|
|
37
|
+
loadFile() {
|
|
38
|
+
if ((0, fs_1.existsSync)(this.LOCATION)) {
|
|
39
|
+
try {
|
|
40
|
+
const content = (0, fs_1.readFileSync)(this.LOCATION, 'utf-8');
|
|
41
|
+
this.secrets = JSON.parse(content);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error('Failed to read secrets file:', error);
|
|
45
|
+
this.secrets = {};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async promptForToken() {
|
|
50
|
+
console.log("You need a Todoist API token to use this CLI.\n" +
|
|
51
|
+
"If you don't have one, you can create it here:\n" +
|
|
52
|
+
chalk_1.default.gray.bold.underline("https://app.todoist.com/app/settings/integrations/developer\n"));
|
|
53
|
+
const response = await (0, prompts_1.default)({
|
|
54
|
+
type: 'password',
|
|
55
|
+
name: 'value',
|
|
56
|
+
message: 'Enter your Todoist API token:',
|
|
57
|
+
validate: value => value.length > 10 ? true : 'Token should be atleast 10 characters long'
|
|
58
|
+
});
|
|
59
|
+
if (!response.value) {
|
|
60
|
+
throw new Error('No token provided. Login cancelled.');
|
|
61
|
+
}
|
|
62
|
+
this.secrets['api-token-taskist'] = response.value;
|
|
63
|
+
this.API_TOKEN_TASKIST = response.value;
|
|
64
|
+
this.saveFile();
|
|
65
|
+
console.log(chalk_1.default.green('√') + ' Token saved successfully!');
|
|
66
|
+
}
|
|
67
|
+
async load(varName, promptIfMissing = true) {
|
|
68
|
+
if (this.secrets[varName])
|
|
69
|
+
return this.secrets[varName];
|
|
70
|
+
if (promptIfMissing) {
|
|
71
|
+
const response = await (0, prompts_1.default)({
|
|
72
|
+
type: 'text',
|
|
73
|
+
name: 'value',
|
|
74
|
+
message: `Enter value for ${varName}:`
|
|
75
|
+
});
|
|
76
|
+
if (!response.value)
|
|
77
|
+
throw new Error(`No value provided for ${varName}`);
|
|
78
|
+
this.secrets[varName] = response.value;
|
|
79
|
+
this.saveFile();
|
|
80
|
+
return response.value;
|
|
81
|
+
}
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
saveFile() {
|
|
85
|
+
try {
|
|
86
|
+
(0, fs_1.writeFileSync)(this.LOCATION, JSON.stringify(this.secrets, null, 2), {
|
|
87
|
+
encoding: 'utf-8',
|
|
88
|
+
mode: 0o600
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.error('Failed to save secrets file:', error);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.SaveVars = SaveVars;
|
|
97
|
+
//# sourceMappingURL=saveVars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveVars.js","sourceRoot":"","sources":["../src/saveVars.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { TodoistApi } from '@doist/todoist-api-typescript';
|
|
2
|
+
export declare let api: TodoistApi | null;
|
|
3
|
+
export declare function resetApi(): void;
|
|
4
|
+
/**
|
|
5
|
+
* Get all tasks for a project
|
|
6
|
+
*/
|
|
7
|
+
export declare function getTasks(projectId: string): Promise<any>;
|
|
8
|
+
/**
|
|
9
|
+
* Add a task to a project
|
|
10
|
+
*/
|
|
2
11
|
export declare function addTask(projectId: string, content: string, labels: string[], debug?: boolean): Promise<{
|
|
3
12
|
isUncompletable: boolean;
|
|
4
13
|
url: string;
|
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,eAAO,IAAI,GAAG,EAAE,UAAU,GAAG,IAAW,CAAC;AAEzC,wBAAgB,QAAQ,SAEvB;AAgBD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,gBAS/C;AAED;;GAEG;AACH,wBAAsB,OAAO,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAa0sD,CAAC;gBAA6C,CAAC;YAAyC,CAAC;;;;;;;;;GADnzD"}
|
package/dist/tasks.js
CHANGED
|
@@ -1,21 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.api = void 0;
|
|
7
|
+
exports.resetApi = resetApi;
|
|
3
8
|
exports.getTasks = getTasks;
|
|
4
9
|
exports.addTask = addTask;
|
|
5
10
|
const todoist_api_typescript_1 = require("@doist/todoist-api-typescript");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
api.getTasks({ projectId })
|
|
12
|
-
.then((task) => task.results.map((t, _) => console.log(_, t.content, t.labels)))
|
|
13
|
-
.catch((error) => console.log(error));
|
|
11
|
+
const saveVars_1 = require("./saveVars");
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
exports.api = null;
|
|
14
|
+
function resetApi() {
|
|
15
|
+
exports.api = null;
|
|
14
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Ensure the API is initialized.
|
|
19
|
+
* Returns the initialized TodoistApi instance.
|
|
20
|
+
*/
|
|
21
|
+
async function getApi() {
|
|
22
|
+
if (!exports.api) {
|
|
23
|
+
const env = await saveVars_1.SaveVars.getInstance();
|
|
24
|
+
if (!env.API_TOKEN_TASKIST) {
|
|
25
|
+
throw new Error('API token missing after initialization');
|
|
26
|
+
}
|
|
27
|
+
exports.api = new todoist_api_typescript_1.TodoistApi(env.API_TOKEN_TASKIST);
|
|
28
|
+
}
|
|
29
|
+
return exports.api;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get all tasks for a project
|
|
33
|
+
*/
|
|
34
|
+
async function getTasks(projectId) {
|
|
35
|
+
const api = await getApi();
|
|
36
|
+
try {
|
|
37
|
+
const tasks = await api.getTasks({ projectId });
|
|
38
|
+
return tasks.results;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error('Error fetching tasks:', error);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Add a task to a project
|
|
47
|
+
*/
|
|
15
48
|
async function addTask(projectId, content, labels, debug = false) {
|
|
49
|
+
const api = await getApi();
|
|
16
50
|
try {
|
|
17
51
|
const task = await api.addTask({ projectId, content, labels });
|
|
18
|
-
|
|
52
|
+
if (debug)
|
|
53
|
+
console.log('Task added:', task.content, 'Labels:', task.labels);
|
|
54
|
+
console.log(chalk_1.default.green('√') + ' Task added successfully');
|
|
19
55
|
return task;
|
|
20
56
|
}
|
|
21
57
|
catch (error) {
|
package/dist/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":";;;;;;AAMA,4BAEC;AAmBD,4BASC;AAKD,0BAgBC;AAzDD,0EAA2D;AAC3D,yCAAsC;AACtC,kDAA0B;AAEf,QAAA,GAAG,GAAsB,IAAI,CAAC;AAEzC,SAAgB,QAAQ;IACpB,WAAG,GAAG,IAAI,CAAC;AACf,CAAC;AACD;;;GAGG;AACH,KAAK,UAAU,MAAM;IACjB,IAAI,CAAC,WAAG,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QACD,WAAG,GAAG,IAAI,mCAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,WAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,QAAQ,CAAC,SAAiB;IAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,KAAK,GAAQ,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,OAAO,CACzB,SAAiB,EACjB,OAAe,EACf,MAAgB,EAChB,KAAK,GAAG,KAAK;IAEb,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "todoscan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Scan TODO comments in your code and push them to Todoist",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@doist/todoist-api-typescript": "^6.3.0",
|
|
46
|
-
"chalk": "^
|
|
46
|
+
"chalk": "^4.1.2",
|
|
47
47
|
"dotenv": "^17.2.3",
|
|
48
48
|
"ignore": "^7.0.5",
|
|
49
49
|
"inquirer": "^13.2.2",
|
|
50
50
|
"prompt": "^1.3.0",
|
|
51
51
|
"prompts": "^2.4.2"
|
|
52
52
|
}
|
|
53
|
-
}
|
|
53
|
+
}
|
package/dist/env.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DotenvConfigOptions } from 'dotenv';
|
|
2
|
-
export declare class Environment {
|
|
3
|
-
private static instance;
|
|
4
|
-
readonly API_TOKEN_TASKIST: string;
|
|
5
|
-
private constructor();
|
|
6
|
-
static getInstance(options?: DotenvConfigOptions): Environment;
|
|
7
|
-
static destroyInstance(): void;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAErD,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IAEjD,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAE1C,OAAO;WAYO,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,WAAW;WAavD,eAAe;CAGhC"}
|
package/dist/env.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Environment = void 0;
|
|
4
|
-
const dotenv_1 = require("dotenv");
|
|
5
|
-
class Environment {
|
|
6
|
-
static instance;
|
|
7
|
-
API_TOKEN_TASKIST;
|
|
8
|
-
constructor(options) {
|
|
9
|
-
(0, dotenv_1.config)(options);
|
|
10
|
-
const apiTokenTaskist = process.env.API_TOKEN_TASKIST;
|
|
11
|
-
if (!apiTokenTaskist) {
|
|
12
|
-
throw new Error("API_TOKEN_TASKIST is not set in environment variables");
|
|
13
|
-
}
|
|
14
|
-
this.API_TOKEN_TASKIST = apiTokenTaskist;
|
|
15
|
-
}
|
|
16
|
-
static getInstance(options) {
|
|
17
|
-
if (!Environment.instance) {
|
|
18
|
-
try {
|
|
19
|
-
Environment.instance = new Environment(options);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
throw new Error(e.message);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return Environment.instance;
|
|
26
|
-
}
|
|
27
|
-
static destroyInstance() {
|
|
28
|
-
Environment.instance = undefined;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.Environment = Environment;
|
|
32
|
-
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";;;AAAA,mCAAqD;AAErD,MAAa,WAAW;IACZ,MAAM,CAAC,QAAQ,CAA0B;IAEjC,iBAAiB,CAAS;IAE1C,YAAoB,OAA6B;QAC7C,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC;QAEhB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAEtD,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,OAA6B;QACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC;gBACD,WAAW,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAGD,OAAO,WAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,WAAW,CAAC,QAAQ,GAAG,SAAS,CAAC;IACrC,CAAC;CACJ;AAjCD,kCAiCC"}
|