46 Commits

Author SHA1 Message Date
Riccardo Ferretti
3a798b520f v0.8.0 2021-01-15 13:36:00 +01:00
Riccardo Ferretti
8db4d2897f Preparation for 0.8.0 release 2021-01-15 13:24:35 +01:00
Riccardo
cd92468311 Prettier format and chores (#448)
* fix #442 - link to known-issues replaced

* formatted settings + enable format on save + improved jest config

* removed editorconfig in foam-cli

* formatted foam-vscode

* removed author in package.json files

* minor changes to readme files

* fixed husky pre-commit hook
2021-01-14 17:00:03 +01:00
Riccardo
f9331ad327 refactor: better organization and simplification of core model (#406)
* using URI as note identifier

* cleanup: put definitions together with related code, moved note-graph, removed slug field from Note model
2021-01-03 13:04:05 +01:00
Riccardo Ferretti
50075a384b v0.7.4 2020-12-16 19:54:28 +01:00
Riccardo Ferretti
71e3581409 Preparation for 0.7.4 2020-12-16 17:53:08 +01:00
Riccardo
6baeec4db6 Using URI across the board for better Windows support (#391)
* add windows-2019 to CI os matrix
* use actual URI object instead of strings to represent paths/uris
* added datastore tests
* chore: make Foam IDisposable
2020-12-16 17:47:31 +01:00
Riccardo Ferretti
cde0ea7fc8 v0.7.3 2020-12-14 10:38:27 +01:00
Riccardo Ferretti
438422f545 Preparation for 0.7.3 2020-12-14 10:38:06 +01:00
Riccardo Ferretti
ae05f38c70 Preparation for 0.7.3 2020-12-14 10:38:06 +01:00
Riccardo Ferretti
4e624d5cf9 v0.7.2 2020-11-28 18:11:01 +01:00
Riccardo Ferretti
83afa873dc v0.7.1 2020-11-27 16:12:04 +01:00
Riccardo Ferretti
69c3f5fb25 Preparation for 0.7.1 2020-11-27 15:50:15 +01:00
Riccardo
6152e89590 Adding service that can direct logging to vscode console (#377)
* Improved logging
- using classes instead of functions (feels like it fits better the use case)
- using singleton global to not pass logging service around

* Added vscode logger, command to change level, and settings

* improved bootstrap logging

* build foam-core before running tests in github workflows
2020-11-27 15:38:19 +01:00
Riccardo Ferretti
788ccbd905 v0.7.0 2020-11-25 16:44:47 +01:00
Riccardo Ferretti
ddbf365313 preparation for 0.7.0 2020-11-25 14:22:29 +01:00
Riccardo
d054e19eae Keep foam in sync with file system (#349)
* added common code from vscode repo

lots of good utility functions and objects, especially around lifecycle and event management

* added datastore and logger services

* refactored bootstrap to consolidate behavior in foam-core

* tags treeview now updates when files are saved

* updated node engine version to match vscode's

* using new event model for foam graph events
2020-11-20 12:04:07 +01:00
Riccardo Ferretti
846908e9d2 v0.6.0 2020-11-19 17:59:04 +01:00
Riccardo Ferretti
76a9a4ac93 Prepare for 0.6.0 release 2020-11-19 17:03:06 +01:00
Riccardo Ferretti
fdc2c7cf4c v0.5.0 2020-11-09 17:41:16 +01:00
Riccardo Ferretti
b0536ce9f7 v0.5.0-alpha.2 2020-11-09 17:26:58 +01:00
Riccardo Ferretti
39a96a2d02 v0.5.0-alpha.0 2020-11-09 16:24:44 +01:00
hikerpig
b2ebd82f25 Fix error in cli command janitor & migrate (#312)
* Fix error caused by 'createConfigFromFolders' in command janitor & migrate

* style: fix lint error
2020-11-02 15:35:35 +01:00
Riccardo Ferretti
a34842b957 v0.4.0 2020-10-28 13:06:38 +01:00
Riccardo Ferretti
0c9bbf6747 fixing peer dependency version 2020-10-28 13:06:00 +01:00
Riccardo Ferretti
647afa80e8 v0.4.0-alpha.0 2020-10-28 12:27:04 +01:00
Riccardo
74dbf485df added support for graph middleware via local plugin (#261)
* added support for graph middleware via local plugin

* added support for parsing extension points / plugins

* improved parser plugin and added docs

* improved name of parameter

* need to enable local plugins, and improved configuration system

For security reasons local plugins are off by default.
The feature can be enabled via a flag in the foam configuration, which has been expanded to support this case.
The configuration system now reads a `config.json` file inside the `.foam` directory as well as a `~/.foam/config.json` file to configure the system.
Only the user specific configuration file can be used to enable local plugins, as a security measure against malicious repos.

* added prettier configuration file

This ensures consistency across machines as well as an explicit source of truth
2020-10-07 22:19:04 +02:00
Riccardo
87f172d217 Decoupled note ID from note slug (#208)
* decoupled ID from note slug

* added vscode debug configuration to work with vscode-jest extension

* made things prettier

* Add a test for parsing empty frontmatter

* Use astPositionToVsCodePosition util function

* fixed a TODOs around URIs and added tests

* added tests around notes querying

* removing unused imports

* Fix typo

* implemented PR feedback

* fixed lint warnings and renamed method for consistency

* removed unnecessary checks and fix compilation error in tests

Co-authored-by: Ankit Tiwari <ankitt255@gmail.com>
2020-08-05 18:37:35 +02:00
Jani Eväkallio
0e0355ae9f Fix VSCode Launch Task and Monorepo builds (#193)
* revise vscode task and launch configs

- Removed commands from sub-package:
  same can be achieved from the root
- Added build and no-build variants.
  In case separate watcher is already running,
  no need to build.
- Changed watch to build (no hot-reload in vscode by default)
- Show the build in console

Didn't update yarn.lock, seems to want to add
foam-core@0.3.0-alpha.0, but not really
related to this change

Note: the extension tests are failing due to
`Cannot find module '...foam-vscode/out/test/suite/index'`.
However that shouldn't be related to this change either.

* Simplify VS Code launch tasks (shift work to typescript compiler)

* Fix circular dependency index->janitor/index->index

* Use --build flag to use TSC in Build Mode
https://www.typescriptlang.org/docs/handbook/project-references.html#build-mode-for-typescript

This configures tsc to use multiple project roots (vscode, core) and run incremental builds on
changes to each projects. This will necessitate us running the core in commonjs build mode,
which is fine for testing and deployment to node environments, but won't work in the browser,
so foam-core will need a separate build config for UMD builds

* Build foam-core in commonjs mode by default (+cleanup unnecessary config)

* Create ES6 build config for distribution builds

* Cleanup yarn.lock

* Build package before running

* Fix missing lint paths and fix lint error

* Remove redundant .vscode settings files from foam-vscode project

* Add core test launch task

Co-authored-by: jojanaho <janne.ojanaho@iki.fi>
2020-07-30 21:39:16 +01:00
Jani Eväkallio
5418ea8bb2 v0.3.0 2020-07-25 18:28:52 +01:00
Jani Eväkallio
50dd3685cd Prepare for 0.3.0 release 2020-07-25 18:27:08 +01:00
Jani Eväkallio
fe9c6461c4 Remove hello commoand from CLI 2020-07-25 17:28:06 +01:00
CHIRAG SINGHAL
0cf2295c2a Implement janitor command to extension (#155)
* Move applyTextEdit to core

* WIP: Add janitor command in foam-vscode

* basic janitor command done

* unsaved markdown janitor solved

* export bootstrap getConfig functions

* fixed multi unsaved files text edits

* Move applyTextEdit to core

* WIP: Add janitor command in foam-vscode

* basic janitor command done

* unsaved markdown janitor solved

* export bootstrap getConfig functions

* fixed multi unsaved files text edits

* Be less greedy about definitions, only include defs at end of file

* Use link reference definitions in janitor

* Add headers/footers to tests

* Ensure janitor doesn't touch unrelated reference definitions

* Format document, convert promise trampoline to async/await for readability

* Add error handling and friendly output

* Use workspace settings for extension

* Add flag to janitor

* Use note.eol

* Fix tests

Co-authored-by: Ankit Tiwari <ankitt255@gmail.com>
Co-authored-by: Jani Eväkallio <jani.evakallio@gmail.com>
2020-07-25 17:17:03 +01:00
Riccardo
c88c24f97e DX: repo-wide build tasks (#144) 2020-07-22 00:11:04 +01:00
Ankit Tiwari
339274309f Implement foam-cli janitor command (#112)
* Add Note.definitions and Note.end

* Use stringifyMarkdownLinkReferenceDefinition in foam-vscode

This commit also applies prettier to previously badly formatted files, so the diff is larger than necessary

* Add Note.end and Note.definitions to foam-core tests

* Export stringifyMarkdownLinkReferenceDefinition from foam-core

* Implement first version of generateLinkReferenceDefinitions janitor method

* Add partial tests for generateLinkReferenceDefinitions

* Setup Jest

* Add remove link definitions test to generateLinkReferences janitor method

* Add update link definitions test to generateLinkReferences janitor method

* export TextEdit interface

* Implement first version of applyText method

* Add no change  in link definitions test to generateLinkReferences janitor method

* Add  partial tests for writeFileToDisk method

* Implement generateHeading janitor method

Co-authored-by: CHIRAG SINGHAL <csinghal208@gmail.com>

* Move noteGraph scaffolding to utils

* Implement basic foam-cli janitor command

* kebab case file names while running janitor

* added generate Heading function to janitor

* added tests for generateHeading in janitor

* PR changes

* Add ora spinner

* Store endOfLine inside Note

* Use note.eol to append line endings

* check if given path is valid directory

* minor fixes

* added glob as dependency

* ignore link refrences with no file

* added tests files for migration

* Solves issue with roam migration

* fixed core tests

* Replace dashify by github-slugger

* used github slagger instead of dashify

* Add foam-core as dependency

* added foam migrate command

* updated foam janitor command

* minor fixes

* removed extra test files

* removed excess white space

* Refactor (PR changes)

1.  Renamed initializeNoteGraph.ts to initialize-note-graph.ts to be consistent with naming

2.  Refactored code in janitor and migrate commands

* Mock fs for tests

* Use Promise.resolve(null)

* Make fs tests no blocking by using promises

* Refactor renameFile to use path module

* Propagate the error from writeFileToDisk method

* Remove posttest command

* Run prettier before merge to get a cleaner diff

* Fix typo in variable name

* yarn lint --fix

* Update markdown-provider tests to support new API

* Add missing includeExtension argument

Co-authored-by: Jani Eväkallio <jani.evakallio@gmail.com>
Co-authored-by: chirag-singhal <csinghal208@gmail.com>
2020-07-20 19:28:41 +01:00
Jani Eväkallio
2501638a55 v0.2.0 2020-07-12 15:16:58 +01:00
Jani Eväkallio
20ae1f2ad9 Prepare for 0.2.0 release 2020-07-12 15:16:28 +01:00
Riccardo Ferretti
8bbf9727f6 renamed packages
renamed @foam/core => foam-core and @foam/cli => foam-cli (see https://github.com/foambubble/foam/pull/83#discussion_r453232485)
2020-07-12 02:39:05 +02:00
Riccardo Ferretti
639edafe52 extracted foam-core and created @foam modules 2020-07-12 02:38:05 +02:00
Jani Eväkallio
1c358dd3a7 Instructions for developing foam-cli with foam-workspace-manager 2020-07-07 13:53:56 +01:00
Jani Eväkallio
821c40118c Add test code for running foam-workspace-manager from CLI 2020-07-07 13:53:56 +01:00
Jani Eväkallio
9d50f483ff Add foam-workspace-manager dependency 2020-07-07 13:53:56 +01:00
Jani Eväkallio
5ad24971d3 Remove unused foam-cli mocha tests, will be replaced by jest 2020-07-05 08:50:05 +01:00
Jani Eväkallio
24d81a951d Remove conflicting test libraries
Thanks to moving to monorepo (great idea, me!) we landed in a bit of a mess
where we had conflicting test runners and types from two version of mocha
(foam-vscode and foam-cli) and jest (foam-workspace-manager via tsdx)

To unbreak the tsc builds, I've removed the unused mocha tests (since there
were no tests anyway, with the goal to moving to jest tests across all packages)

For vscode jest tests, see:
https://medium.com/@soloydenko/end-to-end-testing-vs-code-extensions-via-jest-828e5edfeb75
2020-07-05 08:16:56 +01:00
Jani Eväkallio
37deb5d9b7 Comment out cli tests for now 2020-07-05 07:48:05 +01:00
Jani Eväkallio
1580f14204 Init new oclif project for foam-cli 2020-07-04 22:18:59 +01:00