Skip to content
This repository has been archived by the owner on Apr 8, 2020. It is now read-only.

Support Aurelia #347

Closed
arjendeblok opened this issue Oct 2, 2016 · 13 comments
Closed

Support Aurelia #347

arjendeblok opened this issue Oct 2, 2016 · 13 comments

Comments

@arjendeblok
Copy link

Please create support for Aurelia framework.

I have already ported the TypeScript WebPack navigation skeleton of Aurelia with the WebPackDevMiddleware of the JavaScript services. Take a look at skeleton-typescript-webpack-aspnetcore.

Only thing that is missing now is Hot Module Replacement and server-side rendering.

@EisenbergEffect asked me to create this issue mentioning @SteveSandersonMS to get the ball rolling.

@arjendeblok arjendeblok changed the title Support Aureli Support Aurelia Oct 2, 2016
@MarkPieszak
Copy link
Contributor

One problem is Aurelia have a server-side rendering solution yet, but I suppose that part could be omitted in the template for the time being. (aurelia/framework#72 (comment))

@SteveSandersonMS
Copy link
Member

We'd be very happy to have an Aurelia option in the Yeoman generator. If you are able to make a pull request that implements this, please go ahead!

The lack of server-side rendering is not ideal, but it's not a showstopper (we don't have that in the React-without-Redux or Knockout templates either). The main thing we'd need is for it to be exactly the same as the other templates, in having the same visual appearance, same initial functionality (homepage, counter example, and 'fetch data' example), and use Webpack with a config that's as similar as possible to the other templates.

@EisenbergEffect
Copy link

@SteveSandersonMS Any particular reason this was closed? Did it get implemented?

@SteveSandersonMS
Copy link
Member

@EisenbergEffect Ah yes, that was unclear. I should have said something like "I'll close this awaiting your pull request" since this is only going to move forwards if/when someone does submit a suitable PR.

But I guess it could be left open for a while with an up-for-grabs label, to see if anyone else wants to pitch in! I'll do that now.

@kmkatsma
Copy link
Contributor

I saw that this issue was open and "up-for-grabs", and since I've been learning Aurelia and was interested in understanding how the new core spa seed projects worked, I created an Aurelia implementation of the standard template functionality in a fork of this repo, which is at https://github.com/kmkatsma/JavaScriptServices

The new Aurelia template was initially copied from the Angular2 template, and then I made changes from there to get Aurelia version to work. So it is very close in behavior and code to the Angular2 version. But...the main issue I see is perhaps with regards to the comment that it use "Webpack with a config that's as similar as possible to the other templates".

Aurelia has its own webpack-plugin that does a fair amount of custom behavior. This made it impossible to keep exactly same format as the other templates. Also, this template depends on Webpack 2+, since generally Webpack 2 is being used in all the latest Aurelia webpack examples, and I had issues with the 1.3 version working with the configuration examples I could find. I am not a Webpack expert. If interested, I can figure out how to do a pull request and submit. Perhaps an Aurelia and/or Webpack expert could review for suggestions for improvement!

@MarkPieszak
Copy link
Contributor

We can all take a look at it help! @kmkatsma
You're right though, it'll be fairly similar to Angular2, in how the templates/components look.
I think it's all about the Template also being identical to the others in that, it has a Counter page, Forecast page that hits the Web API, etc.

@kmkatsma
Copy link
Contributor

@MarkPieszak - should I go ahead and submit a PR for this? Thanks!

@MarkPieszak
Copy link
Contributor

MarkPieszak commented Oct 21, 2016

I think that's what Steve wanted, I'd say go for it! I'm too busy to make one this week :(
Just take one of the others and add Aurelia in there instead, hopefully won't be too tough!

@EisenbergEffect
Copy link

@kmkatsma Thanks for working on this! When you submit the PR, please cc me on that so I can also make a review :) Thanks!

@ClaudioNunes
Copy link

@kmkatsma your implementation used DllReference plugins ? I have some success porting "aurelia webpack typescritp skeleton", but duplicate MS vision with separate "vendor" bundling was not possible. The projects works, but developer experience sucks.

@kmkatsma
Copy link
Contributor

@ClaudioNunes - No, I couldn't duplicate the same WebPack implementation being used in other templates. It is instead using the Aurelia Webpack Plugin - but not with EasyWebpack so all the configuration is visible. It is creating three different bundles - an app, a startup, and then basically everything else. This seems to be the standard way to pack when working with the Aurelia Webpack plugin, based on all the examples I've found, so it's at least consistent with things people will find elsewhere.

I don't think the developer experience is that bad - I think its the same rebuild time on Webpack you'd get from aurelia Webpack skeleton based UI. The thing that bothers me is lack of auto-refresh of UI you normally get when running in the webpack-dev-server. Not sure if there's a way to trigger that using this stack. I do think some people will find the UI and API launching together from "dotnet run" appealing, at least when wanting to work with non-mock back end.

@mttmccb
Copy link

mttmccb commented Oct 28, 2016

Did #398 close this?

@SteveSandersonMS
Copy link
Member

Yes it did :)

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

No branches or pull requests

7 participants