Pas2JS for the masses lazarus / 76-Pas2JS ---------------------------------------------------------------------- Leledumbo · 2018-12-23 18:22 I've been playing around with Pas2JS in the last couple of weeks. Glad to see it come out as a wonderful tool. However, I don't find its usage any straightforward. FYI, I'm on Linux. The most cumbersome problem is the packaging. Starting from the wiki article, I download a precompiled snapshot from the ftp to get the compiler binary, compileserver a.k.a. simpleserver, webidl2pas and libpas2js.so. There are various demos and packages ready to use. However, contrary to the wiki article, which says: QuoteAs for the FPC compiler, a configuration file is supported, which has the same syntax as the FPC config file. Note that the snapshots and svn version already contains a default pas2js.cfg with unit search paths (-Fu) for the rtl and fcl.There's no pas2js.cfg in the distributed snapshot. Digging in pas2js in my fpc source code, I do find one, so I just copy it to the bin directory of the snapshot. Analyzing the content, though, it seems to be designed to be used inside its directory in fpc source code, so I have to adjust some of the paths to reflect the snapshot hierarchy. During that process, there's a line that says: Quote-Fu$CfgDir/distthat points to a non-existing dir dist. Again browsing fpc source code, it's found and contains a single rtl.js file, which is referenced in the wiki article but not mentioned elsewhere where to get it. Again I copy the dir to bin to match that -Fu line (because my pas2js.cfg is in the bin directory) and trying out the hello world example (from the wiki article) only to find out that it refers to rtl.run(); without ever referencing rtl.js (I thought -Jc option will do, but it doesn't as the first line starts with rtl.module, where rtl is an unknown object. With that fixed, finally the example works. That experience is certainly not friendly at all, I can go through it just because I'm quite experienced in using fpc and I have good enough sense of exploration. For anyone else coming to try, it will be a showstopper. I don't think I want to put above steps into my tutorial, I'd rather wait for the packaging to be user friendly first. P.S.: It's unclear to me how the snapshot was generated, a make install in the pas2js directory only installs the binaries and seemingly useless lib directory, no packages, no demos, dist directory and pas2js.cfg excluded. ---------------------------------------------------------------------- lainz · 2018-12-23 21:08 install it with fpcupdeluxe and it just works ---------------------------------------------------------------------- Ñuño_Martínez · 2018-12-24 10:30 I agree with Leledumbo here.  Pas2js documentation is confusing, specially in the installation and configuration parts.  I've never be able to make it run, and I tried different versions and times (and complained about it in this forums IIRC). Didn't knew about fpcupdeluxe.  That needs more detailed information (here and in the documentation). ---------------------------------------------------------------------- Leledumbo · 2018-12-24 10:49 Quote from: lainz on December 23, 2018, 10:08:59 pminstall it with fpcupdeluxe and it just works I don't even know it can be installed that way, really the documentation and/or packaging need an improvement. ---------------------------------------------------------------------- Thaddy · 2018-12-24 11:45 Quote from: Leledumbo on December 24, 2018, 11:49:48 amQuote from: lainz on December 23, 2018, 10:08:59 pminstall it with fpcupdeluxe and it just works I don't even know it can be installed that way, really the documentation and/or packaging need an improvement. I agree with that. At the moment only experienced people can install and use it without too many problems. Fpcdeluxe doesn't help too much, btw. Paths are missing as you already observed. OTOH it is being worked on and it is nice technology. It will mature over time. ---------------------------------------------------------------------- heejit · 2018-12-24 17:18 Why not add to Online Package Manager it will be easier for everyone. ---------------------------------------------------------------------- Thaddy · 2018-12-24 17:26 Quote from: jshah on December 24, 2018, 06:18:06 pmWhy not add to Online Package Manager it will be easier for everyone. It IS in OPM. But not correctly configured. ---------------------------------------------------------------------- Leledumbo · 2018-12-25 22:08 Quote from: jshah on December 24, 2018, 06:18:06 pmWhy not add to Online Package Manager it will be easier for everyone. Having it both in OPM and as standalone package (like fpc zip archive) is better than only in either. Standalone package will be useful for coding directly on server, i.e. for quickfix. ---------------------------------------------------------------------- heejit · 2018-12-26 09:19 Yes both required Installation and configuration of development environment should be easy as copy and paste no need to dig into config file looking for library etc. ---------------------------------------------------------------------- Ñuño_Martínez · 2018-12-26 10:13 Problems seems to be: Documentation is outdated and/or incomplete.OPM package is outdated or buggy or incomplete.There's not an out-of-the-box package (i.e. deb, rpm, ZIP ...) for people who don't use Lazarus.So somebody that knows how does it work should fix that.  Better before Lazarus 2.0 comes out. ---------------------------------------------------------------------- mattias · 2019-02-18 17:24 Quote from: Leledumbo on December 23, 2018, 07:22:44 pmThere's no pas2js.cfg in the distributed snapshot. Bug.  That is fixed in 1.4. ---------------------------------------------------------------------- RTOlivier · 2023-05-18 00:32 Hello,  Do anyone know where I can find new version Pas2js ?  Is anyone still use it ?  Seems like there's no activity anymore.  Thank you ---------------------------------------------------------------------- PierceNg · 2023-05-18 01:10 Quote from: RTOlivier on May 18, 2023, 02:32:29 amDo anyone know where I can find new version Pas2js ?  Is anyone still use it ?  Seems like there's no activity anymore.  https://wiki.freepascal.org/pas2js#Where_to_get_it pas2js wiki pages are being regularly updated ---------------------------------------------------------------------- RTOlivier · 2023-05-19 10:25 I know but there is no release anymore after 2022-02-21. Unlike dwscript for example, which is updated regularly, pas2js seems already dead. It'a a nice prosuct and I wantes to build my project on it. ---------------------------------------------------------------------- TRon · 2023-05-19 10:30 Quote from: RTOlivier on May 19, 2023, 12:25:45 pmI know but there is no release anymore after 2022-02-21. Unlike dwscript for example, which is updated regularly, pas2js seems already dead. It'a a nice prosuct and I wantes to build my project on it. Yeah as dead as a ghost. https://gitlab.com/freepascal.org/fpc/pas2js/-/commits/main Strange that you feel that way as it is one of the latest additions to FPC and one that is updated on a regular base. ---------------------------------------------------------------------- PascalDragon · 2023-05-21 11:02 Quote from: TRon on May 19, 2023, 12:30:43 pmQuote from: RTOlivier on May 19, 2023, 12:25:45 pmI know but there is no release anymore after 2022-02-21. Unlike dwscript for example, which is updated regularly, pas2js seems already dead. It'a a nice prosuct and I wantes to build my project on it. Yeah as dead as a ghost. https://gitlab.com/freepascal.org/fpc/pas2js/-/commits/main The most important part is the parser and that is not part of the pas2js repository, but of the FPC main repository in packages/fcl- passrc. Also there definitely is progress, because TWS is using pas2js as part of their TMS Web Core product. ---------------------------------------------------------------------- verasan · 2023-10-04 20:11 it loos like a toy! ---------------------------------------------------------------------- PascalDragon · 2023-10-05 18:59 Quote from: verasan on October 04, 2023, 10:11:50 pmit loos like a toy! How do you come to that conclusion? 🤔 ---------------------------------------------------------------------- Leledumbo · 2023-10-07 09:18 Quote from: PascalDragon on October 05, 2023, 08:59:32 pmQuote from: verasan on October 04, 2023, 10:11:50 pmit loos like a toy! How do you come to that conclusion? 🤔 Reading his other replies regarding Pas2JS, he demands comprehensive documentation and can't learn from demos and examples. ---------------------------------------------------------------------- PascalDragon · 2023-10-08 11:23 Quote from: Leledumbo on October 07, 2023, 11:18:24 amQuote from: PascalDragon on October 05, 2023, 08:59:32 pmQuote from: verasan on October 04, 2023, 10:11:50 pmit loos like a toy! How do you come to that conclusion? 🤔 Reading his other replies regarding Pas2JS, he demands comprehensive documentation and can't learn from demos and examples. Having read the other replies after the one here I tend to agree. 😅