Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

${framwork} support #27

Open
mini-eggs opened this issue Sep 4, 2018 · 4 comments
Open

${framwork} support #27

mini-eggs opened this issue Sep 4, 2018 · 4 comments

Comments

@mini-eggs
Copy link

Would this package accept PRs with support for @pwa/preset-${framework}? I see you have two open issues for other larger frameworks but I'm thinking slightly smaller ones. HyperApp, Elm, Aurelia and so on.

@lukeed
Copy link
Owner

lukeed commented Sep 4, 2018

Hey, thanks! I want a controlled subset of presets, but will soon open it up for community-driven presets and plugins.

Official presets will be maintained in this repo and will be included in the pwa init selection list, whereas community-driven packages won't. It's tricky because there are (probably) hundreds of JS frameworks with active users, but I can't "officially" support them all. The configuration is pretty easy/straight-forward, but scaffolding out templates and ensuring compatibility with other "official" packages can get out of hand quickly.

As for community-driven packages, I still haven't fully decided how to handle that. The easiest thing to do would be to auto-inject pwa-plugin-* and pwa-preset-* packages (in addition to / after @pwa/* packages), but as you can imagine, there may be cross-community-package conflicts and/or order-specific packages.

Because of this, I might have to add a presets and plugins key on pwa.config.js that attaches the community packages in a desired order. This would feel very Babel-esque and not foreign... I think.

In addition to Angular and Polymer, I think I want to offer support for a Web Component framework. I haven't added a ticket yet because am still undecided, but SkateJS or Stencil might be good, unique additions.

@mini-eggs
Copy link
Author

Hey, sounds like a good idea w/r/t quality. No beef there.

Because of this, I might have to add a presets and plugins key on pwa.config.js that attaches the community packages in a desired order. This would feel very Babel-esque and not foreign... I think.

I like this. Might be nice to include some babel like features in the CLI as well. Something along the lines of $ pwa init --presets=preset-1,preset-2 --plugins=plugin-1 to generate that initial pwa.config.js.

@lukeed
Copy link
Owner

lukeed commented Sep 4, 2018

Cool 👍

Maaaybe. My initial gut reaction is that I don't really like that. I'd imagine a community-driven-user will just hit "None" preset, configure the rest, and then manually install & attach the add-ons they want.

I'd think that a free-for-all init field (to type in preset & plugin names) isn't that helpful. And adding some kind of HTTP request that prefills a multiselect still poses the issue of ordering. 😬

Luckily, there's time to figure this out! haha
My thoughts may change, who knows~

@mini-eggs
Copy link
Author

Hit me if they do! Happy to help implement. I know I would def use that beef'd up init command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants