Pas2js How to contribute

From Lazarus wiki
Jump to navigationJump to search

You want to help the pas2js project and don't know how?

Here are some ideas. If you want to help give us a note on the mailing list, so we can help you.

Spread the word

Post on social media, organize meetings

Answer newbie question on forums and mailing lists

Write an overview, what units/packages already exist and what they provide

For example a wiki page with a list of all units and their classes with one or two sentences for each unit/class.

Easier quick start

  • Write a better installer
  • or a better wiki page how to quick start from nil to the first webapp.
  • or extend pas2jsdsgn with a button to download and setup pas2js
  • or a script to create rpm/deb/dmg packages

Lazarus help

Help for pas2js units on F1:

  • fpdoc files
  • or external help entries

Simple HOWTOs

  • Wiki: Register a user in the wiki and write a page how to use pas2js with library X, or how to port Delphi code, or how to use pas2js in editor Y, etc
  • or create a Youtube tutorial
  • Donate examples. Every example that demonstrates what can be done is welcome !

Write external classes for importing JS libraries

  • If a JS library has an IDL, use the webidl tool to auto create a basic Pascal unit for it, and if needed improve it manually
  • Use class2pas unit to create a rough Pascal representation, then use the documentation to fill the gaps (create some types).

Help in compiler

The whole compiler is open source, so everyone can improve it and send patches.


As pas2js is maturing, the next step is to write a widgetset. Some efforts are underway: pas2js_widgetsets

The end goal is a a widgetset that can be used to underpin the LCL. But a widgetset should be usable without having to use the LCL: When developing for web, the mechanisms of a desktop development environment are not always suitable.