Skip to content
This repository has been archived by the owner on Dec 25, 2023. It is now read-only.

Latest commit

 

History

History
45 lines (26 loc) · 2.22 KB

CONTRIBUTING.md

File metadata and controls

45 lines (26 loc) · 2.22 KB

Contributing

Development

Running locally

Clone this project, and open it in Nova.

Run yarn in a terminal to install dependencies.

Run the Development task to build scripts and auto-rebuild on file changes.

Turn on extension development in Nova in Preferences > General > Extension Development. If you've installed the extension from the Extension Library, disable it, then activate the local one with Extensions > Activate Project as Extension.

Debugging

To debug the underlying language server, modify the run.sh file to use the --inspect flag and use your preferred inspector to debug.

Use the Extension Console in Nova to debug the extension. I haven't found a way to get a debugger attached to the JavaScriptCore context.

Extension dependencies

The extension relies on local copies of json-language-server. To avoid a large bundled extension size (Panic has a limit, you'll get 500 errors when submitting above ~50mb) these are locked with a shrinkwrap file.

To update, install locally in the json.novaextension directory, then run npm shrinkwrap.

Pull Requests

Changelog

All user-facing changes should be documented in CHANGELOG.md.

  • If not present, add a ## future section above the latest release
  • If not present, add a ### heading for the category of your changes. Categories can include
    • Breaking - backwards incompatible changes (semver major version bump)
    • Added - new features (semver minor version bump)
    • Fixed - bugfixes (semver patch version bump)
    • Changed - tweaks or changes that don't significantly change how the extension is used
  • Add a single line for each change you've made

Publishing notes

Always run yarn build first, so the json.novaextension/node_modules directory is cleared.

Replace future in the changelog with a new version, following semver. Update the version in the bug report template, package.json, and extension manifest.