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/lib/default-settings.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
const { loadYAML } = require('./adapters/yaml')
|
|
2
|
-
|
|
3
|
-
const defaultSettingsString = `openIn: default #override
|
|
4
|
-
openCodeIn: default #override
|
|
5
|
-
journalType: New File
|
|
6
|
-
journalPath: imdone-tasks #override
|
|
7
|
-
appendNewCardsTo: imdone-tasks.md
|
|
8
|
-
newCardSyntax: HASHTAG #override
|
|
9
|
-
replaceSpacesWith: '-' #override
|
|
10
|
-
plugins:
|
|
11
|
-
devMode: false
|
|
12
|
-
cards:
|
|
13
|
-
colors: [] #override if
|
|
14
|
-
template: | # This is the template for new cards that are created in imdone
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<!--
|
|
18
|
-
created:\${(new Date()).toISOString()}
|
|
19
|
-
-->
|
|
20
|
-
trackChanges: false #override
|
|
21
|
-
metaNewLine: false #override
|
|
22
|
-
addCompletedMeta: false #override
|
|
23
|
-
addCheckBoxTasks: false #override
|
|
24
|
-
doingList: DOING #override if
|
|
25
|
-
doneList: DONE #override if
|
|
26
|
-
tokenPrefix: '#' #override
|
|
27
|
-
taskPrefix: '##' #override
|
|
28
|
-
tagPrefix: '+' #override
|
|
29
|
-
metaSep: ':' #override
|
|
30
|
-
orderMeta: true
|
|
31
|
-
maxLines: 6 #override
|
|
32
|
-
addNewCardsToTop: true #override
|
|
33
|
-
showTagsAndMeta: true #override
|
|
34
|
-
journalTemplate: #override
|
|
35
|
-
markdownOnly: false #override
|
|
36
|
-
`
|
|
37
|
-
module.exports = loadYAML(defaultSettingsString)
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const DEFAULT_VIEW_ID = "default"
|
|
2
|
-
const DEFAULT_VIEW_NAME = "Default View"
|
|
3
|
-
|
|
4
|
-
class View {
|
|
5
|
-
id
|
|
6
|
-
name
|
|
7
|
-
lists
|
|
8
|
-
filter
|
|
9
|
-
#modifiable
|
|
10
|
-
|
|
11
|
-
constructor({id, name, filter = "", lists = [], modifiable = false}) {
|
|
12
|
-
if (!name) throw new Error('Name is a required field')
|
|
13
|
-
this.id = id
|
|
14
|
-
this.name = name
|
|
15
|
-
this.lists = lists
|
|
16
|
-
this.filter = filter
|
|
17
|
-
this.#modifiable = modifiable
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
get isModifiable () {
|
|
21
|
-
return this.#modifiable
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
View.DEFAULT_VIEW_ID = DEFAULT_VIEW_ID
|
|
26
|
-
View.DEFAULT_VIEW_NAME = DEFAULT_VIEW_NAME
|
|
27
|
-
|
|
28
|
-
module.exports = {
|
|
29
|
-
View
|
|
30
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
const context = require('../../context/ApplicationContext');
|
|
2
|
-
const { View } = require('../entities/View')
|
|
3
|
-
const List = require('../../list')
|
|
4
|
-
|
|
5
|
-
function getView(_id) {
|
|
6
|
-
return getViews().find(view => view.id === _id)
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function getDefaultView() {
|
|
10
|
-
const lists = getConfig().lists.map(list => {
|
|
11
|
-
list = new List(list)
|
|
12
|
-
delete list.tasks
|
|
13
|
-
return list
|
|
14
|
-
})
|
|
15
|
-
const filter = getConfig().defaultFilter
|
|
16
|
-
const id = View.DEFAULT_VIEW_ID
|
|
17
|
-
const name = View.DEFAULT_VIEW_NAME
|
|
18
|
-
return new View({name, id, filter, lists})
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function syncLists(currentLists, overrideLists) {
|
|
22
|
-
return currentLists.map(currentList => {
|
|
23
|
-
return overrideLists.find(list => list.name === currentList.name && list.id === currentList.id)
|
|
24
|
-
|| new List(currentList)
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function getViews() {
|
|
29
|
-
const defaultView = getDefaultView()
|
|
30
|
-
const customViews = context().repo.config.views.map(
|
|
31
|
-
({name, id, filter, lists, modifiable = true}) => new View ({
|
|
32
|
-
name,
|
|
33
|
-
id,
|
|
34
|
-
filter,
|
|
35
|
-
lists: syncLists(defaultView.lists, lists),
|
|
36
|
-
modifiable
|
|
37
|
-
})
|
|
38
|
-
)
|
|
39
|
-
return [defaultView, ...customViews]
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function getConfig() {
|
|
43
|
-
return context().repo.config
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
module.exports = {
|
|
47
|
-
getDefaultView,
|
|
48
|
-
getView,
|
|
49
|
-
getViews
|
|
50
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const appContext = require('../../context/ApplicationContext')
|
|
2
|
-
|
|
3
|
-
module.exports = class OpenProjectUsecase {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.projectReader = appContext().projectReader
|
|
6
|
-
this.projectPresenter = appContext().projectPresenter
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
execute(location) {
|
|
10
|
-
const project = this.projectReader.read(location)
|
|
11
|
-
this.projectPresenter.present(project)
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
const crypto = require('crypto')
|
|
2
|
-
const context = require('../../context/ApplicationContext')
|
|
3
|
-
const { getView } = require('./GetViewsUsecase')
|
|
4
|
-
const { View } = require('../entities/View')
|
|
5
|
-
|
|
6
|
-
async function saveView({id, name, lists, filter}) {
|
|
7
|
-
let view = getView(id)
|
|
8
|
-
|
|
9
|
-
if (!view) {
|
|
10
|
-
view = {id: crypto.randomUUID(), name, lists, filter}
|
|
11
|
-
context().repo.config.views.push(view)
|
|
12
|
-
} else if (view.id === View.DEFAULT_VIEW_ID) {
|
|
13
|
-
return
|
|
14
|
-
} else {
|
|
15
|
-
view.name = name
|
|
16
|
-
view.filter = filter
|
|
17
|
-
view.lists = lists
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
await saveConfig()
|
|
21
|
-
return view.id
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async function saveConfig() {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
context().repo.saveConfig((err) => {
|
|
27
|
-
if (err) return reject(err)
|
|
28
|
-
resolve()
|
|
29
|
-
})
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async function removeDefaultViewFilter() {
|
|
34
|
-
const project = context().project
|
|
35
|
-
if (project.defaultFilter) {
|
|
36
|
-
project.setFilter(project.defaultFilter)
|
|
37
|
-
project.filter = project.defaultFilter
|
|
38
|
-
project.defaultFilter = ''
|
|
39
|
-
await saveConfig()
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async function setDefaultViewFilter(filter = context().project.filter) {
|
|
44
|
-
const project = context().project
|
|
45
|
-
if (filter) {
|
|
46
|
-
project.defaultFilter = filter
|
|
47
|
-
project.filter = ''
|
|
48
|
-
project.setFilter(project.filter)
|
|
49
|
-
await saveConfig()
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
module.exports = {
|
|
54
|
-
removeDefaultViewFilter,
|
|
55
|
-
setDefaultViewFilter,
|
|
56
|
-
saveView
|
|
57
|
-
}
|