trustlocal 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -56
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -25
- package/dist/commands/init.js.map +1 -1
- package/dist/mkcert/check.d.ts.map +1 -1
- package/dist/mkcert/check.js +32 -0
- package/dist/mkcert/check.js.map +1 -1
- package/dist/mkcert/install.d.ts.map +1 -1
- package/dist/mkcert/install.js +38 -1
- package/dist/mkcert/install.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,123 +2,161 @@
|
|
|
2
2
|
|
|
3
3
|
> One command. HTTPS everywhere. Zero config.
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/trustlocal)
|
|
5
|
+
[](https://www.npmjs.com/package/trustlocal)
|
|
6
6
|
[](https://www.npmjs.com/package/trustlocal)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
|
|
9
|
-
`trustlocal` automates local HTTPS
|
|
9
|
+
`trustlocal` automates local HTTPS for web development. It uses [mkcert](https://github.com/FiloSottile/mkcert) under the hood — installing it automatically if needed, generating browser-trusted certificates, and injecting the correct SSL config into your framework. Zero manual steps.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx trustlocal init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
That's it.
|
|
10
16
|
|
|
11
17
|
---
|
|
12
18
|
|
|
13
|
-
##
|
|
19
|
+
## The problem it solves
|
|
20
|
+
|
|
21
|
+
[mkcert](https://github.com/FiloSottile/mkcert) (58k ⭐) generates locally trusted certificates — but it stops there. You still have to:
|
|
22
|
+
|
|
23
|
+
- Wire cert files into your framework config manually
|
|
24
|
+
- Set `NODE_EXTRA_CA_CERTS` so Node trusts them
|
|
25
|
+
- Redo all of this for every teammate
|
|
26
|
+
|
|
27
|
+
`trustlocal` automates the entire chain: **install → generate → inject → sync**.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## What happens when you run it
|
|
14
32
|
|
|
15
|
-
```bash
|
|
16
|
-
npx trustlocal init
|
|
17
33
|
```
|
|
34
|
+
npx trustlocal init
|
|
18
35
|
|
|
19
|
-
|
|
36
|
+
trustlocal init
|
|
20
37
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
→ Checking mkcert...
|
|
39
|
+
✓ mkcert v1.4.4 found
|
|
40
|
+
→ Installing local CA (may prompt for sudo)...
|
|
41
|
+
✓ Local CA registered
|
|
42
|
+
→ Detecting framework...
|
|
43
|
+
✓ Detected: Next.js (next.config.ts)
|
|
44
|
+
Use Next.js? [Y/n/override] y
|
|
45
|
+
→ Generating certificates for: localhost, 127.0.0.1
|
|
46
|
+
→ Updating .gitignore...
|
|
47
|
+
✓ .trustlocal/ added to .gitignore
|
|
48
|
+
✓ Certificates generated → .trustlocal/
|
|
49
|
+
→ Injecting HTTPS config into next.config.ts...
|
|
50
|
+
✓ Config updated
|
|
51
|
+
→ Updating .env...
|
|
52
|
+
✓ NODE_EXTRA_CA_CERTS set
|
|
53
|
+
|
|
54
|
+
✓ HTTPS is ready.
|
|
55
|
+
Start your dev server and open https://localhost on your configured port.
|
|
56
|
+
|
|
57
|
+
Teammates: run npx trustlocal sync to get HTTPS on their machines.
|
|
58
|
+
Cert expires: 2028-07-01
|
|
59
|
+
```
|
|
29
60
|
|
|
30
61
|
---
|
|
31
62
|
|
|
32
63
|
## Commands
|
|
33
64
|
|
|
34
|
-
### `init` —
|
|
65
|
+
### `init` — first-time setup
|
|
35
66
|
|
|
36
67
|
```bash
|
|
37
|
-
npx trustlocal init
|
|
68
|
+
npx trustlocal init
|
|
38
69
|
```
|
|
39
70
|
|
|
71
|
+
Installs mkcert if missing (no manual steps required), registers the local CA, detects your framework, generates trusted certificates, injects HTTPS config, and writes `trustlocal.json` so teammates can sync with one command.
|
|
72
|
+
|
|
73
|
+
**Options**
|
|
74
|
+
|
|
40
75
|
| Flag | Description |
|
|
41
|
-
|
|
42
|
-
| `--domains <list>` |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `--domains <list>` | Extra comma-separated domains to include, e.g. `--domains myapp.local,api.local` |
|
|
43
78
|
| `--force` | Re-initialise even if `trustlocal.json` already exists |
|
|
44
79
|
| `--dry-run` | Preview what would happen without writing any files |
|
|
45
80
|
|
|
46
|
-
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### `sync` — onboard a teammate
|
|
47
84
|
|
|
48
85
|
```bash
|
|
49
86
|
npx trustlocal sync
|
|
50
87
|
```
|
|
51
88
|
|
|
52
|
-
Reads `trustlocal.json`, generates fresh
|
|
89
|
+
New developer clones the repo, runs this, and has HTTPS working in under 30 seconds. Reads `trustlocal.json`, generates fresh certificates on their machine (no private key sharing), and re-injects config identically.
|
|
53
90
|
|
|
54
|
-
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### `renew` — renew expiring certs
|
|
55
94
|
|
|
56
95
|
```bash
|
|
57
|
-
npx trustlocal renew
|
|
96
|
+
npx trustlocal renew
|
|
58
97
|
```
|
|
59
98
|
|
|
60
|
-
|
|
99
|
+
Certificates expire after 2 years. Deletes old certs and generates fresh ones. Framework config files are **not** touched — cert file paths stay the same.
|
|
100
|
+
|
|
101
|
+
| Flag | Description |
|
|
102
|
+
|---|---|
|
|
103
|
+
| `--force` | Renew even if the cert has more than 30 days remaining |
|
|
104
|
+
|
|
105
|
+
---
|
|
61
106
|
|
|
62
|
-
### `status` —
|
|
107
|
+
### `status` — check your setup
|
|
63
108
|
|
|
64
109
|
```bash
|
|
65
110
|
npx trustlocal status
|
|
66
111
|
```
|
|
67
112
|
|
|
68
|
-
|
|
113
|
+
Prints a coloured `OK / WARNING / ERROR` for each check:
|
|
114
|
+
|
|
115
|
+
- Certificate file present and expiry date
|
|
116
|
+
- HTTPS config injection still in place
|
|
117
|
+
- `NODE_EXTRA_CA_CERTS` set in `.env`
|
|
118
|
+
- `.trustlocal/` excluded from `.gitignore`
|
|
69
119
|
|
|
70
120
|
---
|
|
71
121
|
|
|
72
122
|
## Supported frameworks
|
|
73
123
|
|
|
74
|
-
| Framework |
|
|
75
|
-
|
|
76
|
-
| **Next.js** | `next` in `package.json` | `next.config.js/ts` — `experimental.https` |
|
|
77
|
-
| **Vite** | `vite` in `package.json` | `vite.config.js/ts` — `server.https` |
|
|
78
|
-
| **Express / Node** | `express` in deps or `server.js`
|
|
79
|
-
| **Nginx** | `nginx.conf` in project root | `nginx.conf` — `ssl_certificate`
|
|
80
|
-
| **Plain** | fallback | Certs placed in `.trustlocal
|
|
124
|
+
| Framework | Detected by | What gets configured |
|
|
125
|
+
|---|---|---|
|
|
126
|
+
| **Next.js** | `next` in `package.json` | `next.config.js/ts` — `experimental.https` block |
|
|
127
|
+
| **Vite** | `vite` in `package.json` | `vite.config.js/ts` — `server.https` block |
|
|
128
|
+
| **Express / Node** | `express` in deps or `server.js` present | `.env` — `NODE_EXTRA_CA_CERTS` + code snippet printed |
|
|
129
|
+
| **Nginx** | `nginx.conf` in project root | `nginx.conf` — `ssl_certificate` directives injected |
|
|
130
|
+
| **Plain** | fallback | Certs placed in `.trustlocal/`, manual wiring instructions printed |
|
|
81
131
|
|
|
82
132
|
---
|
|
83
133
|
|
|
84
|
-
##
|
|
134
|
+
## mkcert auto-install
|
|
85
135
|
|
|
86
|
-
|
|
87
|
-
npx trustlocal init
|
|
136
|
+
If mkcert is not on your machine, `trustlocal` installs it automatically — no manual steps, no package manager required.
|
|
88
137
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
✓ Certificates generated → .trustlocal/
|
|
95
|
-
→ Injecting HTTPS config into next.config.ts...
|
|
96
|
-
✓ Config updated
|
|
97
|
-
→ Updating .env...
|
|
98
|
-
✓ NODE_EXTRA_CA_CERTS set
|
|
99
|
-
→ Updating .gitignore...
|
|
100
|
-
✓ .trustlocal/ added to .gitignore
|
|
101
|
-
|
|
102
|
-
✓ Done! Open https://localhost:3000
|
|
138
|
+
| Platform | Install method |
|
|
139
|
+
|---|---|
|
|
140
|
+
| macOS | Homebrew → direct download fallback |
|
|
141
|
+
| Linux | apt → direct download fallback |
|
|
142
|
+
| Windows | winget → choco → scoop → direct download fallback |
|
|
103
143
|
|
|
104
|
-
|
|
105
|
-
Cert expires: 2028-03-31
|
|
106
|
-
```
|
|
144
|
+
The direct download fallback fetches the official binary from [GitHub releases](https://github.com/FiloSottile/mkcert/releases) using Node's built-in `https` module. No `curl`, no `wget` needed.
|
|
107
145
|
|
|
108
146
|
---
|
|
109
147
|
|
|
110
148
|
## Security
|
|
111
149
|
|
|
112
|
-
- `.trustlocal/`
|
|
113
|
-
- `trustlocal.json` is safe to commit — it contains no keys, only config metadata
|
|
114
|
-
- All
|
|
150
|
+
- `.trustlocal/` is automatically added to `.gitignore` before any cert files are written — **private keys are never committed**
|
|
151
|
+
- `trustlocal.json` is safe to commit — it contains no keys, only config metadata (framework, domains, cert dir)
|
|
152
|
+
- All certificate generation happens locally via `mkcert`. `trustlocal` never reads, stores, or transmits any private key
|
|
115
153
|
|
|
116
154
|
---
|
|
117
155
|
|
|
118
156
|
## Requirements
|
|
119
157
|
|
|
120
158
|
- Node.js 18+
|
|
121
|
-
- macOS or
|
|
159
|
+
- macOS, Linux, or Windows
|
|
122
160
|
|
|
123
161
|
---
|
|
124
162
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAmBH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAmBH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA+GD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqItE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -77,28 +77,6 @@ async function prompt(question) {
|
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
-
/** Framework default dev ports. */
|
|
81
|
-
const FRAMEWORK_DEFAULT_PORTS = {
|
|
82
|
-
nextjs: 3000,
|
|
83
|
-
vite: 5173,
|
|
84
|
-
express: 3000,
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Detect the dev server port: reads PORT from .env first, then falls back
|
|
88
|
-
* to the framework default. Returns undefined if neither is available.
|
|
89
|
-
*/
|
|
90
|
-
async function detectDevPort(cwd, framework) {
|
|
91
|
-
try {
|
|
92
|
-
const content = await (0, promises_1.readFile)((0, path_1.join)(cwd, '.env'), 'utf-8');
|
|
93
|
-
const match = /^PORT\s*=\s*(\d+)/m.exec(content);
|
|
94
|
-
if (match?.[1])
|
|
95
|
-
return parseInt(match[1], 10);
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// no .env — use framework default
|
|
99
|
-
}
|
|
100
|
-
return FRAMEWORK_DEFAULT_PORTS[framework];
|
|
101
|
-
}
|
|
102
80
|
/** Collect extra .local domains from .env file */
|
|
103
81
|
async function collectEnvDomains(cwd) {
|
|
104
82
|
try {
|
|
@@ -301,11 +279,9 @@ async function runInit(options = {}) {
|
|
|
301
279
|
return new Date(Date.now() + 2 * 365 * 24 * 3600 * 1000);
|
|
302
280
|
}
|
|
303
281
|
})();
|
|
304
|
-
const port = await detectDevPort(cwd, detection.framework);
|
|
305
|
-
const httpsUrl = port ? `https://localhost:${port}` : 'https://localhost';
|
|
306
282
|
logger_1.logger.blank();
|
|
307
283
|
logger_1.logger.success('HTTPS is ready.');
|
|
308
|
-
logger_1.logger.info(
|
|
284
|
+
logger_1.logger.info('Start your dev server and open https://localhost on your configured port.');
|
|
309
285
|
logger_1.logger.blank();
|
|
310
286
|
logger_1.logger.info('Teammates: run npx trustlocal sync to get HTTPS on their machines.');
|
|
311
287
|
logger_1.logger.info(`Cert expires: ${expiry.toISOString().split('T')[0]}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/mkcert/check.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/mkcert/check.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2DD,2EAA2E;AAC3E,wBAAgB,WAAW,IAAI,UAAU,CAmBxC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAWxC"}
|
package/dist/mkcert/check.js
CHANGED
|
@@ -27,8 +27,39 @@ function prependTrustlocalBin() {
|
|
|
27
27
|
process.env['PATH'] = `${dir}${sep}${current}`;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* On Windows, read PATH from both HKLM and HKCU registry keys and merge into
|
|
32
|
+
* the current process environment. This is necessary because winget, choco,
|
|
33
|
+
* and scoop update the registry PATH — but a new process inheriting from an
|
|
34
|
+
* older parent process will not see those changes without this refresh.
|
|
35
|
+
*/
|
|
36
|
+
function refreshWindowsPath() {
|
|
37
|
+
if ((0, os_1.platform)() !== 'win32')
|
|
38
|
+
return;
|
|
39
|
+
const readReg = (key, value) => {
|
|
40
|
+
try {
|
|
41
|
+
const out = (0, child_process_1.execSync)(`reg query "${key}" /v ${value}`, {
|
|
42
|
+
encoding: 'utf-8',
|
|
43
|
+
stdio: 'pipe',
|
|
44
|
+
});
|
|
45
|
+
const match = new RegExp(`${value}\\s+REG(?:_EXPAND)?_SZ\\s+(.+)`).exec(out);
|
|
46
|
+
return match?.[1]?.trim() ?? '';
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return '';
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const systemPath = readReg('HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment', 'Path');
|
|
53
|
+
const userPath = readReg('HKCU\\Environment', 'Path');
|
|
54
|
+
const merged = [systemPath, userPath, process.env['PATH'] ?? '']
|
|
55
|
+
.filter(Boolean)
|
|
56
|
+
.join(';');
|
|
57
|
+
process.env['PATH'] = merged;
|
|
58
|
+
}
|
|
30
59
|
/** Check whether mkcert is installed and return version + CA root path. */
|
|
31
60
|
function checkMkcert() {
|
|
61
|
+
// On Windows, pull registry PATH so winget/choco/scoop installs are visible
|
|
62
|
+
refreshWindowsPath();
|
|
32
63
|
// Ensure any binary trustlocal previously downloaded is discoverable
|
|
33
64
|
prependTrustlocalBin();
|
|
34
65
|
try {
|
|
@@ -51,6 +82,7 @@ function checkMkcert() {
|
|
|
51
82
|
* Throws if mkcert is not installed.
|
|
52
83
|
*/
|
|
53
84
|
function getMkcertCARoot() {
|
|
85
|
+
refreshWindowsPath();
|
|
54
86
|
prependTrustlocalBin();
|
|
55
87
|
try {
|
|
56
88
|
return (0, child_process_1.execSync)('mkcert -CAROOT', {
|
package/dist/mkcert/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/mkcert/check.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/mkcert/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mkcert/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/mkcert/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoNH;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BnD"}
|
package/dist/mkcert/install.js
CHANGED
|
@@ -162,6 +162,40 @@ function tryExec(cmd) {
|
|
|
162
162
|
return false;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* On Windows, package managers (winget, choco, scoop) write the new binary
|
|
167
|
+
* path to the registry but do NOT update the current process's PATH — they
|
|
168
|
+
* print "restart your shell" instead. This function reads the user and system
|
|
169
|
+
* PATH entries directly from the registry and applies them to process.env.PATH
|
|
170
|
+
* so that subsequent execSync('mkcert ...') calls succeed without a restart.
|
|
171
|
+
*/
|
|
172
|
+
function refreshWindowsPath() {
|
|
173
|
+
try {
|
|
174
|
+
const readReg = (key, value) => {
|
|
175
|
+
try {
|
|
176
|
+
const out = (0, child_process_1.execSync)(`reg query "${key}" /v ${value}`, {
|
|
177
|
+
encoding: 'utf-8',
|
|
178
|
+
stdio: 'pipe',
|
|
179
|
+
});
|
|
180
|
+
const match = new RegExp(`${value}\\s+REG(?:_EXPAND)?_SZ\\s+(.+)`).exec(out);
|
|
181
|
+
return match?.[1]?.trim() ?? '';
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return '';
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
const systemPath = readReg('HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment', 'Path');
|
|
188
|
+
const userPath = readReg('HKCU\\Environment', 'Path');
|
|
189
|
+
// Merge registry paths with current PATH (keep existing entries too)
|
|
190
|
+
const merged = [systemPath, userPath, process.env['PATH'] ?? '']
|
|
191
|
+
.filter(Boolean)
|
|
192
|
+
.join(';');
|
|
193
|
+
process.env['PATH'] = merged;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// Registry read failed — not fatal, PATH just won't be refreshed
|
|
197
|
+
}
|
|
198
|
+
}
|
|
165
199
|
async function installMacOS() {
|
|
166
200
|
if (tryExec('brew install mkcert')) {
|
|
167
201
|
tryExec('brew install nss'); // Firefox support — non-fatal if it fails
|
|
@@ -178,17 +212,20 @@ async function installLinux() {
|
|
|
178
212
|
async function installWindows() {
|
|
179
213
|
// winget — built into Windows 10 1809+ and all Windows 11
|
|
180
214
|
if (tryExec('winget install --id FiloSottile.mkcert --accept-package-agreements --accept-source-agreements')) {
|
|
215
|
+
refreshWindowsPath(); // winget modifies registry PATH but not the current process
|
|
181
216
|
return;
|
|
182
217
|
}
|
|
183
218
|
// choco
|
|
184
219
|
if (tryExec('choco install mkcert -y')) {
|
|
220
|
+
refreshWindowsPath();
|
|
185
221
|
return;
|
|
186
222
|
}
|
|
187
223
|
// scoop
|
|
188
224
|
if (tryExec('scoop install mkcert')) {
|
|
225
|
+
refreshWindowsPath();
|
|
189
226
|
return;
|
|
190
227
|
}
|
|
191
|
-
// Universal fallback
|
|
228
|
+
// Universal fallback — downloadMkcert already patches process.env.PATH itself
|
|
192
229
|
logger_1.logger.warn('No package manager found (winget/choco/scoop) — falling back to direct download...');
|
|
193
230
|
await downloadMkcert();
|
|
194
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mkcert/install.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/mkcert/install.ts"],"names":[],"mappings":"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"}
|