imdone-core 1.54.10 → 2.0.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/README.md +2 -2
- package/lib/cli.js +114 -0
- package/lib/index.js +23 -0
- package/package.json +48 -66
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -37
- package/.github/workflows/ci.yml +0 -24
- package/.imdoneignore +0 -12
- package/.mocharc.json +0 -10
- package/.prettierrc +0 -6
- package/CHANGELOG.md +0 -160
- package/_navbar.md +0 -1
- package/cli.js +0 -74
- package/index-markdown.js +0 -55
- package/index.html +0 -184
- package/index.js +0 -1
- package/lib/ProjectContext.js +0 -42
- package/lib/adapters/date-time.js +0 -20
- package/lib/adapters/file-gateway.js +0 -127
- package/lib/adapters/git-download.js +0 -35
- package/lib/adapters/markdown.js +0 -168
- package/lib/adapters/parsers/DateLanguageParser.js +0 -10
- package/lib/adapters/parsers/content-transformer.js +0 -111
- package/lib/adapters/parsers/file/LocalFileParserFactory.js +0 -37
- package/lib/adapters/parsers/file/ReadStreamCodeParser.js +0 -126
- package/lib/adapters/parsers/file/ReadStreamMarkdownParser.js +0 -17
- package/lib/adapters/parsers/file/ReadStreamTaskParser.js +0 -104
- package/lib/adapters/parsers/function-parser.js +0 -29
- package/lib/adapters/parsers/task/CardContentParser.js +0 -376
- package/lib/adapters/parsers/task/CheckStyleTaskParser.js +0 -28
- package/lib/adapters/parsers/task/CodeStyleTaskParser.js +0 -24
- package/lib/adapters/parsers/task/HashStyleTaskParser.js +0 -27
- package/lib/adapters/parsers/task/MarkdownStyleTaskParser.js +0 -24
- package/lib/adapters/parsers/task/TaskParser.js +0 -38
- package/lib/adapters/readers/FileSystemProjectReader.js +0 -45
- package/lib/adapters/storage/config.js +0 -49
- package/lib/adapters/storage/tags.js +0 -30
- package/lib/adapters/yaml.js +0 -6
- package/lib/card.js +0 -300
- package/lib/config.js +0 -214
- package/lib/constants.js +0 -97
- package/lib/context/ApplicationContext.js +0 -32
- package/lib/context/StreamingApplicationContext.js +0 -31
- package/lib/controlers/SaveViewController.js +0 -10
- package/lib/default-settings.js +0 -37
- package/lib/domain/entities/FileProjectContext.js +0 -10
- package/lib/domain/entities/View.js +0 -30
- package/lib/domain/usecases/GetViewsUsecase.js +0 -50
- package/lib/domain/usecases/OpenProjectUsecase.js +0 -13
- package/lib/domain/usecases/SaveViewUsecase.js +0 -57
- package/lib/file.js +0 -1395
- package/lib/languages.js +0 -114
- package/lib/list.js +0 -105
- package/lib/migrate-config.js +0 -165
- package/lib/mixins/repo-fs-store.js +0 -424
- package/lib/mixins/repo-watched-fs-store.js +0 -195
- package/lib/plugins/archive-plugin.js +0 -70
- package/lib/plugins/default-board-actions-plugin.js +0 -56
- package/lib/plugins/default-board-properties-plugin.js +0 -101
- package/lib/plugins/epic-plugin.js +0 -176
- package/lib/plugins/extension-plugin.js +0 -87
- package/lib/plugins/persist-tags-plugin.js +0 -13
- package/lib/plugins/plugin-manager.js +0 -421
- package/lib/plugins/plugin-registry.js +0 -61
- package/lib/project-factory.js +0 -45
- package/lib/project.js +0 -911
- package/lib/repository.js +0 -1746
- package/lib/task.js +0 -798
- package/lib/tools.js +0 -250
- package/lib/usecases/get-imdone-url.js +0 -6
- package/lib/usecases/get-project-tags.js +0 -16
- package/lib/usecases/get-tasks-in-file.js +0 -29
package/README.md
CHANGED
|
@@ -9,7 +9,6 @@ Imdone is text based kanban processor with a simple syntax that uses [comment ta
|
|
|
9
9
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
10
10
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
- [Imdone format](#imdone-format)
|
|
14
13
|
- [Code Style](#code-style)
|
|
15
14
|
- [Hash Style](#hash-style)
|
|
@@ -203,8 +202,9 @@ License
|
|
|
203
202
|
{{version}} :package: :hammer_and_wrench: Code Version
|
|
204
203
|
{{publishedVersion}} :package: :passenger_ship: Published Version
|
|
205
204
|
|
|
205
|
+
[ESM Migration]({{getFilterURL('list = NOTE or allTags = "esm-migration"')}})
|
|
206
206
|
[Focus]({{getFilterURL('list = DOING or tags = focus')}})
|
|
207
|
-
[Plan]({{
|
|
207
|
+
[Plan]({{clearFilterURL}})
|
|
208
208
|
|
|
209
209
|
<!--
|
|
210
210
|
expand:1
|
package/lib/cli.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// DOING Modernize cli to esm
|
|
4
|
+
// <!--
|
|
5
|
+
// order:-40
|
|
6
|
+
// -->
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
import ora from 'ora';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import * as fs from 'node:fs/promises'; // Use fs/promises for async read
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
import path from 'node:path';
|
|
13
|
+
import { executeBoardAction, listAvailableActions } from './usecases/actions.js';
|
|
14
|
+
import { logger } from './adapters/logger.js';
|
|
15
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
+
const __dirname = path.dirname(__filename);
|
|
17
|
+
|
|
18
|
+
async function getPackageJson() {
|
|
19
|
+
try {
|
|
20
|
+
const data = await fs.readFile(path.join(__dirname, '..', 'package.json'), 'utf8');
|
|
21
|
+
return JSON.parse(data);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
logger.error("Error reading package.json:", error);
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const _package = await getPackageJson();
|
|
29
|
+
// const { log } = hideLogs();
|
|
30
|
+
const spinner = ora('Loading unicorns');
|
|
31
|
+
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
spinner.color = 'yellow';
|
|
34
|
+
spinner.text = 'Loading rainbows';
|
|
35
|
+
}, 1000);
|
|
36
|
+
|
|
37
|
+
function actionCancelled() {
|
|
38
|
+
logger.log(chalk.bgRed('Action canceled'));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const program = new Command();
|
|
42
|
+
program.version(_package.version, '-v, --version', 'output the current version');
|
|
43
|
+
|
|
44
|
+
const actionCmd = program.command('action')
|
|
45
|
+
.description('Manage board actions');
|
|
46
|
+
|
|
47
|
+
actionCmd
|
|
48
|
+
.command('run <title>')
|
|
49
|
+
.option('-p, --plugin <plugin>', 'Plugin name', 'ExtensionPlugin')
|
|
50
|
+
.option('-t, --task <task>', 'Task filePath:line')
|
|
51
|
+
.option('-w, --working-dir <workingDir>', 'Working directory', '.')
|
|
52
|
+
.option('-c, --config <configPath>', 'Config file path', path.join('.imdone', 'config.yml'))
|
|
53
|
+
.description('Run a board action')
|
|
54
|
+
.action(async (title, {
|
|
55
|
+
plugin = 'ExtensionPlugin',
|
|
56
|
+
task,
|
|
57
|
+
workingDir,
|
|
58
|
+
configPath
|
|
59
|
+
}) => {
|
|
60
|
+
spinner.start();
|
|
61
|
+
const action = { plugin, title };
|
|
62
|
+
const [filePath, line] = task ? task.split(':') : [];
|
|
63
|
+
// DOING: Move this CLI command to a usecase
|
|
64
|
+
try {
|
|
65
|
+
await executeBoardAction({
|
|
66
|
+
projectPath: workingDir,
|
|
67
|
+
configPath,
|
|
68
|
+
task: filePath && line && { filePath, line },
|
|
69
|
+
action
|
|
70
|
+
});
|
|
71
|
+
} catch (e) {
|
|
72
|
+
logger.error(e);
|
|
73
|
+
actionCancelled();
|
|
74
|
+
} finally {
|
|
75
|
+
spinner.stop();
|
|
76
|
+
process.exit(0);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
actionCmd
|
|
81
|
+
.command('list')
|
|
82
|
+
.option('-p, --plugin <plugin>', 'Plugin name', 'ExtensionPlugin')
|
|
83
|
+
.option('-w, --working-dir <workingDir>', 'Working directory')
|
|
84
|
+
.option('-c, --config <configPath>', 'Config file path')
|
|
85
|
+
.description('List available actions')
|
|
86
|
+
.action(async ({ workingDir = path.resolve('.'), configPath, plugin}) => {
|
|
87
|
+
spinner.start();
|
|
88
|
+
try {
|
|
89
|
+
await listAvailableActions(workingDir, configPath, plugin);
|
|
90
|
+
} catch (e) {
|
|
91
|
+
logger.error(e);
|
|
92
|
+
actionCancelled();
|
|
93
|
+
} finally {
|
|
94
|
+
spinner.stop();
|
|
95
|
+
process.exit(0);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
program.parse();
|
|
100
|
+
|
|
101
|
+
function hideLogs() {
|
|
102
|
+
const log = logger.log;
|
|
103
|
+
const info = logger.info;
|
|
104
|
+
const warn = logger.warn;
|
|
105
|
+
const logQueue = { warn: [], info: [], log: [] };
|
|
106
|
+
if (!process.env.DEBUG) {
|
|
107
|
+
Object.keys(logQueue).forEach((key) => {
|
|
108
|
+
console[key] = function(...args) {
|
|
109
|
+
logQueue[key].push(args);
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return { log, info, warn, logQueue };
|
|
114
|
+
}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from './FileProjectContext.js';
|
|
2
|
+
export * from './ProjectContext.js';
|
|
3
|
+
export * from './card.js';
|
|
4
|
+
export * from './checksum.js';
|
|
5
|
+
export * from './config.js';
|
|
6
|
+
export * from './constants.js';
|
|
7
|
+
export * from './default-settings.js';
|
|
8
|
+
export * from './file.js';
|
|
9
|
+
export * from './get-tasks-to-modify.js';
|
|
10
|
+
export * from './languages.js';
|
|
11
|
+
export * from './list.js';
|
|
12
|
+
export * from './migrate-config.js';
|
|
13
|
+
export * from './project-factory.js';
|
|
14
|
+
export * from './project.js';
|
|
15
|
+
export * from './repository.js';
|
|
16
|
+
export * from './task.js';
|
|
17
|
+
export * from './tools.js';
|
|
18
|
+
export * as adapters from './adapters/index.js';
|
|
19
|
+
export * as context from './context/index.js';
|
|
20
|
+
export * as domain from './domain/index.js';
|
|
21
|
+
export * as mixins from './mixins/index.js';
|
|
22
|
+
export * as plugins from './plugins/index.js';
|
|
23
|
+
export * as usecases from './usecases/index.js';
|
package/package.json
CHANGED
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imdone-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "imdone-core",
|
|
5
|
-
"
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/imdone/imdone-core.git"
|
|
8
|
+
},
|
|
9
|
+
"main": "lib/index.js",
|
|
10
|
+
"module": "lib/index.js",
|
|
11
|
+
"types": "types/index.d.ts",
|
|
12
|
+
"files": [
|
|
13
|
+
"dist"
|
|
14
|
+
],
|
|
15
|
+
"type": "module",
|
|
6
16
|
"bin": {
|
|
7
|
-
"imdone-cli": "
|
|
17
|
+
"imdone-cli": "lib/cli.js"
|
|
8
18
|
},
|
|
9
19
|
"scripts": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
20
|
+
"prepublishOnly": "npm run build:index && npm run build",
|
|
21
|
+
"build": "npm run build:docs && npm run build:docs:index && npm run coverage && npm run build:index && npm run build:types",
|
|
22
|
+
"build:docs": "doctoc --github --notitle README.md",
|
|
23
|
+
"build:docs:index": "node scripts/index-markdown.js",
|
|
24
|
+
"build:index": "node scripts/generate-index.js",
|
|
25
|
+
"build:types": "tsc --noEmit false",
|
|
26
|
+
"coverage": "vitest --run --coverage",
|
|
27
|
+
"test": "vitest --run",
|
|
28
|
+
"test-ci": "vitest --run",
|
|
16
29
|
"serve": "npx docsify-cli serve"
|
|
17
30
|
},
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "https://github.com/imdone/imdone-core.git"
|
|
21
|
-
},
|
|
22
31
|
"keywords": [
|
|
23
32
|
"imdone",
|
|
24
33
|
"TODO",
|
|
@@ -34,33 +43,24 @@
|
|
|
34
43
|
"url": "https://github.com/imdone/imdone-core/issues"
|
|
35
44
|
},
|
|
36
45
|
"homepage": "https://github.com/imdone/imdone-core",
|
|
37
|
-
"jshintConfig": {
|
|
38
|
-
"strict": true,
|
|
39
|
-
"node": true,
|
|
40
|
-
"globals": {
|
|
41
|
-
"jQuery": true,
|
|
42
|
-
"console": false,
|
|
43
|
-
"module": true,
|
|
44
|
-
"document": true
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
46
|
"dependencies": {
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
47
|
+
"adm-zip": "^0.5.16",
|
|
48
|
+
"async": "^3.2.6",
|
|
49
|
+
"async-es": "^3.2.6",
|
|
50
|
+
"chalk": "^5.4.1",
|
|
51
|
+
"chokidar": "^4.0.3",
|
|
52
|
+
"chrono-node": "^2.7.8",
|
|
53
|
+
"commander": "^13.1.0",
|
|
54
54
|
"debug": ">=4.3.4",
|
|
55
|
-
"download": "^8.0.0",
|
|
56
55
|
"eol": "^0.9.1",
|
|
57
56
|
"escape-string-regexp": "^1.0.5",
|
|
58
|
-
"
|
|
59
|
-
"
|
|
57
|
+
"eta": "^3.5.0",
|
|
58
|
+
"fast-sort": "^3.4.1",
|
|
59
|
+
"find-up-simple": "^1.0.1",
|
|
60
60
|
"gray-matter": "^4.0.2",
|
|
61
61
|
"ignore": "^5.2.0",
|
|
62
62
|
"imdone-api": "^1.54.0",
|
|
63
|
-
"isbinaryfile": "^
|
|
63
|
+
"isbinaryfile": "^5.0.4",
|
|
64
64
|
"js-yaml": "^3.14.1",
|
|
65
65
|
"json-fns": "^1.0.0",
|
|
66
66
|
"lodash.assign": "^4.2.0",
|
|
@@ -82,69 +82,51 @@
|
|
|
82
82
|
"lodash.reject": "^4.6.0",
|
|
83
83
|
"lodash.remove": "^4.7.0",
|
|
84
84
|
"lodash.some": "^4.6.0",
|
|
85
|
-
"lodash.template": "^4.5.0",
|
|
86
85
|
"lodash.union": "^4.6.0",
|
|
87
86
|
"lodash.uniq": "^4.5.0",
|
|
88
87
|
"lodash.where": "^3.1.0",
|
|
89
88
|
"lodash.without": "^4.4.0",
|
|
90
|
-
"markdown-it": "^
|
|
89
|
+
"markdown-it": "^14.1.0",
|
|
91
90
|
"markdown-it-checkbox": "^1.1.0",
|
|
92
91
|
"markdown-it-emoji": "^2.0.0",
|
|
93
92
|
"markdown-it-imsize": "^2.0.1",
|
|
94
93
|
"markdown-it-mark": "^3.0.1",
|
|
95
|
-
"mkdirp": "^1.0.4",
|
|
96
94
|
"moment": "^2.29.1",
|
|
97
95
|
"monquery": "github:imdone/node-monquery#0.2.1",
|
|
98
96
|
"multilang-extract-comments": "^0.4.0",
|
|
97
|
+
"node-fetch": "^3.3.2",
|
|
99
98
|
"open": "^9.1.0",
|
|
100
|
-
"ora": "^
|
|
99
|
+
"ora": "^8.2.0",
|
|
101
100
|
"parse-code-context": "^1.0.0",
|
|
102
101
|
"prompts": "^2.4.2",
|
|
103
|
-
"readdirp": "^
|
|
102
|
+
"readdirp": "^4.1.2",
|
|
104
103
|
"remove-markdown": "^0.3.0",
|
|
105
104
|
"rimraf": "^3.0.2",
|
|
106
|
-
"sane": "^5.0.1",
|
|
107
105
|
"sanitize-filename": "^1.6.3",
|
|
108
106
|
"sift": "^17.1.3",
|
|
109
107
|
"simple-git": "^3.19.1",
|
|
110
108
|
"uniqid": "^5.4.0",
|
|
111
|
-
"xregexp": "^5.1.
|
|
109
|
+
"xregexp": "^5.1.2"
|
|
112
110
|
},
|
|
113
111
|
"devDependencies": {
|
|
114
|
-
"
|
|
112
|
+
"@types/node": "^22.13.13",
|
|
113
|
+
"@vitest/coverage-istanbul": "^3.0.8",
|
|
114
|
+
"@vitest/coverage-v8": "^3.0.8",
|
|
115
|
+
"chai": "^5.2.0",
|
|
115
116
|
"colors": "^1.4.0",
|
|
117
|
+
"dependency-cruiser": "^16.10.0",
|
|
116
118
|
"doctoc": "^2.1.0",
|
|
119
|
+
"esbuild": "^0.25.1",
|
|
117
120
|
"expect.js": "~0.3.1",
|
|
118
121
|
"fs-extra": "^11.1.0",
|
|
119
|
-
"jshint": "^2.9.4",
|
|
120
122
|
"json-stringify-safe": "~5.0.0",
|
|
121
123
|
"mocha": "^11.1.0",
|
|
122
124
|
"mocha-each": "^2.0.1",
|
|
123
|
-
"nyc": "^15.1.0",
|
|
124
125
|
"prettier": "^2.5.1",
|
|
125
126
|
"should": "13.1.3",
|
|
126
|
-
"sinon": "^
|
|
127
|
-
"sinon-chai": "^
|
|
128
|
-
"
|
|
129
|
-
|
|
130
|
-
"mocha": {
|
|
131
|
-
"diff": true,
|
|
132
|
-
"extension": [
|
|
133
|
-
"js",
|
|
134
|
-
"cjs",
|
|
135
|
-
"mjs"
|
|
136
|
-
],
|
|
137
|
-
"package": "./package.json",
|
|
138
|
-
"reporter": "spec",
|
|
139
|
-
"slow": "75",
|
|
140
|
-
"timeout": "2000",
|
|
141
|
-
"spec": [
|
|
142
|
-
"lib/**/__tests__/**/*.spec.js",
|
|
143
|
-
"test/**/*spec.js"
|
|
144
|
-
],
|
|
145
|
-
"watch-files": [
|
|
146
|
-
"lib/**/__tests__/**/*.spec.js",
|
|
147
|
-
"test/**/*spec.js"
|
|
148
|
-
]
|
|
127
|
+
"sinon": "^19.0.2",
|
|
128
|
+
"sinon-chai": "^4.0.0",
|
|
129
|
+
"typescript": "^5.8.2",
|
|
130
|
+
"vitest": "^3.0.8"
|
|
149
131
|
}
|
|
150
132
|
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Bug report
|
|
3
|
-
about: Create a report to help us improve imdone
|
|
4
|
-
title: ''
|
|
5
|
-
labels: 'bug'
|
|
6
|
-
assignees: ''
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
**Describe the bug**
|
|
11
|
-
A clear and concise description of what the bug is.
|
|
12
|
-
|
|
13
|
-
**To Reproduce**
|
|
14
|
-
Steps to reproduce the behavior:
|
|
15
|
-
1. Go to '...'
|
|
16
|
-
2. Click on '....'
|
|
17
|
-
3. Scroll down to '....'
|
|
18
|
-
4. See error
|
|
19
|
-
|
|
20
|
-
**Expected behavior**
|
|
21
|
-
A clear and concise description of what you expected to happen.
|
|
22
|
-
|
|
23
|
-
**Screenshots**
|
|
24
|
-
If applicable, add screenshots to help explain your problem.
|
|
25
|
-
|
|
26
|
-
**Desktop (please complete the following information):**
|
|
27
|
-
- OS: [e.g. iOS]
|
|
28
|
-
- Browser (If imdone web site) [e.g. chrome, safari]
|
|
29
|
-
- Imdone Version [e.g. 22]
|
|
30
|
-
|
|
31
|
-
**Additional context**
|
|
32
|
-
Add any other context about the problem here.
|
|
33
|
-
|
|
34
|
-
**DoD**
|
|
35
|
-
- [ ] Issue is understood
|
|
36
|
-
- [ ] Fix is implemented and tested
|
|
37
|
-
- [ ] Fix is deployed in the current release
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: Node.js CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [ '*' ]
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
build:
|
|
9
|
-
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
|
|
12
|
-
strategy:
|
|
13
|
-
matrix:
|
|
14
|
-
node-version: [16.x, 17.x, 18.x, 19.x, 20.x]
|
|
15
|
-
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v3
|
|
18
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
19
|
-
uses: actions/setup-node@v3
|
|
20
|
-
with:
|
|
21
|
-
node-version: ${{ matrix.node-version }}
|
|
22
|
-
cache: 'npm'
|
|
23
|
-
- run: npm i
|
|
24
|
-
- run: npm run build --if-present
|
package/.imdoneignore
DELETED
package/.mocharc.json
DELETED
package/.prettierrc
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
## 1.28.8
|
|
2
|
-
- Allow Card and Board actions to return a value
|
|
3
|
-
|
|
4
|
-
# 1.5.31
|
|
5
|
-
- When moving a task, only change the order of the current task unless it's moving to the top of a list with more than one task, then we update the task that was previously first as well.
|
|
6
|
-
|
|
7
|
-
# 1.5.28
|
|
8
|
-
- Implement Repository.modifyTaskFromContent
|
|
9
|
-
|
|
10
|
-
# 1.5.10
|
|
11
|
-
- Switch to readdirp
|
|
12
|
-
|
|
13
|
-
# 1.5.2
|
|
14
|
-
- add allContext, allTags and allMeta to tasks
|
|
15
|
-
|
|
16
|
-
# 1.5.0
|
|
17
|
-
- Add frontMatter
|
|
18
|
-
|
|
19
|
-
# 1.4.19
|
|
20
|
-
- Add doc generation and move regex dependency
|
|
21
|
-
|
|
22
|
-
# 1.4.17
|
|
23
|
-
- Improve issue matching
|
|
24
|
-
|
|
25
|
-
# 1.4.15
|
|
26
|
-
- ignore hash and link style tasks in code files
|
|
27
|
-
|
|
28
|
-
# 1.4.14
|
|
29
|
-
- Add modifyDescription
|
|
30
|
-
|
|
31
|
-
# 1.4.13
|
|
32
|
-
- Add rawTask to opts for Task constructor
|
|
33
|
-
|
|
34
|
-
# 1.4.12
|
|
35
|
-
- Make Repository.query return an empty array if no tasks found
|
|
36
|
-
|
|
37
|
-
# 1.4.11
|
|
38
|
-
- Expose Repository.query to filter tasks without repo
|
|
39
|
-
|
|
40
|
-
# 1.4.10
|
|
41
|
-
- Add task properties (created, completed, due, remind) as dates if they exist in metadata and parse as dates
|
|
42
|
-
|
|
43
|
-
# 1.4.8
|
|
44
|
-
- use string.search as fallback to rql
|
|
45
|
-
|
|
46
|
-
# 1.4.7
|
|
47
|
-
- Add .vue extension
|
|
48
|
-
|
|
49
|
-
# 1.4.6
|
|
50
|
-
- ignore tasks found in list if list has property `ignore: true` in config.lists
|
|
51
|
-
|
|
52
|
-
# 1.4.4
|
|
53
|
-
- repository.query Add rql querying of tasks
|
|
54
|
-
|
|
55
|
-
# 1.4.3
|
|
56
|
-
- Add savingFiles attribute when saving modified files
|
|
57
|
-
|
|
58
|
-
# 1.4.2
|
|
59
|
-
- Fix add and remove metaData
|
|
60
|
-
|
|
61
|
-
# 1.4.1
|
|
62
|
-
- Fix updateMetaData
|
|
63
|
-
|
|
64
|
-
# 1.4.0
|
|
65
|
-
- Switch to metadata for created and completed dates
|
|
66
|
-
|
|
67
|
-
# 1.3.59
|
|
68
|
-
- Fix meta so it captures the first key:
|
|
69
|
-
|
|
70
|
-
# 1.3.58
|
|
71
|
-
- extend include_lists
|
|
72
|
-
|
|
73
|
-
# 1.3.54
|
|
74
|
-
- Add .pug to languages
|
|
75
|
-
- Update comment symbol for .jade and .pug to be //-
|
|
76
|
-
|
|
77
|
-
# 1.3.51
|
|
78
|
-
- Allow hash style tasks in code if they're in config.lists or config.code.include_lists
|
|
79
|
-
|
|
80
|
-
# 1.3.45
|
|
81
|
-
- switch to markdown-it for check-lists
|
|
82
|
-
- Add following lines as task description
|
|
83
|
-
|
|
84
|
-
# 1.3.38
|
|
85
|
-
- Add list to include_lists
|
|
86
|
-
|
|
87
|
-
# 1.3.34
|
|
88
|
-
- Update chokidar
|
|
89
|
-
|
|
90
|
-
# 1.3.27
|
|
91
|
-
- Allow umlauts and other special characters in contexts
|
|
92
|
-
|
|
93
|
-
# 1.3.26
|
|
94
|
-
- Check excludes for all files before running stat
|
|
95
|
-
|
|
96
|
-
# 1.3.25
|
|
97
|
-
- Use eachLimit for Repository.readFiles
|
|
98
|
-
|
|
99
|
-
# 1.3.24
|
|
100
|
-
- Simplify isBinary check
|
|
101
|
-
|
|
102
|
-
# 1.3.23
|
|
103
|
-
- file.isOk callback with false if isBinaryCheck errs
|
|
104
|
-
|
|
105
|
-
# 1.3.22
|
|
106
|
-
- Drop async file access limit to 10
|
|
107
|
-
|
|
108
|
-
# 1.3.21
|
|
109
|
-
- Reduce async file access limit to 256
|
|
110
|
-
|
|
111
|
-
# 1.3.20
|
|
112
|
-
- Improve stats performance
|
|
113
|
-
- emits tasks on update
|
|
114
|
-
- Add isListVisible
|
|
115
|
-
|
|
116
|
-
# 1.3.19
|
|
117
|
-
- Minor bug fixes
|
|
118
|
-
|
|
119
|
-
# 1.3.18
|
|
120
|
-
- Add delete tasks
|
|
121
|
-
|
|
122
|
-
# 1.3.17
|
|
123
|
-
- Simplify readdir with node-dir
|
|
124
|
-
|
|
125
|
-
# 1.3.16
|
|
126
|
-
- Add php block comment.
|
|
127
|
-
- Fix issue with hash style lists not getting added
|
|
128
|
-
|
|
129
|
-
# 1.3.15
|
|
130
|
-
- Fire config.loaded event after config is set
|
|
131
|
-
|
|
132
|
-
# 1.3.14
|
|
133
|
-
- Make sure list is in include_lists before adding it through listeners
|
|
134
|
-
|
|
135
|
-
# 1.3.13
|
|
136
|
-
- Raise async limit
|
|
137
|
-
|
|
138
|
-
# 1.3.11
|
|
139
|
-
- Add haml extension and -# comment
|
|
140
|
-
|
|
141
|
-
# 1.3.9
|
|
142
|
-
- Add .boot
|
|
143
|
-
|
|
144
|
-
# 1.3.8
|
|
145
|
-
- Add velocity comments
|
|
146
|
-
|
|
147
|
-
# 1.3.5
|
|
148
|
-
- Update .imdoneignore functionality to work like .gitignore
|
|
149
|
-
|
|
150
|
-
# 1.3.3
|
|
151
|
-
- Update marked and minimatch for security reasons
|
|
152
|
-
|
|
153
|
-
# 1.3.2
|
|
154
|
-
- When a user adds a list to the board, utomatically add list name to config.code.include_lists if it's all caps
|
|
155
|
-
|
|
156
|
-
# 1.3.0
|
|
157
|
-
- Add update task from metadata, tags and contexts
|
|
158
|
-
- meta is empty object if no metadata found
|
|
159
|
-
- make repo emit task.modified
|
|
160
|
-
- compare meta.id as backup for id compare
|
package/_navbar.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
**[:house: imdone-core Documentation](/README)**
|
package/cli.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const { program } = require('commander');
|
|
4
|
-
const ora = require('ora')
|
|
5
|
-
const chalk = require('chalk')
|
|
6
|
-
const package = require('./package.json')
|
|
7
|
-
const { createFileSystemProject } = require('./lib/project-factory.js')
|
|
8
|
-
const { load } = require('./lib/adapters/storage/config.js')
|
|
9
|
-
// const { log } = hideLogs()
|
|
10
|
-
const spinner = ora('Loading unicorns')
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
setTimeout(() => {
|
|
14
|
-
spinner.color = 'yellow';
|
|
15
|
-
spinner.text = 'Loading rainbows';
|
|
16
|
-
}, 1000);
|
|
17
|
-
|
|
18
|
-
function actionCancelled() {
|
|
19
|
-
log(chalk.bgRed('Action canceled'))
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const mainCmd = program
|
|
23
|
-
.version(package.version, '-v, --version', 'output the current version')
|
|
24
|
-
|
|
25
|
-
mainCmd
|
|
26
|
-
.command('action <pluginName> <actionTitle>')
|
|
27
|
-
.option('-t, --task <task>', 'Task filePath:line')
|
|
28
|
-
.option('-w, --working-dir <workingDir>', 'Working directory')
|
|
29
|
-
.option('-c, --config <config>', 'Config file path')
|
|
30
|
-
.description('Run a board action')
|
|
31
|
-
.action(async function (plugin, title, options) {
|
|
32
|
-
spinner.start()
|
|
33
|
-
const action = {plugin, title}
|
|
34
|
-
const [filePath, line] = options.task ? options.task.split(':') : []
|
|
35
|
-
try {
|
|
36
|
-
const path = options.workingDir || process.env.PWD
|
|
37
|
-
const config = options.config && await load(options.config)
|
|
38
|
-
const project = createFileSystemProject({path, config})
|
|
39
|
-
await project.init()
|
|
40
|
-
await project.toImdoneJSON()
|
|
41
|
-
chalk.bgGreen('Project loaded')
|
|
42
|
-
const file = filePath && project.getFile(filePath)
|
|
43
|
-
const task = file && line > -1 && file.getTaskAtLine(line)
|
|
44
|
-
await project.performBoardAction(action, task)
|
|
45
|
-
} catch (e) {
|
|
46
|
-
console.error(e)
|
|
47
|
-
actionCancelled()
|
|
48
|
-
} finally {
|
|
49
|
-
spinner.stop()
|
|
50
|
-
process.exit(0)
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
program.parse();
|
|
56
|
-
|
|
57
|
-
function hideLogs() {
|
|
58
|
-
const log = console.log
|
|
59
|
-
const info = console.info
|
|
60
|
-
const warn = console.warn
|
|
61
|
-
const logQueue = {warn: [], info: [], log: []}
|
|
62
|
-
if (!process.env.DEBUG) {
|
|
63
|
-
Object.keys(logQueue).forEach((key) => {
|
|
64
|
-
console[key] = function(...args) {
|
|
65
|
-
logQueue[key].push(args)
|
|
66
|
-
}
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
|
-
return {log, info, warn, logQueue}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function actionCancelled() {
|
|
73
|
-
log(chalk.bgRed('Action canceled'))
|
|
74
|
-
}
|