Closed KraXen72 closed 10 months ago
@KraXen72 Sorry I didnt see your PR sooner. This all looks great. I'm going to look everything over and test it a bit but I dont see any reason not to merge this as it seems to be a major improvement!
thanks for merging! i'll likely contribute some more stuff in the future :3
That sounds great! Thank you for this big contribution. I went ahead and squashed the commits into a single commit just to clean up the git history. I hope that's okay. So you will need to updated your fork before making another PR.
I'm glad to see we can work together on IIS support for Sveltekit!
Also @KraXen72 I've tagged v1.1.0 so you should be able to install it from the npm registry now
sure, great!
Hi, i stumbled upon your adapter for IIS, and while it was a good start, it was not working that well for me. I modified it pretty extensively, adding features i needed. I thought it might be a good idea to contribute them back, since you said contributions are welcome in the readme.
Differences
node:http
server instead ofexpress
, so it does not require an external dependency ofexpress
web.config
, to pass toiisnode
. Gets POST requests, form actions to work, instead of throwing error 403getClientAddress
now works again, using thex-forwarded-for
header and iisnode'senableXFF="true"
outputWhitelist
option: a whitelist array to not be deleted from.svelte-kit/adapter-iis
during build (explained in readme)externalRoutes
option: allow some routes to be not rewritten to sveltekit, for example, for Virtual Directories supportexternalRoutesIgnoreCase
option: controls case sensitiveness of these routeshealthcheckRoute
option: a simple/healthcheck
route for debuging while setting up IISadapter-node
's option interfaceThe biggest switch is from using
express
tonode:http
. While they aren't completely the same, it has worked for all my use-cases, and i haven't noticed any differences. My motivation behind the switch is:npm/yarn/pnpm install
on the build output, and rather use devDependencies, which if imported, are packaged. Introducing a runtime dependency unnecessarily complicates the build & update process.Please let me know any requested changes.