You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-27 20:29:45 +02:00
Compare commits
212 Commits
cli-v1.2.3
...
android-v1
Author | SHA1 | Date | |
---|---|---|---|
|
ff6cd57873 | ||
|
4c948408c4 | ||
|
cc3a1d78da | ||
|
0cc544a95f | ||
|
03b7402dc5 | ||
|
dd5c400c24 | ||
|
abc702c21f | ||
|
cc3e1bdee8 | ||
|
10cfa773ca | ||
|
8dc42b1f41 | ||
|
6e7ea9a549 | ||
|
ed2ccdd504 | ||
|
6d2bad01e6 | ||
|
3847831d80 | ||
|
44462f4d71 | ||
|
4d20589773 | ||
|
52140ec1a9 | ||
|
08c2a7ad64 | ||
|
d19796f14c | ||
|
e4f53a48d2 | ||
|
154163bd6c | ||
|
4502414934 | ||
|
38e4bc61d9 | ||
|
86c471afcd | ||
|
e2698aaead | ||
|
8cfe4b0f82 | ||
|
fd90a490c0 | ||
|
16c5ffadc7 | ||
|
4a184721e4 | ||
|
1e3bd937ed | ||
|
0f6932f1e8 | ||
|
cab98776db | ||
|
fbc1e3ed3b | ||
|
805d16abda | ||
|
f133229287 | ||
|
8f4031572a | ||
|
d25fa796c0 | ||
|
089d6a5c9e | ||
|
3f83355d9f | ||
|
40380e3066 | ||
|
a6748bafb3 | ||
|
b52f6eb77c | ||
|
98c933fdb7 | ||
|
ece7ffadd6 | ||
|
591bceb8ef | ||
|
04cfd07176 | ||
|
db2282a351 | ||
|
0ec3d6ca9d | ||
|
442b7ce0d3 | ||
|
6a068a90b2 | ||
|
9a6f6c8b39 | ||
|
52d5c32950 | ||
|
de47cff86d | ||
|
a459174f98 | ||
|
75d5aa3a77 | ||
|
c254ca524f | ||
|
51934b8d8d | ||
|
a5dd686bb2 | ||
|
4cbfd04522 | ||
|
6d5d9323bd | ||
|
76063a6284 | ||
|
4119924e57 | ||
|
537336754c | ||
|
06f73919bd | ||
|
3f3e46081c | ||
|
68e4b4eaad | ||
|
9dcb4b51e5 | ||
|
8543849ea1 | ||
|
6ce5240e12 | ||
|
5bc25aefce | ||
|
b737ca7471 | ||
|
a5d7366f94 | ||
|
98f822d89c | ||
|
c33a8250ee | ||
|
adad406696 | ||
|
d82eec0fa4 | ||
|
c93f474547 | ||
|
0afd4a6234 | ||
|
f42786a840 | ||
|
1c1f044966 | ||
|
ad7a80e260 | ||
|
5e040c062c | ||
|
0cede5f90a | ||
|
8dc0deb2a4 | ||
|
1ca44b8f44 | ||
|
4ba9e60194 | ||
|
9d0bb4257f | ||
|
1a273b9bca | ||
|
d9e93cd6c4 | ||
|
5d39860707 | ||
|
60a6f714bc | ||
|
6eebeca259 | ||
|
995034c53f | ||
|
45a0981d05 | ||
|
3d8577a689 | ||
|
5292fc1402 | ||
|
03063f1137 | ||
|
b125a768b8 | ||
|
a721f170e4 | ||
|
76cd69ea16 | ||
|
45d4f277e2 | ||
|
fc2a52aa1a | ||
|
b3e5a1e48d | ||
|
45eb902030 | ||
|
456f7ac00c | ||
|
a93bda71fe | ||
|
0f9d92dd3d | ||
|
5543e9ef64 | ||
|
22dd613660 | ||
|
f7502fe34b | ||
|
8254206f44 | ||
|
3a57cfea02 | ||
|
71bf0437c1 | ||
|
eca4e24362 | ||
|
9a6efb7b37 | ||
|
4b666cbbd2 | ||
|
f8f46db910 | ||
|
f529adac99 | ||
|
3a52b9764b | ||
|
7e78d7716b | ||
|
0488c5c4cb | ||
|
921cc3b6c6 | ||
|
2a7aa28d4c | ||
|
7b3440ac4c | ||
|
958e5a80b7 | ||
|
3179117c62 | ||
|
d895463167 | ||
|
7e0e513051 | ||
|
4309c4f8e2 | ||
|
20b1c90574 | ||
|
7ff6ceb585 | ||
|
3dc3f334ec | ||
|
3476211f8b | ||
|
48e299916f | ||
|
35aebc9f52 | ||
|
cb3e1cf1e9 | ||
|
db509955f6 | ||
|
fb39899f8e | ||
|
f5d4bedc07 | ||
|
e710709c15 | ||
|
d74d6d9539 | ||
|
435e8dfc3b | ||
|
6c68459b34 | ||
|
2e75a63b26 | ||
|
c328996568 | ||
|
c648f19693 | ||
|
2caaf8e8c1 | ||
|
ceb7a7303d | ||
|
c01f533342 | ||
|
ff50361e19 | ||
|
3539a452a3 | ||
|
ea878fb614 | ||
|
5fd0408365 | ||
|
2d099b2bed | ||
|
3c0b9ee522 | ||
|
9dfe084a02 | ||
|
987890ba98 | ||
|
3358c46122 | ||
|
66204401c9 | ||
|
0644e2897d | ||
|
5761451def | ||
|
d819e6ee0c | ||
|
b66be79351 | ||
|
433fa21069 | ||
|
12db3d20ee | ||
|
80a70a6649 | ||
|
02ed297529 | ||
|
30543104be | ||
|
b6a004086c | ||
|
4265b3afb0 | ||
|
ccd7ba28d7 | ||
|
871f8b3a72 | ||
|
f276d2b2d4 | ||
|
2bb5acdfb1 | ||
|
dda0d8ca08 | ||
|
15f22c0507 | ||
|
fa7bd2cfab | ||
|
dc51781976 | ||
|
c874aee774 | ||
|
6c84fdc51d | ||
|
8ff0f7c529 | ||
|
b326ffc41c | ||
|
a0de8582e6 | ||
|
5eb0417b1a | ||
|
c42d9cf069 | ||
|
d965a7b6db | ||
|
c1919c2908 | ||
|
3fd7470104 | ||
|
0bf74142ac | ||
|
b3bf7144ac | ||
|
5738a4f92b | ||
|
784851b217 | ||
|
0e0803e050 | ||
|
3d3abfe259 | ||
|
3f38b518fe | ||
|
e673ee97de | ||
|
7cb55ffdc4 | ||
|
b706217d41 | ||
|
6f680081f4 | ||
|
fe41d37f8f | ||
|
833fb1264f | ||
|
f007735936 | ||
|
73a39d36ea | ||
|
a43ab26a46 | ||
|
f5f117cb72 | ||
|
c9c44d5643 | ||
|
49bfa49489 | ||
|
5f81944a3e | ||
|
26f5a606e0 | ||
|
9d6975a9e2 | ||
|
138faa2aae | ||
|
ca46590ff3 |
140
.eslintignore
140
.eslintignore
@@ -59,15 +59,33 @@ Tools/node_modules
|
|||||||
Tools/PortableAppsLauncher
|
Tools/PortableAppsLauncher
|
||||||
Modules/TinyMCE/IconPack/postinstall.js
|
Modules/TinyMCE/IconPack/postinstall.js
|
||||||
Modules/TinyMCE/langs/
|
Modules/TinyMCE/langs/
|
||||||
|
CliClient/build/
|
||||||
|
|
||||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||||
CliClient/app/LinkSelector.js
|
CliClient/app/LinkSelector.js
|
||||||
CliClient/build/LinkSelector.js
|
CliClient/app/services/plugins/PluginRunner.js
|
||||||
|
CliClient/tests/fsDriver.js
|
||||||
|
CliClient/tests/InMemoryCache.js
|
||||||
|
CliClient/tests/MdToHtml.js
|
||||||
|
CliClient/tests/models_Setting.js
|
||||||
|
CliClient/tests/services_CommandService.js
|
||||||
|
CliClient/tests/services_InteropService.js
|
||||||
|
CliClient/tests/services_keychainService.js
|
||||||
|
CliClient/tests/services_PluginService.js
|
||||||
|
CliClient/tests/services_rest_Api.js
|
||||||
|
CliClient/tests/services/plugins/api/JoplinSetting.js
|
||||||
|
CliClient/tests/services/plugins/sandboxProxy.js
|
||||||
CliClient/tests/synchronizer_LockHandler.js
|
CliClient/tests/synchronizer_LockHandler.js
|
||||||
CliClient/tests/synchronizer_MigrationHandler.js
|
CliClient/tests/synchronizer_MigrationHandler.js
|
||||||
|
ElectronClient/app.js
|
||||||
|
ElectronClient/bridge.js
|
||||||
|
ElectronClient/commands/copyDevCommand.js
|
||||||
ElectronClient/commands/focusElement.js
|
ElectronClient/commands/focusElement.js
|
||||||
|
ElectronClient/commands/openProfileDirectory.js
|
||||||
ElectronClient/commands/startExternalEditing.js
|
ElectronClient/commands/startExternalEditing.js
|
||||||
ElectronClient/commands/stopExternalEditing.js
|
ElectronClient/commands/stopExternalEditing.js
|
||||||
|
ElectronClient/commands/toggleExternalEditing.js
|
||||||
|
ElectronClient/ElectronAppWrapper.js
|
||||||
ElectronClient/global.d.js
|
ElectronClient/global.d.js
|
||||||
ElectronClient/gui/Button/Button.js
|
ElectronClient/gui/Button/Button.js
|
||||||
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
||||||
@@ -87,7 +105,11 @@ ElectronClient/gui/MainScreen/commands/hideModalMessage.js
|
|||||||
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newFolder.js
|
ElectronClient/gui/MainScreen/commands/newFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newNote.js
|
ElectronClient/gui/MainScreen/commands/newNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newSubFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newTodo.js
|
ElectronClient/gui/MainScreen/commands/newTodo.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openTag.js
|
||||||
ElectronClient/gui/MainScreen/commands/print.js
|
ElectronClient/gui/MainScreen/commands/print.js
|
||||||
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/renameTag.js
|
ElectronClient/gui/MainScreen/commands/renameTag.js
|
||||||
@@ -100,9 +122,11 @@ ElectronClient/gui/MainScreen/commands/showNoteProperties.js
|
|||||||
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleSidebar.js
|
ElectronClient/gui/MainScreen/commands/toggleSideBar.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
||||||
ElectronClient/gui/MainScreen/MainScreen.js
|
ElectronClient/gui/MainScreen/MainScreen.js
|
||||||
|
ElectronClient/gui/MenuBar.js
|
||||||
|
ElectronClient/gui/menuCommandNames.js
|
||||||
ElectronClient/gui/MultiNoteActions.js
|
ElectronClient/gui/MultiNoteActions.js
|
||||||
ElectronClient/gui/NoteContentPropertiesDialog.js
|
ElectronClient/gui/NoteContentPropertiesDialog.js
|
||||||
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
||||||
@@ -138,7 +162,7 @@ ElectronClient/gui/NoteEditor/utils/useFormNote.js
|
|||||||
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useNoteToolbarButtons.js
|
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
||||||
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
||||||
@@ -154,6 +178,7 @@ ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
|
|||||||
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
||||||
ElectronClient/gui/ResourceScreen.js
|
ElectronClient/gui/ResourceScreen.js
|
||||||
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
||||||
|
ElectronClient/gui/Root.js
|
||||||
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
||||||
ElectronClient/gui/SearchBar/SearchBar.js
|
ElectronClient/gui/SearchBar/SearchBar.js
|
||||||
ElectronClient/gui/SearchBar/styles/index.js
|
ElectronClient/gui/SearchBar/styles/index.js
|
||||||
@@ -164,38 +189,143 @@ ElectronClient/gui/SideBar/styles/index.js
|
|||||||
ElectronClient/gui/StatusScreen/StatusScreen.js
|
ElectronClient/gui/StatusScreen/StatusScreen.js
|
||||||
ElectronClient/gui/style/StyledInput.js
|
ElectronClient/gui/style/StyledInput.js
|
||||||
ElectronClient/gui/style/StyledTextInput.js
|
ElectronClient/gui/style/StyledTextInput.js
|
||||||
|
ElectronClient/gui/TagList.js
|
||||||
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
||||||
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
||||||
ElectronClient/gui/ToolbarBase.js
|
ElectronClient/gui/ToolbarBase.js
|
||||||
ElectronClient/gui/ToolbarButton/styles/index.js
|
ElectronClient/gui/ToolbarButton/styles/index.js
|
||||||
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
||||||
|
ElectronClient/gui/utils/NoteListUtils.js
|
||||||
|
ElectronClient/InteropServiceHelper.js
|
||||||
|
ElectronClient/plugins/GotoAnything.js
|
||||||
|
ElectronClient/services/bridge.js
|
||||||
|
ElectronClient/services/commands/types.js
|
||||||
|
ElectronClient/services/plugins/hooks/useThemeCss.js
|
||||||
|
ElectronClient/services/plugins/hooks/useViewIsReady.js
|
||||||
|
ElectronClient/services/plugins/PlatformImplementation.js
|
||||||
|
ElectronClient/services/plugins/PluginRunner.js
|
||||||
|
ElectronClient/services/plugins/UserWebview.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialog.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
|
||||||
ReactNativeClient/lib/AsyncActionQueue.js
|
ReactNativeClient/lib/AsyncActionQueue.js
|
||||||
|
ReactNativeClient/lib/BaseApplication.js
|
||||||
ReactNativeClient/lib/checkPermissions.js
|
ReactNativeClient/lib/checkPermissions.js
|
||||||
ReactNativeClient/lib/commands/historyBackward.js
|
ReactNativeClient/lib/commands/historyBackward.js
|
||||||
ReactNativeClient/lib/commands/historyForward.js
|
ReactNativeClient/lib/commands/historyForward.js
|
||||||
ReactNativeClient/lib/commands/synchronize.js
|
ReactNativeClient/lib/commands/synchronize.js
|
||||||
|
ReactNativeClient/lib/components/BackButtonDialogBox.js
|
||||||
|
ReactNativeClient/lib/components/CameraView.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnMessage.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnResourceLongPress.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useSource.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/NoteBodyViewer.js
|
||||||
|
ReactNativeClient/lib/components/screens/Note.js
|
||||||
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
||||||
|
ReactNativeClient/lib/components/SelectDateTimeDialog.js
|
||||||
|
ReactNativeClient/lib/errorUtils.js
|
||||||
|
ReactNativeClient/lib/eventManager.js
|
||||||
|
ReactNativeClient/lib/fs-driver-node.js
|
||||||
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
||||||
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
||||||
ReactNativeClient/lib/hooks/usePrevious.js
|
ReactNativeClient/lib/hooks/usePrevious.js
|
||||||
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
||||||
|
ReactNativeClient/lib/InMemoryCache.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MarkupToHtml.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/code_inline.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fountain.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/highlight_keywords.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/html_image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/katex.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/link_open.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/noteStyle.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/pathUtils.js
|
||||||
ReactNativeClient/lib/JoplinServerApi.js
|
ReactNativeClient/lib/JoplinServerApi.js
|
||||||
|
ReactNativeClient/lib/locale.js
|
||||||
|
ReactNativeClient/lib/Logger.js
|
||||||
|
ReactNativeClient/lib/markdownUtils.js
|
||||||
|
ReactNativeClient/lib/markupLanguageUtils.js
|
||||||
|
ReactNativeClient/lib/models/Alarm.js
|
||||||
|
ReactNativeClient/lib/models/Setting.js
|
||||||
ReactNativeClient/lib/ntpDate.js
|
ReactNativeClient/lib/ntpDate.js
|
||||||
|
ReactNativeClient/lib/path-utils.js
|
||||||
|
ReactNativeClient/lib/PoorManIntervals.js
|
||||||
|
ReactNativeClient/lib/reducer.js
|
||||||
|
ReactNativeClient/lib/services/AlarmService.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
|
||||||
|
ReactNativeClient/lib/services/BaseService.js
|
||||||
|
ReactNativeClient/lib/services/commands/commandsToMarkdownTable.js
|
||||||
|
ReactNativeClient/lib/services/commands/MenuUtils.js
|
||||||
|
ReactNativeClient/lib/services/commands/propsHaveChanged.js
|
||||||
|
ReactNativeClient/lib/services/commands/stateToWhenClauseContext.js
|
||||||
|
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
|
||||||
ReactNativeClient/lib/services/CommandService.js
|
ReactNativeClient/lib/services/CommandService.js
|
||||||
|
ReactNativeClient/lib/services/contextkey/contextkey.js
|
||||||
ReactNativeClient/lib/services/debug/populateDatabase.js
|
ReactNativeClient/lib/services/debug/populateDatabase.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService.js
|
||||||
|
ReactNativeClient/lib/services/interop/types.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainService.js
|
ReactNativeClient/lib/services/keychain/KeychainService.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
||||||
ReactNativeClient/lib/services/KeymapService.js
|
ReactNativeClient/lib/services/KeymapService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Global.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Joplin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinData.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenus.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuItemController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/Plugin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/PluginService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/reducer.js
|
||||||
|
ReactNativeClient/lib/services/plugins/sandboxProxy.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/contentScriptsToRendererRules.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ViewController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/WebviewController.js
|
||||||
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
||||||
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
||||||
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
||||||
|
ReactNativeClient/lib/services/rest/Api.js
|
||||||
ReactNativeClient/lib/services/rest/errors.js
|
ReactNativeClient/lib/services/rest/errors.js
|
||||||
ReactNativeClient/lib/services/searchengine/filterParser.js
|
ReactNativeClient/lib/services/searchengine/filterParser.js
|
||||||
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
||||||
@@ -207,8 +337,11 @@ ReactNativeClient/lib/services/synchronizer/migrations/1.js
|
|||||||
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
||||||
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
||||||
ReactNativeClient/lib/services/UndoRedoService.js
|
ReactNativeClient/lib/services/UndoRedoService.js
|
||||||
|
ReactNativeClient/lib/services/WhenClause.js
|
||||||
ReactNativeClient/lib/ShareExtension.js
|
ReactNativeClient/lib/ShareExtension.js
|
||||||
ReactNativeClient/lib/shareHandler.js
|
ReactNativeClient/lib/shareHandler.js
|
||||||
|
ReactNativeClient/lib/shim.js
|
||||||
|
ReactNativeClient/lib/Synchronizer.js
|
||||||
ReactNativeClient/lib/theme.js
|
ReactNativeClient/lib/theme.js
|
||||||
ReactNativeClient/lib/themes/aritimDark.js
|
ReactNativeClient/lib/themes/aritimDark.js
|
||||||
ReactNativeClient/lib/themes/dark.js
|
ReactNativeClient/lib/themes/dark.js
|
||||||
@@ -219,6 +352,7 @@ ReactNativeClient/lib/themes/oledDark.js
|
|||||||
ReactNativeClient/lib/themes/solarizedDark.js
|
ReactNativeClient/lib/themes/solarizedDark.js
|
||||||
ReactNativeClient/lib/themes/solarizedLight.js
|
ReactNativeClient/lib/themes/solarizedLight.js
|
||||||
ReactNativeClient/lib/themes/type.js
|
ReactNativeClient/lib/themes/type.js
|
||||||
|
ReactNativeClient/lib/uuid.js
|
||||||
ReactNativeClient/lib/versionInfo.js
|
ReactNativeClient/lib/versionInfo.js
|
||||||
ReactNativeClient/PluginAssetsLoader.js
|
ReactNativeClient/PluginAssetsLoader.js
|
||||||
ReactNativeClient/setUpQuickActions.js
|
ReactNativeClient/setUpQuickActions.js
|
||||||
|
16
.eslintrc.js
16
.eslintrc.js
@@ -48,8 +48,9 @@ module.exports = {
|
|||||||
// -------------------------------
|
// -------------------------------
|
||||||
'react/jsx-uses-react': 'error',
|
'react/jsx-uses-react': 'error',
|
||||||
'react/jsx-uses-vars': 'error',
|
'react/jsx-uses-vars': 'error',
|
||||||
'no-unused-vars': 'error',
|
'no-unused-vars': ['error', { 'argsIgnorePattern': '^_' }],
|
||||||
'@typescript-eslint/no-unused-vars': 'error',
|
'@typescript-eslint/no-unused-vars': ['error', { 'argsIgnorePattern': '^_' }],
|
||||||
|
'@typescript-eslint/explicit-member-accessibility': 'off',
|
||||||
'no-constant-condition': 0,
|
'no-constant-condition': 0,
|
||||||
'no-prototype-builtins': 0,
|
'no-prototype-builtins': 0,
|
||||||
// This error is always a false positive so far since it detects
|
// This error is always a false positive so far since it detects
|
||||||
@@ -121,4 +122,15 @@ module.exports = {
|
|||||||
'react-hooks',
|
'react-hooks',
|
||||||
'import',
|
'import',
|
||||||
],
|
],
|
||||||
|
'overrides': [
|
||||||
|
{
|
||||||
|
// enable the rule specifically for TypeScript files
|
||||||
|
'files': ['*.ts', '*.tsx'],
|
||||||
|
'rules': {
|
||||||
|
// Warn only because it would make it difficult to convert JS classes to TypeScript, unless we
|
||||||
|
// make everything public which is not great. New code however should specify member accessibility.
|
||||||
|
'@typescript-eslint/explicit-member-accessibility': ['warn'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
2
.github/PULL_REQUEST_TEMPLATE
vendored
2
.github/PULL_REQUEST_TEMPLATE
vendored
@@ -20,6 +20,6 @@ If it's not related to any platform (such as a translation, change to the docume
|
|||||||
|
|
||||||
Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
|
Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
|
||||||
|
|
||||||
AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md
|
AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/dev/CONTRIBUTING.md
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
141
.gitignore
vendored
141
.gitignore
vendored
@@ -52,15 +52,34 @@ Tools/commit_hook.txt
|
|||||||
*.map
|
*.map
|
||||||
ReactNativeClient/lib/sql-extensions/spellfix.so
|
ReactNativeClient/lib/sql-extensions/spellfix.so
|
||||||
ReactNativeClient/lib/sql-extensions/spellfix.dylib
|
ReactNativeClient/lib/sql-extensions/spellfix.dylib
|
||||||
|
CliClient/build/
|
||||||
|
plugin_types/
|
||||||
|
|
||||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||||
CliClient/app/LinkSelector.js
|
CliClient/app/LinkSelector.js
|
||||||
CliClient/build/LinkSelector.js
|
CliClient/app/services/plugins/PluginRunner.js
|
||||||
|
CliClient/tests/fsDriver.js
|
||||||
|
CliClient/tests/InMemoryCache.js
|
||||||
|
CliClient/tests/MdToHtml.js
|
||||||
|
CliClient/tests/models_Setting.js
|
||||||
|
CliClient/tests/services_CommandService.js
|
||||||
|
CliClient/tests/services_InteropService.js
|
||||||
|
CliClient/tests/services_keychainService.js
|
||||||
|
CliClient/tests/services_PluginService.js
|
||||||
|
CliClient/tests/services_rest_Api.js
|
||||||
|
CliClient/tests/services/plugins/api/JoplinSetting.js
|
||||||
|
CliClient/tests/services/plugins/sandboxProxy.js
|
||||||
CliClient/tests/synchronizer_LockHandler.js
|
CliClient/tests/synchronizer_LockHandler.js
|
||||||
CliClient/tests/synchronizer_MigrationHandler.js
|
CliClient/tests/synchronizer_MigrationHandler.js
|
||||||
|
ElectronClient/app.js
|
||||||
|
ElectronClient/bridge.js
|
||||||
|
ElectronClient/commands/copyDevCommand.js
|
||||||
ElectronClient/commands/focusElement.js
|
ElectronClient/commands/focusElement.js
|
||||||
|
ElectronClient/commands/openProfileDirectory.js
|
||||||
ElectronClient/commands/startExternalEditing.js
|
ElectronClient/commands/startExternalEditing.js
|
||||||
ElectronClient/commands/stopExternalEditing.js
|
ElectronClient/commands/stopExternalEditing.js
|
||||||
|
ElectronClient/commands/toggleExternalEditing.js
|
||||||
|
ElectronClient/ElectronAppWrapper.js
|
||||||
ElectronClient/global.d.js
|
ElectronClient/global.d.js
|
||||||
ElectronClient/gui/Button/Button.js
|
ElectronClient/gui/Button/Button.js
|
||||||
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
||||||
@@ -80,7 +99,11 @@ ElectronClient/gui/MainScreen/commands/hideModalMessage.js
|
|||||||
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newFolder.js
|
ElectronClient/gui/MainScreen/commands/newFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newNote.js
|
ElectronClient/gui/MainScreen/commands/newNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newSubFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/newTodo.js
|
ElectronClient/gui/MainScreen/commands/newTodo.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openTag.js
|
||||||
ElectronClient/gui/MainScreen/commands/print.js
|
ElectronClient/gui/MainScreen/commands/print.js
|
||||||
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
||||||
ElectronClient/gui/MainScreen/commands/renameTag.js
|
ElectronClient/gui/MainScreen/commands/renameTag.js
|
||||||
@@ -93,9 +116,11 @@ ElectronClient/gui/MainScreen/commands/showNoteProperties.js
|
|||||||
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleSidebar.js
|
ElectronClient/gui/MainScreen/commands/toggleSideBar.js
|
||||||
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
||||||
ElectronClient/gui/MainScreen/MainScreen.js
|
ElectronClient/gui/MainScreen/MainScreen.js
|
||||||
|
ElectronClient/gui/MenuBar.js
|
||||||
|
ElectronClient/gui/menuCommandNames.js
|
||||||
ElectronClient/gui/MultiNoteActions.js
|
ElectronClient/gui/MultiNoteActions.js
|
||||||
ElectronClient/gui/NoteContentPropertiesDialog.js
|
ElectronClient/gui/NoteContentPropertiesDialog.js
|
||||||
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
||||||
@@ -131,7 +156,7 @@ ElectronClient/gui/NoteEditor/utils/useFormNote.js
|
|||||||
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useNoteToolbarButtons.js
|
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
||||||
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
||||||
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
||||||
@@ -147,6 +172,7 @@ ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
|
|||||||
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
||||||
ElectronClient/gui/ResourceScreen.js
|
ElectronClient/gui/ResourceScreen.js
|
||||||
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
||||||
|
ElectronClient/gui/Root.js
|
||||||
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
||||||
ElectronClient/gui/SearchBar/SearchBar.js
|
ElectronClient/gui/SearchBar/SearchBar.js
|
||||||
ElectronClient/gui/SearchBar/styles/index.js
|
ElectronClient/gui/SearchBar/styles/index.js
|
||||||
@@ -157,38 +183,143 @@ ElectronClient/gui/SideBar/styles/index.js
|
|||||||
ElectronClient/gui/StatusScreen/StatusScreen.js
|
ElectronClient/gui/StatusScreen/StatusScreen.js
|
||||||
ElectronClient/gui/style/StyledInput.js
|
ElectronClient/gui/style/StyledInput.js
|
||||||
ElectronClient/gui/style/StyledTextInput.js
|
ElectronClient/gui/style/StyledTextInput.js
|
||||||
|
ElectronClient/gui/TagList.js
|
||||||
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
||||||
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
||||||
ElectronClient/gui/ToolbarBase.js
|
ElectronClient/gui/ToolbarBase.js
|
||||||
ElectronClient/gui/ToolbarButton/styles/index.js
|
ElectronClient/gui/ToolbarButton/styles/index.js
|
||||||
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
||||||
|
ElectronClient/gui/utils/NoteListUtils.js
|
||||||
|
ElectronClient/InteropServiceHelper.js
|
||||||
|
ElectronClient/plugins/GotoAnything.js
|
||||||
|
ElectronClient/services/bridge.js
|
||||||
|
ElectronClient/services/commands/types.js
|
||||||
|
ElectronClient/services/plugins/hooks/useThemeCss.js
|
||||||
|
ElectronClient/services/plugins/hooks/useViewIsReady.js
|
||||||
|
ElectronClient/services/plugins/PlatformImplementation.js
|
||||||
|
ElectronClient/services/plugins/PluginRunner.js
|
||||||
|
ElectronClient/services/plugins/UserWebview.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialog.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
|
||||||
ReactNativeClient/lib/AsyncActionQueue.js
|
ReactNativeClient/lib/AsyncActionQueue.js
|
||||||
|
ReactNativeClient/lib/BaseApplication.js
|
||||||
ReactNativeClient/lib/checkPermissions.js
|
ReactNativeClient/lib/checkPermissions.js
|
||||||
ReactNativeClient/lib/commands/historyBackward.js
|
ReactNativeClient/lib/commands/historyBackward.js
|
||||||
ReactNativeClient/lib/commands/historyForward.js
|
ReactNativeClient/lib/commands/historyForward.js
|
||||||
ReactNativeClient/lib/commands/synchronize.js
|
ReactNativeClient/lib/commands/synchronize.js
|
||||||
|
ReactNativeClient/lib/components/BackButtonDialogBox.js
|
||||||
|
ReactNativeClient/lib/components/CameraView.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnMessage.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnResourceLongPress.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useSource.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/NoteBodyViewer.js
|
||||||
|
ReactNativeClient/lib/components/screens/Note.js
|
||||||
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
||||||
|
ReactNativeClient/lib/components/SelectDateTimeDialog.js
|
||||||
|
ReactNativeClient/lib/errorUtils.js
|
||||||
|
ReactNativeClient/lib/eventManager.js
|
||||||
|
ReactNativeClient/lib/fs-driver-node.js
|
||||||
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
||||||
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
||||||
ReactNativeClient/lib/hooks/usePrevious.js
|
ReactNativeClient/lib/hooks/usePrevious.js
|
||||||
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
||||||
|
ReactNativeClient/lib/InMemoryCache.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MarkupToHtml.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/code_inline.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fountain.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/highlight_keywords.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/html_image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/katex.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/link_open.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
||||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/noteStyle.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/pathUtils.js
|
||||||
ReactNativeClient/lib/JoplinServerApi.js
|
ReactNativeClient/lib/JoplinServerApi.js
|
||||||
|
ReactNativeClient/lib/locale.js
|
||||||
|
ReactNativeClient/lib/Logger.js
|
||||||
|
ReactNativeClient/lib/markdownUtils.js
|
||||||
|
ReactNativeClient/lib/markupLanguageUtils.js
|
||||||
|
ReactNativeClient/lib/models/Alarm.js
|
||||||
|
ReactNativeClient/lib/models/Setting.js
|
||||||
ReactNativeClient/lib/ntpDate.js
|
ReactNativeClient/lib/ntpDate.js
|
||||||
|
ReactNativeClient/lib/path-utils.js
|
||||||
|
ReactNativeClient/lib/PoorManIntervals.js
|
||||||
|
ReactNativeClient/lib/reducer.js
|
||||||
|
ReactNativeClient/lib/services/AlarmService.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
|
||||||
|
ReactNativeClient/lib/services/BaseService.js
|
||||||
|
ReactNativeClient/lib/services/commands/commandsToMarkdownTable.js
|
||||||
|
ReactNativeClient/lib/services/commands/MenuUtils.js
|
||||||
|
ReactNativeClient/lib/services/commands/propsHaveChanged.js
|
||||||
|
ReactNativeClient/lib/services/commands/stateToWhenClauseContext.js
|
||||||
|
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
|
||||||
ReactNativeClient/lib/services/CommandService.js
|
ReactNativeClient/lib/services/CommandService.js
|
||||||
|
ReactNativeClient/lib/services/contextkey/contextkey.js
|
||||||
ReactNativeClient/lib/services/debug/populateDatabase.js
|
ReactNativeClient/lib/services/debug/populateDatabase.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService.js
|
||||||
|
ReactNativeClient/lib/services/interop/types.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainService.js
|
ReactNativeClient/lib/services/keychain/KeychainService.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
||||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
||||||
ReactNativeClient/lib/services/KeymapService.js
|
ReactNativeClient/lib/services/KeymapService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Global.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Joplin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinData.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenus.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuItemController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/Plugin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/PluginService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/reducer.js
|
||||||
|
ReactNativeClient/lib/services/plugins/sandboxProxy.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/contentScriptsToRendererRules.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ViewController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/WebviewController.js
|
||||||
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
||||||
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
||||||
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
||||||
|
ReactNativeClient/lib/services/rest/Api.js
|
||||||
ReactNativeClient/lib/services/rest/errors.js
|
ReactNativeClient/lib/services/rest/errors.js
|
||||||
ReactNativeClient/lib/services/searchengine/filterParser.js
|
ReactNativeClient/lib/services/searchengine/filterParser.js
|
||||||
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
||||||
@@ -200,8 +331,11 @@ ReactNativeClient/lib/services/synchronizer/migrations/1.js
|
|||||||
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
||||||
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
||||||
ReactNativeClient/lib/services/UndoRedoService.js
|
ReactNativeClient/lib/services/UndoRedoService.js
|
||||||
|
ReactNativeClient/lib/services/WhenClause.js
|
||||||
ReactNativeClient/lib/ShareExtension.js
|
ReactNativeClient/lib/ShareExtension.js
|
||||||
ReactNativeClient/lib/shareHandler.js
|
ReactNativeClient/lib/shareHandler.js
|
||||||
|
ReactNativeClient/lib/shim.js
|
||||||
|
ReactNativeClient/lib/Synchronizer.js
|
||||||
ReactNativeClient/lib/theme.js
|
ReactNativeClient/lib/theme.js
|
||||||
ReactNativeClient/lib/themes/aritimDark.js
|
ReactNativeClient/lib/themes/aritimDark.js
|
||||||
ReactNativeClient/lib/themes/dark.js
|
ReactNativeClient/lib/themes/dark.js
|
||||||
@@ -212,6 +346,7 @@ ReactNativeClient/lib/themes/oledDark.js
|
|||||||
ReactNativeClient/lib/themes/solarizedDark.js
|
ReactNativeClient/lib/themes/solarizedDark.js
|
||||||
ReactNativeClient/lib/themes/solarizedLight.js
|
ReactNativeClient/lib/themes/solarizedLight.js
|
||||||
ReactNativeClient/lib/themes/type.js
|
ReactNativeClient/lib/themes/type.js
|
||||||
|
ReactNativeClient/lib/uuid.js
|
||||||
ReactNativeClient/lib/versionInfo.js
|
ReactNativeClient/lib/versionInfo.js
|
||||||
ReactNativeClient/PluginAssetsLoader.js
|
ReactNativeClient/PluginAssetsLoader.js
|
||||||
ReactNativeClient/setUpQuickActions.js
|
ReactNativeClient/setUpQuickActions.js
|
||||||
|
302
.ignore
Normal file
302
.ignore
Normal file
@@ -0,0 +1,302 @@
|
|||||||
|
# This is used by VSCode to ignore patterns during search.
|
||||||
|
# Before they were in joplin.code-workspace, under the `files.exclude` key
|
||||||
|
# but it eventually reached the limit with ENAMETOOLONG error.
|
||||||
|
#
|
||||||
|
# https://github.com/microsoft/vscode/issues/94718
|
||||||
|
|
||||||
|
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||||
|
CliClient/app/LinkSelector.js
|
||||||
|
CliClient/app/services/plugins/PluginRunner.js
|
||||||
|
CliClient/tests/fsDriver.js
|
||||||
|
CliClient/tests/InMemoryCache.js
|
||||||
|
CliClient/tests/MdToHtml.js
|
||||||
|
CliClient/tests/models_Setting.js
|
||||||
|
CliClient/tests/services_CommandService.js
|
||||||
|
CliClient/tests/services_InteropService.js
|
||||||
|
CliClient/tests/services_keychainService.js
|
||||||
|
CliClient/tests/services_PluginService.js
|
||||||
|
CliClient/tests/services_rest_Api.js
|
||||||
|
CliClient/tests/services/plugins/api/JoplinSetting.js
|
||||||
|
CliClient/tests/services/plugins/sandboxProxy.js
|
||||||
|
CliClient/tests/synchronizer_LockHandler.js
|
||||||
|
CliClient/tests/synchronizer_MigrationHandler.js
|
||||||
|
ElectronClient/app.js
|
||||||
|
ElectronClient/bridge.js
|
||||||
|
ElectronClient/commands/copyDevCommand.js
|
||||||
|
ElectronClient/commands/focusElement.js
|
||||||
|
ElectronClient/commands/openProfileDirectory.js
|
||||||
|
ElectronClient/commands/startExternalEditing.js
|
||||||
|
ElectronClient/commands/stopExternalEditing.js
|
||||||
|
ElectronClient/commands/toggleExternalEditing.js
|
||||||
|
ElectronClient/ElectronAppWrapper.js
|
||||||
|
ElectronClient/global.d.js
|
||||||
|
ElectronClient/gui/Button/Button.js
|
||||||
|
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
||||||
|
ElectronClient/gui/ConfigScreen/ConfigScreen.js
|
||||||
|
ElectronClient/gui/ConfigScreen/SideBar.js
|
||||||
|
ElectronClient/gui/DropboxLoginScreen.js
|
||||||
|
ElectronClient/gui/ErrorBoundary.js
|
||||||
|
ElectronClient/gui/KeymapConfig/KeymapConfigScreen.js
|
||||||
|
ElectronClient/gui/KeymapConfig/ShortcutRecorder.js
|
||||||
|
ElectronClient/gui/KeymapConfig/styles/index.js
|
||||||
|
ElectronClient/gui/KeymapConfig/utils/getLabel.js
|
||||||
|
ElectronClient/gui/KeymapConfig/utils/useCommandStatus.js
|
||||||
|
ElectronClient/gui/KeymapConfig/utils/useKeymap.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/editAlarm.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/exportPdf.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/hideModalMessage.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newSubFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/newTodo.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openNote.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/openTag.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/print.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/renameTag.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/search.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/selectTemplate.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/setTags.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/showModalMessage.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/showNoteContentProperties.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/showNoteProperties.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/toggleSideBar.js
|
||||||
|
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
||||||
|
ElectronClient/gui/MainScreen/MainScreen.js
|
||||||
|
ElectronClient/gui/MenuBar.js
|
||||||
|
ElectronClient/gui/menuCommandNames.js
|
||||||
|
ElectronClient/gui/MultiNoteActions.js
|
||||||
|
ElectronClient/gui/NoteContentPropertiesDialog.js
|
||||||
|
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
||||||
|
ElectronClient/gui/NoteEditor/commands/focusElementNoteBody.js
|
||||||
|
ElectronClient/gui/NoteEditor/commands/focusElementNoteTitle.js
|
||||||
|
ElectronClient/gui/NoteEditor/commands/showLocalSearch.js
|
||||||
|
ElectronClient/gui/NoteEditor/commands/showRevisions.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Editor.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/styles/index.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Toolbar.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/index.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useJoplinMode.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useKeymap.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useLineSorting.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useListIdent.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useScrollUtils.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js
|
||||||
|
ElectronClient/gui/NoteEditor/NoteEditor.js
|
||||||
|
ElectronClient/gui/NoteEditor/styles/index.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/contextMenu.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/index.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/resourceHandling.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/types.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useDropHandler.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useFolder.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useFormNote.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
||||||
|
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
||||||
|
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
||||||
|
ElectronClient/gui/NoteList/NoteList.js
|
||||||
|
ElectronClient/gui/NoteListControls/commands/focusSearch.js
|
||||||
|
ElectronClient/gui/NoteListControls/NoteListControls.js
|
||||||
|
ElectronClient/gui/NoteListItem.js
|
||||||
|
ElectronClient/gui/NoteTextViewer.js
|
||||||
|
ElectronClient/gui/NoteToolbar/NoteToolbar.js
|
||||||
|
ElectronClient/gui/OneDriveLoginScreen.js
|
||||||
|
ElectronClient/gui/ResizableLayout/hooks/useLayoutItemSizes.js
|
||||||
|
ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
|
||||||
|
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
||||||
|
ElectronClient/gui/ResourceScreen.js
|
||||||
|
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
||||||
|
ElectronClient/gui/Root.js
|
||||||
|
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
||||||
|
ElectronClient/gui/SearchBar/SearchBar.js
|
||||||
|
ElectronClient/gui/SearchBar/styles/index.js
|
||||||
|
ElectronClient/gui/ShareNoteDialog.js
|
||||||
|
ElectronClient/gui/SideBar/commands/focusElementSideBar.js
|
||||||
|
ElectronClient/gui/SideBar/SideBar.js
|
||||||
|
ElectronClient/gui/SideBar/styles/index.js
|
||||||
|
ElectronClient/gui/StatusScreen/StatusScreen.js
|
||||||
|
ElectronClient/gui/style/StyledInput.js
|
||||||
|
ElectronClient/gui/style/StyledTextInput.js
|
||||||
|
ElectronClient/gui/TagList.js
|
||||||
|
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
||||||
|
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
||||||
|
ElectronClient/gui/ToolbarBase.js
|
||||||
|
ElectronClient/gui/ToolbarButton/styles/index.js
|
||||||
|
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
||||||
|
ElectronClient/gui/utils/NoteListUtils.js
|
||||||
|
ElectronClient/InteropServiceHelper.js
|
||||||
|
ElectronClient/plugins/GotoAnything.js
|
||||||
|
ElectronClient/services/bridge.js
|
||||||
|
ElectronClient/services/commands/types.js
|
||||||
|
ElectronClient/services/plugins/hooks/useThemeCss.js
|
||||||
|
ElectronClient/services/plugins/hooks/useViewIsReady.js
|
||||||
|
ElectronClient/services/plugins/PlatformImplementation.js
|
||||||
|
ElectronClient/services/plugins/PluginRunner.js
|
||||||
|
ElectronClient/services/plugins/UserWebview.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialog.js
|
||||||
|
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
|
||||||
|
ReactNativeClient/lib/AsyncActionQueue.js
|
||||||
|
ReactNativeClient/lib/BaseApplication.js
|
||||||
|
ReactNativeClient/lib/checkPermissions.js
|
||||||
|
ReactNativeClient/lib/commands/historyBackward.js
|
||||||
|
ReactNativeClient/lib/commands/historyForward.js
|
||||||
|
ReactNativeClient/lib/commands/synchronize.js
|
||||||
|
ReactNativeClient/lib/components/BackButtonDialogBox.js
|
||||||
|
ReactNativeClient/lib/components/CameraView.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnMessage.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnResourceLongPress.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useSource.js
|
||||||
|
ReactNativeClient/lib/components/NoteBodyViewer/NoteBodyViewer.js
|
||||||
|
ReactNativeClient/lib/components/screens/Note.js
|
||||||
|
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
||||||
|
ReactNativeClient/lib/components/SelectDateTimeDialog.js
|
||||||
|
ReactNativeClient/lib/errorUtils.js
|
||||||
|
ReactNativeClient/lib/eventManager.js
|
||||||
|
ReactNativeClient/lib/fs-driver-node.js
|
||||||
|
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
||||||
|
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
||||||
|
ReactNativeClient/lib/hooks/usePrevious.js
|
||||||
|
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
||||||
|
ReactNativeClient/lib/InMemoryCache.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MarkupToHtml.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/code_inline.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fountain.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/highlight_keywords.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/html_image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/image.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/katex.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/link_open.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/noteStyle.js
|
||||||
|
ReactNativeClient/lib/joplin-renderer/pathUtils.js
|
||||||
|
ReactNativeClient/lib/JoplinServerApi.js
|
||||||
|
ReactNativeClient/lib/locale.js
|
||||||
|
ReactNativeClient/lib/Logger.js
|
||||||
|
ReactNativeClient/lib/markdownUtils.js
|
||||||
|
ReactNativeClient/lib/markupLanguageUtils.js
|
||||||
|
ReactNativeClient/lib/models/Alarm.js
|
||||||
|
ReactNativeClient/lib/models/Setting.js
|
||||||
|
ReactNativeClient/lib/ntpDate.js
|
||||||
|
ReactNativeClient/lib/path-utils.js
|
||||||
|
ReactNativeClient/lib/PoorManIntervals.js
|
||||||
|
ReactNativeClient/lib/reducer.js
|
||||||
|
ReactNativeClient/lib/services/AlarmService.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
|
||||||
|
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
|
||||||
|
ReactNativeClient/lib/services/BaseService.js
|
||||||
|
ReactNativeClient/lib/services/commands/commandsToMarkdownTable.js
|
||||||
|
ReactNativeClient/lib/services/commands/MenuUtils.js
|
||||||
|
ReactNativeClient/lib/services/commands/propsHaveChanged.js
|
||||||
|
ReactNativeClient/lib/services/commands/stateToWhenClauseContext.js
|
||||||
|
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
|
||||||
|
ReactNativeClient/lib/services/CommandService.js
|
||||||
|
ReactNativeClient/lib/services/contextkey/contextkey.js
|
||||||
|
ReactNativeClient/lib/services/debug/populateDatabase.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
|
||||||
|
ReactNativeClient/lib/services/interop/InteropService.js
|
||||||
|
ReactNativeClient/lib/services/interop/types.js
|
||||||
|
ReactNativeClient/lib/services/keychain/KeychainService.js
|
||||||
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
||||||
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
||||||
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
||||||
|
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
||||||
|
ReactNativeClient/lib/services/KeymapService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Global.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/Joplin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinData.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenus.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
|
||||||
|
ReactNativeClient/lib/services/plugins/api/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/MenuItemController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/Plugin.js
|
||||||
|
ReactNativeClient/lib/services/plugins/PluginService.js
|
||||||
|
ReactNativeClient/lib/services/plugins/reducer.js
|
||||||
|
ReactNativeClient/lib/services/plugins/sandboxProxy.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/contentScriptsToRendererRules.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
|
||||||
|
ReactNativeClient/lib/services/plugins/utils/types.js
|
||||||
|
ReactNativeClient/lib/services/plugins/ViewController.js
|
||||||
|
ReactNativeClient/lib/services/plugins/WebviewController.js
|
||||||
|
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
||||||
|
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
||||||
|
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
||||||
|
ReactNativeClient/lib/services/rest/Api.js
|
||||||
|
ReactNativeClient/lib/services/rest/errors.js
|
||||||
|
ReactNativeClient/lib/services/searchengine/filterParser.js
|
||||||
|
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
||||||
|
ReactNativeClient/lib/services/SettingUtils.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/gui/useSyncTargetUpgrade.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/LockHandler.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/MigrationHandler.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/migrations/1.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
||||||
|
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
||||||
|
ReactNativeClient/lib/services/UndoRedoService.js
|
||||||
|
ReactNativeClient/lib/services/WhenClause.js
|
||||||
|
ReactNativeClient/lib/ShareExtension.js
|
||||||
|
ReactNativeClient/lib/shareHandler.js
|
||||||
|
ReactNativeClient/lib/shim.js
|
||||||
|
ReactNativeClient/lib/Synchronizer.js
|
||||||
|
ReactNativeClient/lib/theme.js
|
||||||
|
ReactNativeClient/lib/themes/aritimDark.js
|
||||||
|
ReactNativeClient/lib/themes/dark.js
|
||||||
|
ReactNativeClient/lib/themes/dracula.js
|
||||||
|
ReactNativeClient/lib/themes/light.js
|
||||||
|
ReactNativeClient/lib/themes/nord.js
|
||||||
|
ReactNativeClient/lib/themes/oledDark.js
|
||||||
|
ReactNativeClient/lib/themes/solarizedDark.js
|
||||||
|
ReactNativeClient/lib/themes/solarizedLight.js
|
||||||
|
ReactNativeClient/lib/themes/type.js
|
||||||
|
ReactNativeClient/lib/uuid.js
|
||||||
|
ReactNativeClient/lib/versionInfo.js
|
||||||
|
ReactNativeClient/PluginAssetsLoader.js
|
||||||
|
ReactNativeClient/setUpQuickActions.js
|
||||||
|
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
2
BUILD.md
2
BUILD.md
@@ -96,4 +96,4 @@ The Markdown renderer is located under ReactNativeClient/lib/joplin-renderer. Wh
|
|||||||
|
|
||||||
# Troubleshooting
|
# Troubleshooting
|
||||||
|
|
||||||
Please read for the [Build Troubleshooting Document](https://github.com/laurent22/joplin/blob/master/readme/build_troubleshooting.md) for various tips on how to get the build working.
|
Please read for the [Build Troubleshooting Document](https://github.com/laurent22/joplin/blob/dev/readme/build_troubleshooting.md) for various tips on how to get the build working.
|
@@ -38,7 +38,7 @@ If you want to start contributing to the project's code, please follow these gui
|
|||||||
- All the applications share the same backend (database, synchronisation, settings, models, business logic, etc.) so if you change something in the backend in one app, makes sure it still work in the other apps. Usually it does, but keep this in mind.
|
- All the applications share the same backend (database, synchronisation, settings, models, business logic, etc.) so if you change something in the backend in one app, makes sure it still work in the other apps. Usually it does, but keep this in mind.
|
||||||
- Pull requests that make many changes using an automated tool, like for spell fixing, styling, etc. will not be accepted. An exception would be if the changes have been discussed in the forum and someone has agreed to review **and test** the pull request.
|
- Pull requests that make many changes using an automated tool, like for spell fixing, styling, etc. will not be accepted. An exception would be if the changes have been discussed in the forum and someone has agreed to review **and test** the pull request.
|
||||||
|
|
||||||
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.
|
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/dev/BUILD.md) for more details.
|
||||||
|
|
||||||
## Coding style
|
## Coding style
|
||||||
|
|
||||||
|
3
CliClient/.gitignore
vendored
3
CliClient/.gitignore
vendored
@@ -22,4 +22,5 @@ yarn-error.log
|
|||||||
tests/support/dropbox-auth.txt
|
tests/support/dropbox-auth.txt
|
||||||
tests/support/nextcloud-auth.json
|
tests/support/nextcloud-auth.json
|
||||||
tests/support/onedrive-auth.txt
|
tests/support/onedrive-auth.txt
|
||||||
build/
|
build/
|
||||||
|
patches/
|
@@ -1,4 +1,4 @@
|
|||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const { netUtils } = require('lib/net-utils.js');
|
const { netUtils } = require('lib/net-utils.js');
|
||||||
|
|
||||||
const http = require('http');
|
const http = require('http');
|
||||||
|
@@ -1,15 +1,17 @@
|
|||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const BaseItem = require('lib/models/BaseItem.js');
|
const BaseItem = require('lib/models/BaseItem.js');
|
||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const Resource = require('lib/models/Resource.js');
|
const Resource = require('lib/models/Resource.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { reducer, defaultState } = require('lib/reducer.js');
|
const reducer = require('lib/reducer').default;
|
||||||
|
const { defaultState } = require('lib/reducer');
|
||||||
const { splitCommandString } = require('lib/string-utils.js');
|
const { splitCommandString } = require('lib/string-utils.js');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
const shim = require('lib/shim').default;
|
||||||
const Entities = require('html-entities').AllHtmlEntities;
|
const Entities = require('html-entities').AllHtmlEntities;
|
||||||
const htmlentities = new Entities().encode;
|
const htmlentities = new Entities().encode;
|
||||||
|
|
||||||
@@ -477,7 +479,7 @@ class AppGui {
|
|||||||
this.linkSelector_.noteX + cursorOffsetX,
|
this.linkSelector_.noteX + cursorOffsetX,
|
||||||
this.linkSelector_.noteY + cursorOffsetY
|
this.linkSelector_.noteY + cursorOffsetY
|
||||||
);
|
);
|
||||||
setTimeout(() => this.term_.term().inverse(this.linkSelector_.link), 50);
|
shim.setTimeout(() => this.term_.term().inverse(this.linkSelector_.link), 50);
|
||||||
}
|
}
|
||||||
} else if (cmd === 'open_link') {
|
} else if (cmd === 'open_link') {
|
||||||
if (this.widget('noteText').hasFocus) {
|
if (this.widget('noteText').hasFocus) {
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
const { BaseApplication } = require('lib/BaseApplication');
|
const BaseApplication = require('lib/BaseApplication').default;
|
||||||
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
|
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
|
||||||
const ResourceService = require('lib/services/ResourceService');
|
const ResourceService = require('lib/services/ResourceService');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
@@ -6,14 +6,15 @@ const Folder = require('lib/models/Folder.js');
|
|||||||
const BaseItem = require('lib/models/BaseItem.js');
|
const BaseItem = require('lib/models/BaseItem.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const { fileExtension } = require('lib/path-utils.js');
|
const { fileExtension } = require('lib/path-utils');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const { cliUtils } = require('./cli-utils.js');
|
const { cliUtils } = require('./cli-utils.js');
|
||||||
const Cache = require('lib/Cache');
|
const Cache = require('lib/Cache');
|
||||||
const RevisionService = require('lib/services/RevisionService');
|
const RevisionService = require('lib/services/RevisionService');
|
||||||
|
const shim = require('lib/shim').default;
|
||||||
|
|
||||||
class Application extends BaseApplication {
|
class Application extends BaseApplication {
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -161,7 +162,7 @@ class Application extends BaseApplication {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Give it a few seconds to cancel otherwise exit anyway
|
// Give it a few seconds to cancel otherwise exit anyway
|
||||||
setTimeout(async () => {
|
shim.setTimeout(async () => {
|
||||||
await doExit();
|
await doExit();
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
|
|
||||||
class BaseCommand {
|
class BaseCommand {
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const { fileExtension, dirname } = require('lib/path-utils.js');
|
const { fileExtension, dirname } = require('lib/path-utils');
|
||||||
const wrap_ = require('word-wrap');
|
const wrap_ = require('word-wrap');
|
||||||
const { languageCode } = require('lib/locale.js');
|
const { languageCode } = require('lib/locale');
|
||||||
|
|
||||||
const rootDir = dirname(dirname(__dirname));
|
const rootDir = dirname(dirname(__dirname));
|
||||||
const MAX_WIDTH = 78;
|
const MAX_WIDTH = 78;
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const { dirname } = require('lib/path-utils.js');
|
const { dirname } = require('lib/path-utils');
|
||||||
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
|
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
|
||||||
const { JoplinDatabase } = require('lib/joplin-database.js');
|
const { JoplinDatabase } = require('lib/joplin-database.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { sprintf } = require('sprintf-js');
|
const { sprintf } = require('sprintf-js');
|
||||||
const exec = require('child_process').exec;
|
const exec = require('child_process').exec;
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const yargParser = require('yargs-parser');
|
const yargParser = require('yargs-parser');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
const stringPadding = require('string-padding');
|
const stringPadding = require('string-padding');
|
||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
|
|
||||||
const cliUtils = {};
|
const cliUtils = {};
|
||||||
|
|
||||||
|
@@ -3,7 +3,7 @@ const BaseItem = require('lib/models/BaseItem');
|
|||||||
const BaseModel = require('lib/BaseModel');
|
const BaseModel = require('lib/BaseModel');
|
||||||
const { toTitleCase } = require('lib/string-utils.js');
|
const { toTitleCase } = require('lib/string-utils.js');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const markdownUtils = require('lib/markdownUtils');
|
const markdownUtils = require('lib/markdownUtils').default;
|
||||||
const { Database } = require('lib/database.js');
|
const { Database } = require('lib/database.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
@@ -53,9 +53,9 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
const lines = [];
|
const lines = [];
|
||||||
|
|
||||||
lines.push('# Joplin API');
|
lines.push('# Joplin Data API');
|
||||||
lines.push('');
|
lines.push('');
|
||||||
|
lines.push('This API is available when the clipper server is running. It provides access to the notes, notebooks, tags and other Joplin object via a REST API. Plugins can also access this API even when the clipper server is not running.');
|
||||||
lines.push('');
|
lines.push('');
|
||||||
lines.push('In order to use it, you\'ll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port **41184**. If you want to find it programmatically, you may follow this kind of algorithm:');
|
lines.push('In order to use it, you\'ll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port **41184**. If you want to find it programmatically, you may follow this kind of algorithm:');
|
||||||
lines.push('');
|
lines.push('');
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const { shim } = require('lib/shim.js');
|
const shim = require('lib/shim').default;
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const BaseItem = require('lib/models/BaseItem.js');
|
const BaseItem = require('lib/models/BaseItem.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { _, setLocale } = require('lib/locale.js');
|
const { _, setLocale } = require('lib/locale');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
@@ -124,7 +124,6 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
if (args.name == 'locale') {
|
if (args.name == 'locale') {
|
||||||
setLocale(Setting.value('locale'));
|
setLocale(Setting.value('locale'));
|
||||||
app().onLocaleChanged();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await Setting.saveAll();
|
await Setting.saveAll();
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const EncryptionService = require('lib/services/EncryptionService');
|
const EncryptionService = require('lib/services/EncryptionService');
|
||||||
const DecryptionWorker = require('lib/services/DecryptionWorker');
|
const DecryptionWorker = require('lib/services/DecryptionWorker');
|
||||||
const BaseItem = require('lib/models/BaseItem');
|
const BaseItem = require('lib/models/BaseItem');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { shim } = require('lib/shim');
|
const shim = require('lib/shim').default;
|
||||||
const pathUtils = require('lib/path-utils.js');
|
const pathUtils = require('lib/path-utils');
|
||||||
const imageType = require('image-type');
|
const imageType = require('image-type');
|
||||||
const readChunk = require('read-chunk');
|
const readChunk = require('read-chunk');
|
||||||
|
|
||||||
@@ -38,17 +38,19 @@ class Command extends BaseCommand {
|
|||||||
this.stdout(_('Operation cancelled'));
|
this.stdout(_('Operation cancelled'));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Setting.setObjectKey('encryption.passwordCache', masterKeyId, password);
|
Setting.setObjectValue('encryption.passwordCache', masterKeyId, password);
|
||||||
await EncryptionService.instance().loadMasterKeysFromSettings();
|
await EncryptionService.instance().loadMasterKeysFromSettings();
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
const startDecryption = async () => {
|
const startDecryption = async () => {
|
||||||
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
|
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
const result = await DecryptionWorker.instance().start();
|
const result = await DecryptionWorker.instance().start();
|
||||||
|
|
||||||
|
if (result.error) throw result.error;
|
||||||
|
|
||||||
const line = [];
|
const line = [];
|
||||||
line.push(_('Decrypted items: %d', result.decryptedItemCount));
|
line.push(_('Decrypted items: %d', result.decryptedItemCount));
|
||||||
if (result.skippedItemCount) line.push(_('Skipped items: %d (use --retry-failed-items to retry decrypting them)', result.skippedItemCount));
|
if (result.skippedItemCount) line.push(_('Skipped items: %d (use --retry-failed-items to retry decrypting them)', result.skippedItemCount));
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { splitCommandString } = require('lib/string-utils.js');
|
const { splitCommandString } = require('lib/string-utils.js');
|
||||||
const { uuid } = require('lib/uuid.js');
|
const uuid = require('lib/uuid').default;
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { ReportService } = require('lib/services/report.js');
|
const { ReportService } = require('lib/services/report.js');
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const InteropService = require('lib/services/InteropService.js');
|
const InteropService = require('lib/services/interop/InteropService').default;
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
@@ -14,7 +14,7 @@ class Command extends BaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
options() {
|
options() {
|
||||||
const service = new InteropService();
|
const service = InteropService.instance();
|
||||||
const formats = service
|
const formats = service
|
||||||
.modules()
|
.modules()
|
||||||
.filter(m => m.type === 'exporter' && m.format !== 'html')
|
.filter(m => m.type === 'exporter' && m.format !== 'html')
|
||||||
@@ -41,7 +41,7 @@ class Command extends BaseCommand {
|
|||||||
exportOptions.sourceFolderIds = folders.map(n => n.id);
|
exportOptions.sourceFolderIds = folders.map(n => n.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
const service = new InteropService();
|
const service = InteropService.instance();
|
||||||
const result = await service.export(exportOptions);
|
const result = await service.export(exportOptions);
|
||||||
|
|
||||||
result.warnings.map(w => this.stdout(w));
|
result.warnings.map(w => this.stdout(w));
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { renderCommandHelp } = require('./help-utils.js');
|
const { renderCommandHelp } = require('./help-utils.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { cliUtils } = require('./cli-utils.js');
|
const { cliUtils } = require('./cli-utils.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const InteropService = require('lib/services/InteropService.js');
|
const InteropService = require('lib/services/interop/InteropService').default;
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const { cliUtils } = require('./cli-utils.js');
|
const { cliUtils } = require('./cli-utils.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
@@ -15,7 +15,7 @@ class Command extends BaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
options() {
|
options() {
|
||||||
const service = new InteropService();
|
const service = InteropService.instance();
|
||||||
const formats = service
|
const formats = service
|
||||||
.modules()
|
.modules()
|
||||||
.filter(m => m.type === 'importer')
|
.filter(m => m.type === 'importer')
|
||||||
@@ -63,7 +63,7 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
app().gui().showConsole();
|
app().gui().showConsole();
|
||||||
this.stdout(_('Importing notes...'));
|
this.stdout(_('Importing notes...'));
|
||||||
const service = new InteropService();
|
const service = InteropService.instance();
|
||||||
const result = await service.import(importOptions);
|
const result = await service.import(importOptions);
|
||||||
result.warnings.map(w => this.stdout(w));
|
result.warnings.map(w => this.stdout(w));
|
||||||
cliUtils.redrawDone();
|
cliUtils.redrawDone();
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const { sprintf } = require('sprintf-js');
|
const { sprintf } = require('sprintf-js');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const { uuid } = require('lib/uuid.js');
|
const uuid = require('lib/uuid').default;
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const { shim } = require('lib/shim');
|
const shim = require('lib/shim').default;
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const { Database } = require('lib/database.js');
|
const { Database } = require('lib/database.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { ReportService } = require('lib/services/report.js');
|
const { ReportService } = require('lib/services/report.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { OneDriveApiNodeUtils } = require('lib/onedrive-api-node-utils.js');
|
const { OneDriveApiNodeUtils } = require('lib/onedrive-api-node-utils.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const ResourceFetcher = require('lib/services/ResourceFetcher');
|
const ResourceFetcher = require('lib/services/ResourceFetcher');
|
||||||
const { Synchronizer } = require('lib/synchronizer.js');
|
const Synchronizer = require('lib/Synchronizer').default;
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const { cliUtils } = require('./cli-utils.js');
|
const { cliUtils } = require('./cli-utils.js');
|
||||||
const md5 = require('md5');
|
const md5 = require('md5');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
const CommandDone = require('./command-done.js');
|
const CommandDone = require('./command-done.js');
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const { app } = require('./app.js');
|
const { app } = require('./app.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
const { BaseCommand } = require('./base-command.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
usage() {
|
usage() {
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { time } = require('lib/time-utils.js');
|
const { time } = require('lib/time-utils.js');
|
||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const Resource = require('lib/models/Resource.js');
|
const Resource = require('lib/models/Resource.js');
|
||||||
const { dirname } = require('lib/path-utils.js');
|
const { dirname } = require('lib/path-utils');
|
||||||
const { FsDriverNode } = require('./fs-driver-node.js');
|
const FsDriverNode = require('lib/fs-driver-node').default;
|
||||||
const lodash = require('lodash');
|
const lodash = require('lodash');
|
||||||
const exec = require('child_process').exec;
|
const exec = require('child_process').exec;
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
|
@@ -2,7 +2,7 @@ const Folder = require('lib/models/Folder.js');
|
|||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const ListWidget = require('tkwidgets/ListWidget.js');
|
const ListWidget = require('tkwidgets/ListWidget.js');
|
||||||
const _ = require('lib/locale.js')._;
|
const _ = require('lib/locale')._;
|
||||||
|
|
||||||
class FolderListWidget extends ListWidget {
|
class FolderListWidget extends ListWidget {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const TextWidget = require('tkwidgets/TextWidget.js');
|
const TextWidget = require('tkwidgets/TextWidget.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
class NoteWidget extends TextWidget {
|
class NoteWidget extends TextWidget {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
const { wrap } = require('lib/string-utils.js');
|
const { wrap } = require('lib/string-utils.js');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
|
|
||||||
const MAX_WIDTH = 78;
|
const MAX_WIDTH = 78;
|
||||||
const INDENT = ' ';
|
const INDENT = ' ';
|
||||||
|
@@ -21,12 +21,12 @@ const Note = require('lib/models/Note.js');
|
|||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const NoteTag = require('lib/models/NoteTag.js');
|
const NoteTag = require('lib/models/NoteTag.js');
|
||||||
const MasterKey = require('lib/models/MasterKey');
|
const MasterKey = require('lib/models/MasterKey');
|
||||||
const Setting = require('lib/models/Setting.js');
|
const Setting = require('lib/models/Setting').default;
|
||||||
const Revision = require('lib/models/Revision.js');
|
const Revision = require('lib/models/Revision.js');
|
||||||
const { Logger } = require('lib/logger.js');
|
const Logger = require('lib/Logger').default;
|
||||||
const { FsDriverNode } = require('lib/fs-driver-node.js');
|
const FsDriverNode = require('lib/fs-driver-node').default;
|
||||||
const { shimInit } = require('lib/shim-init-node.js');
|
const { shimInit } = require('lib/shim-init-node.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale');
|
||||||
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
|
const { FileApiDriverLocal } = require('lib/file-api-driver-local.js');
|
||||||
const EncryptionService = require('lib/services/EncryptionService');
|
const EncryptionService = require('lib/services/EncryptionService');
|
||||||
const envFromArgs = require('lib/envFromArgs');
|
const envFromArgs = require('lib/envFromArgs');
|
||||||
|
78
CliClient/app/services/plugins/PluginRunner.ts
Normal file
78
CliClient/app/services/plugins/PluginRunner.ts
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
import * as vm from 'vm';
|
||||||
|
import Plugin from 'lib/services/plugins/Plugin';
|
||||||
|
import sandboxProxy from 'lib/services/plugins/sandboxProxy';
|
||||||
|
import BasePluginRunner from 'lib/services/plugins/BasePluginRunner';
|
||||||
|
import executeSandboxCall from 'lib/services/plugins/utils/executeSandboxCall';
|
||||||
|
import Global from 'lib/services/plugins/api/Global';
|
||||||
|
import mapEventHandlersToIds, { EventHandlers } from 'lib/services/plugins/utils/mapEventHandlersToIds';
|
||||||
|
|
||||||
|
function createConsoleWrapper(pluginId:string) {
|
||||||
|
const wrapper:any = {};
|
||||||
|
|
||||||
|
for (const n in console) {
|
||||||
|
if (!console.hasOwnProperty(n)) continue;
|
||||||
|
wrapper[n] = (...args:any[]) => {
|
||||||
|
const newArgs = args.slice();
|
||||||
|
newArgs.splice(0, 0, `Plugin "${pluginId}":`);
|
||||||
|
return (console as any)[n](...newArgs);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return wrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
// The CLI plugin runner is more complex than it needs to be because it more or less emulates
|
||||||
|
// how it would work in a multi-process architecture, as in the desktop app (and probably how
|
||||||
|
// it would work in the mobile app too). This is mainly to allow doing integration testing.
|
||||||
|
//
|
||||||
|
// For example, all plugin calls go through a proxy, however they could made directly since
|
||||||
|
// the plugin script is running within the same process as the main app.
|
||||||
|
|
||||||
|
export default class PluginRunner extends BasePluginRunner {
|
||||||
|
|
||||||
|
private eventHandlers_:EventHandlers = {};
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.eventHandler = this.eventHandler.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async eventHandler(eventHandlerId:string, args:any[]) {
|
||||||
|
const cb = this.eventHandlers_[eventHandlerId];
|
||||||
|
return cb(...args);
|
||||||
|
}
|
||||||
|
|
||||||
|
private newSandboxProxy(pluginId:string, sandbox:Global) {
|
||||||
|
const target = async (path:string, args:any[]) => {
|
||||||
|
return executeSandboxCall(pluginId, sandbox, `joplin.${path}`, mapEventHandlersToIds(args, this.eventHandlers_), this.eventHandler);
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
joplin: sandboxProxy(target),
|
||||||
|
console: createConsoleWrapper(pluginId),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
async run(plugin:Plugin, sandbox:Global):Promise<void> {
|
||||||
|
return new Promise((resolve:Function, reject:Function) => {
|
||||||
|
const onStarted = () => {
|
||||||
|
plugin.off('started', onStarted);
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
|
||||||
|
plugin.on('started', onStarted);
|
||||||
|
|
||||||
|
const vmSandbox = vm.createContext(this.newSandboxProxy(plugin.id, sandbox));
|
||||||
|
|
||||||
|
try {
|
||||||
|
vm.runInContext(plugin.scriptText, vmSandbox);
|
||||||
|
} catch (error) {
|
||||||
|
reject(error);
|
||||||
|
// this.logger().error(`In plugin ${plugin.id}:`, error);
|
||||||
|
// return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -17,12 +17,23 @@ tasks.prepareBuild = {
|
|||||||
excluded: ['node_modules'],
|
excluded: ['node_modules'],
|
||||||
});
|
});
|
||||||
await utils.copyDir(`${__dirname}/locales-build`, `${buildDir}/locales`);
|
await utils.copyDir(`${__dirname}/locales-build`, `${buildDir}/locales`);
|
||||||
await utils.copyDir(`${__dirname}/../patches`, `${buildDir}/patches`);
|
|
||||||
await tasks.copyLib.fn();
|
await tasks.copyLib.fn();
|
||||||
await utils.copyFile(`${__dirname}/package.json`, `${buildDir}/package.json`);
|
await utils.copyFile(`${__dirname}/package.json`, `${buildDir}/package.json`);
|
||||||
await utils.copyFile(`${__dirname}/package-lock.json`, `${buildDir}/package-lock.json`);
|
await utils.copyFile(`${__dirname}/package-lock.json`, `${buildDir}/package-lock.json`);
|
||||||
await utils.copyFile(`${__dirname}/gulpfile.js`, `${buildDir}/gulpfile.js`);
|
await utils.copyFile(`${__dirname}/gulpfile.js`, `${buildDir}/gulpfile.js`);
|
||||||
|
|
||||||
|
// Import all the patches inside the CliClient directory
|
||||||
|
// and build file. Needs to be in CliClient dir for when running
|
||||||
|
// in dev mode, and in build dir for production.
|
||||||
|
const localPatchDir = `${buildDir}/patches`;
|
||||||
|
await fs.remove(localPatchDir);
|
||||||
|
await fs.mkdirp(localPatchDir);
|
||||||
|
await utils.copyDir(`${__dirname}/../patches/shared`, `${localPatchDir}`, { delete: false });
|
||||||
|
await utils.copyDir(`${__dirname}/../patches/node`, `${localPatchDir}`, { delete: false });
|
||||||
|
|
||||||
|
await fs.remove(`${__dirname}/patches`);
|
||||||
|
await utils.copyDir(`${localPatchDir}`, `${__dirname}/patches`);
|
||||||
|
|
||||||
const packageRaw = await fs.readFile(`${buildDir}/package.json`);
|
const packageRaw = await fs.readFile(`${buildDir}/package.json`);
|
||||||
const package = JSON.parse(packageRaw.toString());
|
const package = JSON.parse(packageRaw.toString());
|
||||||
package.scripts.postinstall = 'patch-package';
|
package.scripts.postinstall = 'patch-package';
|
||||||
@@ -46,8 +57,14 @@ tasks.prepareTestBuild = {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
await utils.copyDir(`${__dirname}/../ReactNativeClient/lib`, `${testBuildDir}/lib`);
|
const rootDir = utils.rootDir();
|
||||||
await utils.copyDir(`${__dirname}/../ReactNativeClient/locales`, `${testBuildDir}/locales`);
|
|
||||||
|
await utils.copyDir(`${rootDir}/ReactNativeClient/lib`, `${testBuildDir}/lib`, {
|
||||||
|
excluded: [
|
||||||
|
`${rootDir}/ReactNativeClient/lib/joplin-renderer/node_modules`,
|
||||||
|
],
|
||||||
|
});
|
||||||
|
await utils.copyDir(`${rootDir}/ReactNativeClient/locales`, `${testBuildDir}/locales`);
|
||||||
await fs.mkdirp(`${testBuildDir}/data`);
|
await fs.mkdirp(`${testBuildDir}/data`);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -38,42 +38,42 @@ locales['tr_TR'] = require('./tr_TR.json');
|
|||||||
locales['vi'] = require('./vi.json');
|
locales['vi'] = require('./vi.json');
|
||||||
locales['zh_CN'] = require('./zh_CN.json');
|
locales['zh_CN'] = require('./zh_CN.json');
|
||||||
locales['zh_TW'] = require('./zh_TW.json');
|
locales['zh_TW'] = require('./zh_TW.json');
|
||||||
stats['ar'] = {"percentDone":80};
|
stats['ar'] = {"percentDone":78};
|
||||||
stats['eu'] = {"percentDone":34};
|
stats['eu'] = {"percentDone":33};
|
||||||
stats['bs_BA'] = {"percentDone":83};
|
stats['bs_BA'] = {"percentDone":82};
|
||||||
stats['bg_BG'] = {"percentDone":66};
|
stats['bg_BG'] = {"percentDone":65};
|
||||||
stats['ca'] = {"percentDone":53};
|
stats['ca'] = {"percentDone":95};
|
||||||
stats['hr_HR'] = {"percentDone":28};
|
stats['hr_HR'] = {"percentDone":27};
|
||||||
stats['cs_CZ'] = {"percentDone":82};
|
stats['cs_CZ'] = {"percentDone":98};
|
||||||
stats['da_DK'] = {"percentDone":74};
|
stats['da_DK'] = {"percentDone":72};
|
||||||
stats['de_DE'] = {"percentDone":95};
|
stats['de_DE'] = {"percentDone":97};
|
||||||
stats['et_EE'] = {"percentDone":66};
|
stats['et_EE'] = {"percentDone":65};
|
||||||
stats['en_GB'] = {"percentDone":100};
|
stats['en_GB'] = {"percentDone":100};
|
||||||
stats['en_US'] = {"percentDone":100};
|
stats['en_US'] = {"percentDone":100};
|
||||||
stats['es_ES'] = {"percentDone":95};
|
stats['es_ES'] = {"percentDone":98};
|
||||||
stats['eo'] = {"percentDone":38};
|
stats['eo'] = {"percentDone":37};
|
||||||
stats['fr_FR'] = {"percentDone":94};
|
stats['fr_FR'] = {"percentDone":98};
|
||||||
stats['gl_ES'] = {"percentDone":43};
|
stats['gl_ES'] = {"percentDone":42};
|
||||||
stats['id_ID'] = {"percentDone":93};
|
stats['id_ID'] = {"percentDone":92};
|
||||||
stats['it_IT'] = {"percentDone":91};
|
stats['it_IT'] = {"percentDone":98};
|
||||||
stats['nl_NL'] = {"percentDone":96};
|
stats['nl_NL'] = {"percentDone":94};
|
||||||
stats['nl_BE'] = {"percentDone":34};
|
stats['nl_BE'] = {"percentDone":33};
|
||||||
stats['nb_NO'] = {"percentDone":88};
|
stats['nb_NO'] = {"percentDone":87};
|
||||||
stats['fa'] = {"percentDone":80};
|
stats['fa'] = {"percentDone":82};
|
||||||
stats['pl_PL'] = {"percentDone":96};
|
stats['pl_PL'] = {"percentDone":97};
|
||||||
stats['pt_PT'] = {"percentDone":89};
|
stats['pt_PT'] = {"percentDone":98};
|
||||||
stats['pt_BR'] = {"percentDone":96};
|
stats['pt_BR'] = {"percentDone":96};
|
||||||
stats['ro'] = {"percentDone":78};
|
stats['ro'] = {"percentDone":77};
|
||||||
stats['sl_SI'] = {"percentDone":42};
|
stats['sl_SI'] = {"percentDone":41};
|
||||||
stats['sv'] = {"percentDone":71};
|
stats['sv'] = {"percentDone":70};
|
||||||
stats['th_TH'] = {"percentDone":52};
|
stats['th_TH'] = {"percentDone":52};
|
||||||
stats['vi'] = {"percentDone":85};
|
stats['vi'] = {"percentDone":84};
|
||||||
stats['tr_TR'] = {"percentDone":96};
|
stats['tr_TR'] = {"percentDone":97};
|
||||||
stats['el_GR'] = {"percentDone":96};
|
stats['el_GR'] = {"percentDone":95};
|
||||||
stats['ru_RU'] = {"percentDone":95};
|
stats['ru_RU'] = {"percentDone":94};
|
||||||
stats['sr_RS'] = {"percentDone":72};
|
stats['sr_RS'] = {"percentDone":70};
|
||||||
stats['zh_CN'] = {"percentDone":96};
|
stats['zh_CN'] = {"percentDone":95};
|
||||||
stats['zh_TW'] = {"percentDone":95};
|
stats['zh_TW'] = {"percentDone":94};
|
||||||
stats['ja_JP'] = {"percentDone":96};
|
stats['ja_JP'] = {"percentDone":99};
|
||||||
stats['ko'] = {"percentDone":86};
|
stats['ko'] = {"percentDone":99};
|
||||||
module.exports = { locales: locales, stats: stats };
|
module.exports = { locales: locales, stats: stats };
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user