35 Commits

Author SHA1 Message Date
Riccardo
d222cfbbec Consolidate foam-core within foam-vscode (#774)
* moved `foam-core` inside `foam-vscode`

* updated contribution guide to reflect new modules setup

* improved testing

* consolidate to root yarn.lock files

* tweaking CI workflow && using github secrets to force cache refresh

* improved linting configuration. `core` module cannot depend on other parts of the `foam-vscode` package
2021-10-09 11:09:02 +02:00
Riccardo Ferretti
562da95f90 Bump fast-array-diff from 1.0.0 to 1.0.1 2021-09-14 18:37:32 +02:00
dependabot[bot]
95399977ec Bump hosted-git-info from 2.8.8 to 2.8.9 (#686)
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

---
updated-dependencies:
- dependency-name: hosted-git-info
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-21 18:15:13 +02:00
Riccardo Ferretti
641024b01b added dependency on replace-ext (fix for #667 we hope..) 2021-06-05 15:49:34 +02:00
Riccardo Ferretti
6de8baa6b5 updated yarn.lock 2021-05-26 09:18:01 +02:00
dependabot[bot]
6cf184ba23 Bump ssri from 6.0.1 to 6.0.2 (#590)
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-19 12:15:02 +02:00
Riccardo
b11a206b4a API v1 - Position and Range (#577)
* refactored position and range functions
2021-04-12 21:56:14 +02:00
Riccardo
531bdab250 Refactored URI for Foam API v1 (#537)
* refactored URI to be less dependent on VS Code implementation
* moved uri tests in own file, and added test case from #507
* added license info for VS Code inspired code
* moved URI utility methods in abstract class for namespacing
* better names for some methods

Co-authored-by: Jonathan <jonny@mondago.com>
2021-04-05 14:22:51 +02:00
Riccardo Ferretti
f206e855a9 prepare for 0.12.0 2021-03-22 16:24:57 +01:00
Riccardo
54a4aec1a0 Extracted foam-cli to https://github.com/foambubble/foam-cli (#535) 2021-03-18 12:16:40 +01:00
Riccardo
d1a28717fe (refactor) Use Position and Range in Foam model (#532)
* using Position and Range in Foam model
2021-03-17 15:25:20 +01:00
Riccardo Ferretti
4b16b530b4 updated lock file 2021-03-17 09:26:27 +01:00
Riccardo
fa4b9d57aa Wikilink navigation in markdown preview panel (#521)
* `FoamWorkspace.find` to return `null`  when no reference is provided for relative path

* turning wikilinks into browsable links in markdown preview

* moved preview styles in css file and reorganized code in static folder

Static was previous used only for the dataviz graph. Now we have 2 subdirectories: dataviz for the graph, and preview for the markdown preview.
For now the css style is a bit of an overkill, but sets up the right foundation for further customization down the line.

* chore: explicitly disabling gitdoc extension, removing unnecessary async keyword

* fix: fixed test utility fn (and linter warning)

* test: added tests for preview link generation

* changed launch configuration to support both foam-core and foam-vscode packages
2021-03-11 15:31:05 +01:00
Riccardo
32e443bbae Refactor core workspace model (#467)
* added workspace WIP

* workspace supports resources

* uri check more lenient (was causing bug by not recognizing some objects)

* added placeholder resource type

* consolidated code in FoamWorkspace and added more tests

* updated all modules to use FoamWorkspace

* fixed FoamWorkspace.getConnections function
when links or backlinks are not present it no longer adds `undefined` to the connection list

* fix in workspace handling of direct links

* consolidated id/name generation functions

* added test for wikilink resolution when several notes have same filename

* removed reference to graphMiddleware in foam-local-plugins doc
graph middleware won't be supported with the `FoamWorkspace`. Support for the markdown provider remains

* removed support for graph middleware, graphlib dependency, and old note-graph implementation
2021-02-17 21:36:29 +01:00
léon h
bc071a20b4 [FEATURE] Notes preview (#468)
* [FEATURE] Notes preview

* Refactor

* datestore to context

* Remove bracket test
2021-02-02 13:38:22 +01:00
Riccardo
ef7ea8d23b End 2 end test for the extension in vscode (#428)
* added support for e2e vscode tests

* using github action that supports headless test run

* loading vscode test instance in empty dir to speed up bootstrap
2021-01-03 19:27:51 +01:00
Riccardo Ferretti
befdeb70e0 using native matchAll string function 2020-11-25 13:15:22 +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
b2b1b58262 Adding support for tags (#311) 2020-11-06 19:22:14 +01:00
dependabot[bot]
3db28f5328 Bump node-fetch from 2.6.0 to 2.6.1 (#262)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-01 10:51:48 +02:00
dependabot[bot]
8b8d6fcc57 Bump bl from 4.0.2 to 4.0.3 (#242)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-08 14:03:45 +01:00
Joe Previte
7f3ba7853e feat(foam-vscode): add jest for testing (#204)
* feat: setup jest for foam-vscode

* Add failing test (fails due to missing vscode dependency)

* feat: add vscode mock

Co-authored-by: Jani Eväkallio <jani.evakallio@gmail.com>
2020-08-04 13:27:11 +01:00
Ankit Tiwari
bcab41917a Parse frontmatter and use frontmatter.title as heading (fixes #174) (#191)
* Add frontmatter data to NoteGraph node

* Store document start position inside NoteGraph node

* Add heading below the frontmatter

* Show a progress bar while running Janitor

* Fix tests

* Update note start position to make it 1-indexed

* Initialize frontmatter by an empty object instead of null

* Remove console logs
2020-08-03 18:41:12 +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
50dd3685cd Prepare for 0.3.0 release 2020-07-25 18:27:08 +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
dependabot[bot]
e92dd7a121 Bump lodash from 4.17.15 to 4.17.19 (#128)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 22:03:05 +01:00
Jani Eväkallio
a94110898b Add lerna 2020-07-12 14:50:43 +01:00
Riccardo Ferretti
57c34db6df factored out graph operations and moved some code into core 2020-07-12 02:36:57 +02:00
Jani Eväkallio
3c3da97190 Integrate all-contributors 2020-07-11 14:11:28 +01:00
Janne Ojanaho
f2efd14186 Changed to unifiedjs-based markdown parsing (#78) 2020-07-11 07:59:05 +01:00
Jani Eväkallio
d6d31faf2f Workaround vsce issues with hoisted yarn workspaces. @todo: Better solutions welcome 2020-07-05 09:17:44 +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
1580f14204 Init new oclif project for foam-cli 2020-07-04 22:18:59 +01:00
Jani Eväkallio
af7af05e9d Add merged yarn.lock for monorepo workspace 2020-07-04 20:52:01 +01:00