+113
| # easy-https | ||
| Zero config, one step local https server with custom local domain. | ||
| What it does? | ||
| - Will automatically add proper domain entries to `/etc/hosts` | ||
| - Will ask you for admin password only if needed on first run / domain change | ||
| - Will prepare https certificates for given domains | ||
| - Will trust those certificates on your local machine | ||
| - Will open the browser on start pointing to your local server https url | ||
| Demo | ||
|  | ||
| ## Useage with plain node: | ||
| ```ts | ||
| import { createHttpsDevServer } from 'easy-https'; | ||
| async function start() { | ||
| const server = await createHttpsDevServer( | ||
| async (req, res) => { | ||
| res.statusCode = 200; | ||
| res.write('ok'); | ||
| res.end(); | ||
| }, | ||
| { | ||
| domain: 'my-app.dev', | ||
| port: 3000, | ||
| subdomains: ['test'], // will add support for test.my-app.dev | ||
| openBrowser: true, | ||
| }, | ||
| ); | ||
| } | ||
| start(); | ||
| ``` | ||
| ## Useage with Express | ||
| ```ts | ||
| import { createHttpsDevServer } from 'easy-https'; | ||
| import express from 'express'; | ||
| const app = express(); | ||
| createHttpsDevServer(app, config); | ||
| ``` | ||
| ## Useage with Next.js | ||
| ```ts | ||
| import { createHttpsDevServer } from 'easy-https'; | ||
| import next from 'next'; | ||
| import { parse } from 'url'; | ||
| const app = next({ dev: IS_DEV }); | ||
| const requestHandler = app.getRequestHandler(); | ||
| async function start() { | ||
| await app.prepare(); | ||
| const { server, url } = await createDevServer((req, res) => { | ||
| const parsedUrl = parse(req.url!, true); | ||
| requestHandler(req, res, parsedUrl); | ||
| }, config); | ||
| logger.log(`Server ready. 🚀`); | ||
| } | ||
| start(); | ||
| ``` | ||
| ## Useage API, avaliable options | ||
| ```ts | ||
| interface ServerConfig { | ||
| // Main Local domain | ||
| domain: string; | ||
| // Local port to listen on | ||
| port: number; | ||
| // List of subdomains | ||
| subdomains?: string[]; | ||
| // If should open web browser when server is ready | ||
| openBrowser?: boolean; | ||
| // Custom logger - defaults to console.info | ||
| logger?: (...args: any) => void; | ||
| } | ||
| function createHttpsDevServer( | ||
| // Normal node.js (req, res) handler. | ||
| handler: RequestListener, | ||
| config: ServerConfig, | ||
| ): Promise<{ | ||
| // https local server url. | ||
| url: string; | ||
| // Node https server instance | ||
| server: Server; | ||
| }>; | ||
| ``` | ||
| ## Notes | ||
| **NEVER USE IN PRODUCTION** | ||
| This lib is intended to make it easy to setup local https server with custom local domain. It is not meant to be secure in any way. | ||
| It is not tested on Windows. If you want, feel free to send proper PR adding Windows support. | ||
| ## Licence | ||
| Mit. |
+14
-1
| { | ||
| "name": "easy-https", | ||
| "version": "1.0.0", | ||
| "description": "Zero config, one step local https server with custom local domain.", | ||
| "keywords": [ | ||
| "https", | ||
| "nodejs", | ||
| "mkcert", | ||
| "server", | ||
| "localhost" | ||
| ], | ||
| "version": "1.0.1", | ||
| "scripts": { | ||
@@ -9,2 +17,7 @@ "test": "ts-node test/index.ts", | ||
| "main": "./dist/index.js", | ||
| "homepage": "https://github.com/pie6k/easy-https/", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/pie6k/easy-https.git" | ||
| }, | ||
| "devDependencies": { | ||
@@ -11,0 +24,0 @@ "@types/node": "^14.11.8", |
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
22831
13.71%10
11.11%0
-100%1
-50%114
Infinity%2
-33.33%