Skip to content

Local client to import/export your documents in/from Paper Matter

License

Notifications You must be signed in to change notification settings

exotic-matter-sas/paper-matter-import-export

Repository files navigation

paper-matter-import-export

Local client to import/export your documents in/from Paper Matter App

For users

Installation

You can download and install client from this page (Windows, Linux, macOS): https://welcome.papermatter.app/downloads/

Logs location

In case you report a bug, it could be useful to join the log files. The easiest way to get them is to display Advanced menu by hitting Alt key (not needed on macOS) and click on Open logs folder item.

If app can't be run, you can also find them by manually opening this folder:

  • Linux: ~/.config/paper-matter-import-export/logs/
  • macOS: ~/Library/Logs/paper-matter-import-export/
  • Windows: %USERPROFILE%\AppData\Roaming\paper-matter-import-export\logs\

For developers

Requirements

  • Node.js LTS

Install Node modules

npm ci

Run locally

npm run dev

Debug local run

Useful logs should appear inside the terminal used to run the app.

You can also remote debug the app by copying the debugger url which appears in the console at app run.

# line which appears in console at app run
Debugger listening on ws://127.0.0.1:5858/0b935d7b-0f11-4c23-92f7-221310dfbaa0

To attach the debugger in Chrome, open this url:

  • devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:5858/0b935d7b-0f11-4c23-92f7-221310dfbaa0

For more infos see https://simulatedgreg.gitbooks.io/electron-vue/content/en/debugging-production.html

Debug update process

Run all commands from one Terminal for ENV VAR to be preserved (commands are given for Linux)

  1. Create a test repo with a README.md on Github
  2. Update package.json > version to a very high number (e.g. 100.0.0, just make sure it doesn't match an already published release for this repo)
  3. Update package.json > build.publish to use the test repo
  4. Set ENV VAR for Github token, it should give access to test repo with repo scope: export GH_TOKEN=XXX
  5. Set ENV VAR to debug electron-builder process and call checkForUpdates in dev mode: export DEBUG=electron-builder
  6. Publish app to a Github draft release: npm run build
  7. Edit and publish release on Github
  8. Restore old value for package.json > version
  9. Copy dev-app-update.yml to dist/electron/dev-app-update.yml and update values to use test repo
  10. (Linux only) Set APPIMAGE ENV VAR: export APPIMAGE=true
  11. (Mac only) App notarization is needed to test full update process, you have to set API_KEY_ID and API_KEY_ISSUER_ID (these values can be generated/retrieved from https://appstoreconnect.apple.com/access/api)
  12. Run app in dev mode npm run dev to test update process partially or build app npm run build and run it (from build/output) to test full update process

You should see logs related to update process popping in the terminal.

Code formatting

Prettier is used to format all files (some folders/files are excluded in .prettierignore).

npm run reformat

Run tests

Unit tests

With Karma test runner, Mocha test framework, Chai assertion library and simple-mock mocking library

npm run unit

Release and build process on CI

  1. Update package.json version (e.g. 1.0.0) and push
  2. ⚠️ Wait for draft release to be created and built app to be attached to it ⚠️
  3. Complete and publish/tag release on Github

Debug app build locally

# Produce simple executable without full installer in /build/output.
npm run build:dir
# You can run unpackaged app by running executable
cd build/output/linux-unpacked/
./paper-matter-import-export
# Useful logs may appears in terminal during app execution

Credits


This project was generated with electron-vue@8fae476 using vue-cli. Documentation about the original structure can be found here.

About

Local client to import/export your documents in/from Paper Matter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages