Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/salvoravida/localhostify
Concurrently Hot Reload any environments! HTTP reverse proxy with Hot Reload, CORS, cookies, origin, referer and external redirect override!
https://github.com/salvoravida/localhostify
Last synced: 2 months ago
JSON representation
Concurrently Hot Reload any environments! HTTP reverse proxy with Hot Reload, CORS, cookies, origin, referer and external redirect override!
- Host: GitHub
- URL: https://github.com/salvoravida/localhostify
- Owner: salvoravida
- License: mit
- Created: 2021-10-07T17:09:41.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-05T22:09:11.000Z (10 months ago)
- Last Synced: 2024-10-09T10:46:57.183Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 177 KB
- Stars: 17
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Because real-backends matters!!# đĨ localhostify
Concurrently Hot Reload any environments!
HTTP reverse proxy with Hot Reload, CORS, cookies, origin, referer and external redirect override!```properties
locahost:3001 === https://prod.domain.com/api/* & http://localhost:3000/*
locahost:3002 === https://staging.domain.com/api/* & http://localhost:3000/*
```## âšī¸ Config
`.localhostify.js`
```js
module.exports = {
prod: {
port: 3001,
target: {
host: 'https://prod.domain.com',
matchUrl: '^\\/api*',
// changeOrigin: true, //default value
// autoRewrite: true, //default value
// protocolRewrite: 'http', //default value
},
local: { //optional obj if all default values
// changeOrigin: true, //default value
// autoRewrite: true, //default value
// host: 'http://localhost:3000' //default value
},
externalRedirects: [ //optional if needed
{
match: '/api/auth/callback',
replace: ['https://prod.domain.com', 'http://localhost:3001'],
},
],
// allowHeaders: 'content-type', //default cors value
},
staging: {
port: 3002,
target: {
host: 'https://staging.domain.com',
matchUrl: '^\\/api*',
},
},
};
```## đĨ Run
```
your-dev-server start
npx localhostify prod
npx localhostify staging
```
Browse `http://localhost:3001` and `http://localhost:3002` to enjoy local frotend mixed with real backends enviroments! Hot reload works concurrently!!## đ External Redirects
If your application use external login or SSO you will need to forward browser redirect to localhost.
This happens on the browser side, so we need a web extension.```
npx localhostify --chrome-ext
```This command will create a folder "localhostify-ext" on your project. Load it on Chrome Extensions Tab (Enable Dev Mode to see the LOAD button). That's all!.
Note: if you update your .localhostify.js config, please execute again `npx localhostify --chrome-ext` to update also the ext.
It the browser is opened, refresh all the exstensions.Disable the ext if you are on `prod.domain.com`, otherwise it will redirect to locahost!
---
### đ ContributingIf you are interested in contributing to `localhostify`, open an issue or a pr!
### đ Credits
Thank You, Open Source!
Chrome Ext inspired by requestly.io### đ License
`localhostify` is 100% free and open-source, under [MIT](LICENSE).