Skip to content

Latest commit

 

History

History
41 lines (25 loc) · 2.66 KB

CONTRIBUTING.md

File metadata and controls

41 lines (25 loc) · 2.66 KB

Contributing

If you found a bug or have feature request please create an issue.

If you want to contribute new code or validation rules please feel free to fork repo and create pull request.

What you can help with

How to update CSS/LESS/SASS rules

Validator contains fork of Microsoft css validator service.

  • Most of the rules definition for UXP plugin can be found here: uxpCustomData.ts

  • How Microsoft is using Custom data

  • Custom data maintained by Microsoft: webCustomData.ts You can copy/paste new properties from here once you edit the browsers support

  • FYI if you want to understand client/server architecture: Language server architecture

  • Some additional data are here: uxpBuiltinData.ts. Only lineStyle and namedColors are used because those repeat often in multiple properties in custom data.

  • Here is server configuration what it should or shouldn't do: LSPServer.ts inlayHint, hover tips and intellisense applies only for manifest file. Diagnosis apply for both manifest and CSS files.

How to update manifest.json rules

Validator contains fork of Microsoft json validator service.

  • Most of the rules can be found in Schemas
  • And some very specific version dependent or advanced rules can be found here: jsonQuirksDetector.ts

Version mapping

  • If you have info about new host app releases or want to improve existing one you can do here: versionTable.ts

How to debug

  • Run npm run watch
  • In VSCode tab "Run and Debug" select "Launch Client" and click "Start Debugging"
  • It should open new VSCode window with UXP Validator loaded in it.
  • After you change the code and save it select the debugged VSCode window and press Ctrl+R to reload changes.