IntersectMBO / plutus-apps

The Plutus application platform
Apache License 2.0
306 stars 214 forks source link

Remove mandatory playground and PureScript dependencies from PAB #212

Closed kk-hainq closed 2 years ago

kk-hainq commented 2 years ago

Describe the feature you'd like

Many (if not most?) PAB users do not care about the playground nor use PureScript in their projects (also see #19). However, the current setup forces them to build and track playground-common, the purescript-bridge & servant-purescript forks, and more related dependencies by default. This is unnecessarily resource-consuming and scary. It would be way better if plutus-pab doesn't depend on any playground and PureScript machinery by default.

From a quick experiment, it looks like plutus-pab only needs FunctionSchema, FormSchema, and perhaps EndpointToSchema from playground-common, which may be ported to plutus-schema or something? For PureScript we can just port Plutus.PAB.Run.PSGenerator to plutus-purescript?

We would love to work on this if accepted.

Describe alternatives you've considered

We can progress just fine with these dependencies in place. However, we do believe PAB would be a lot more user-friendly without them. This will also ease off dependency management a bit for dApp developers, which at the moment is quite stressful and unfriendly, see #180.

ghost commented 2 years ago

Thanks for the issue!

Yeah, we already discussed that a few months ago (after #19) and waiting for a final decision.