Here is more detailed explanation of changes:1. Folder structure is refactored to separate files by their purpose. I've tried to separate all files that'll get to eventual web-extension build to separate folder named `webextension`. I think it'll make more clear for developer, what exactly is gonna get into extension build.
2. Added package.json with dependencies and scripts. In this way, it's possible to setup development environment by running `npm install`. It'll install all necessary dependencies, and running development scripts via npm allows to avoid mangling with PATH variable. Dev-dependencies and production ones are separated to make it less possible for unnecessary code to get into build.
3. Refactored development scripts to allow automatically spawn firefox browser instance and make temporary installation of built webextension to the browser. It also allows to watch for code change events and perform different actions on changes, like running linting, tests and reinstalling extension in browser, which is far more convenient than building, testing, and installing it manually every time.
If anyone is interested, I may try to record screencast for a couple of minutes, where I'll try to present, what changes was introduced and why. I think that will be easier for me to made, and for everyone to digest.
On 1/12/22 10:58, Yuchen Pei wrote:
Hi Egor,I've tried to build and run extension from sources at localhost. I configured linting, TypeScript compiling and live-reloading of sources. You can review this changes here https://github.com/e-g1gor/librejs-refactoring-fork What changed exactly is explained here https://github.com/e-g1gor/librejs-refactoring-fork/blob/refactor- project-configuration/CHANGES_README.mdThanks for the refacotring work you have done. I don't have much bandwidth atm but I'll let you know if I have any feedback on your changes or want to integrate any of them once I've gone through them. Meanwhile feel free to discuss here at librejs mailing list, which is the main channel of communication about the development. One quick question: could you explain a bit more about the rationale of these changes, for example, why did you do the partial JS->TS conversion? Best, Yuchen
OpenPGP_0x00CF380617A15BF0.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
