trustlocal 0.1.4 → 0.2.0

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.
Files changed (44) hide show
  1. package/README.md +97 -58
  2. package/dist/commands/doctor.d.ts +8 -0
  3. package/dist/commands/doctor.d.ts.map +1 -0
  4. package/dist/commands/doctor.js +200 -0
  5. package/dist/commands/doctor.js.map +1 -0
  6. package/dist/commands/init.d.ts.map +1 -1
  7. package/dist/commands/init.js +54 -25
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/remove.d.ts +17 -0
  10. package/dist/commands/remove.d.ts.map +1 -0
  11. package/dist/commands/remove.js +216 -0
  12. package/dist/commands/remove.js.map +1 -0
  13. package/dist/commands/status.d.ts.map +1 -1
  14. package/dist/commands/status.js +12 -3
  15. package/dist/commands/status.js.map +1 -1
  16. package/dist/commands/sync.d.ts.map +1 -1
  17. package/dist/commands/sync.js +33 -0
  18. package/dist/commands/sync.js.map +1 -1
  19. package/dist/detector/framework.d.ts +1 -1
  20. package/dist/detector/framework.d.ts.map +1 -1
  21. package/dist/detector/framework.js +47 -0
  22. package/dist/detector/framework.js.map +1 -1
  23. package/dist/index.js +20 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/injectors/astro.d.ts +6 -0
  26. package/dist/injectors/astro.d.ts.map +1 -0
  27. package/dist/injectors/astro.js +58 -0
  28. package/dist/injectors/astro.js.map +1 -0
  29. package/dist/injectors/fastify.d.ts +5 -0
  30. package/dist/injectors/fastify.d.ts.map +1 -0
  31. package/dist/injectors/fastify.js +42 -0
  32. package/dist/injectors/fastify.js.map +1 -0
  33. package/dist/injectors/nestjs.d.ts +5 -0
  34. package/dist/injectors/nestjs.d.ts.map +1 -0
  35. package/dist/injectors/nestjs.js +43 -0
  36. package/dist/injectors/nestjs.js.map +1 -0
  37. package/dist/injectors/nuxt.d.ts +8 -0
  38. package/dist/injectors/nuxt.d.ts.map +1 -0
  39. package/dist/injectors/nuxt.js +94 -0
  40. package/dist/injectors/nuxt.js.map +1 -0
  41. package/dist/mkcert/check.d.ts.map +1 -1
  42. package/dist/mkcert/check.js +32 -0
  43. package/dist/mkcert/check.js.map +1 -1
  44. package/package.json +9 -2
package/README.md CHANGED
@@ -2,126 +2,165 @@
2
2
 
3
3
  > One command. HTTPS everywhere. Zero config.
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/trustlocal)](https://www.npmjs.com/package/trustlocal)
5
+ [![npm version](https://img.shields.io/npm/v/trustlocal?color=brightgreen)](https://www.npmjs.com/package/trustlocal)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/trustlocal)](https://www.npmjs.com/package/trustlocal)
7
7
  [![license](https://img.shields.io/npm/l/trustlocal)](LICENSE)
8
+ [![node](https://img.shields.io/node/v/trustlocal)](https://nodejs.org)
8
9
 
9
- `trustlocal` automates local HTTPS setup for web development projects. It uses [mkcert](https://github.com/FiloSottile/mkcert) to generate locally trusted certificates, then detects your framework and injects the correct SSL configuration — eliminating every manual step between *"I want HTTPS locally"* and *"it works."*
10
+ ![trustlocal demo](assets/guide.gif)
10
11
 
11
- ---
12
-
13
- ## Quick start
12
+ `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.
14
13
 
15
14
  ```bash
16
15
  npx trustlocal init
17
16
  ```
18
17
 
19
- That's it. `trustlocal` will:
18
+ That's it.
19
+
20
+ ---
21
+
22
+ ## The problem it solves
23
+
24
+ [mkcert](https://github.com/FiloSottile/mkcert) (58k ⭐) generates locally trusted certificates — but it stops there. You still have to:
25
+
26
+ - Wire cert files into your framework config manually
27
+ - Set `NODE_EXTRA_CA_CERTS` so Node trusts them
28
+ - Redo all of this for every teammate
29
+
30
+ `trustlocal` automates the entire chain: **install → generate → inject → sync**.
31
+
32
+ ---
33
+
34
+ ## Supported frameworks
20
35
 
21
- 1. Install mkcert if not already present
22
- 2. Register the local CA (prompts for sudo once)
23
- 3. Detect your framework (Next.js, Vite, Express, Nginx, or plain)
24
- 4. Generate trusted certificates for `localhost` and `127.0.0.1`
25
- 5. Inject HTTPS config into your framework's config file
26
- 6. Set `NODE_EXTRA_CA_CERTS` in `.env`
27
- 7. Add `.trustlocal/` to `.gitignore`
28
- 8. Write `trustlocal.json` so teammates can sync with one command
36
+ | Framework | Detected by | What gets configured |
37
+ |---|---|---|
38
+ | **Next.js** | `next` in `package.json` | `next.config.js/ts` `experimental.https` block (or CLI flags for v15+) |
39
+ | **Vite** | `vite` in `package.json` | `vite.config.js/ts` — `server.https` block |
40
+ | **Astro** | `astro` in `package.json` | `astro.config.mjs` — `server.https` block |
41
+ | **SvelteKit** | `@sveltejs/kit` in `package.json` | `vite.config.ts` `server.https` block |
42
+ | **Nuxt** | `nuxt` in `package.json` | `nuxt.config.ts` `devServer.https` block |
43
+ | **Remix** | `@remix-run/dev` in `package.json` | `vite.config.ts` `server.https` block |
44
+ | **Fastify** | `fastify` in `package.json` | `.env` — `NODE_EXTRA_CA_CERTS` + server snippet printed |
45
+ | **NestJS** | `@nestjs/core` in `package.json` | `.env` — `NODE_EXTRA_CA_CERTS` + `main.ts` snippet printed |
46
+ | **Express / Node** | `express` in deps or `server.js` present | `.env` — `NODE_EXTRA_CA_CERTS` + code snippet printed |
47
+ | **Nginx** | `nginx.conf` in project root | `nginx.conf` — `ssl_certificate` directives injected |
48
+ | **Plain** | fallback | Certs placed in `.trustlocal/`, manual wiring instructions printed |
29
49
 
30
50
  ---
31
51
 
32
52
  ## Commands
33
53
 
34
- ### `init` — First-time setup
54
+ ### `init` — first-time setup
35
55
 
36
56
  ```bash
37
- npx trustlocal init [--domains myapp.local] [--force] [--dry-run]
57
+ npx trustlocal init
38
58
  ```
39
59
 
60
+ 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.
61
+
62
+ **Options**
63
+
40
64
  | Flag | Description |
41
- |------|-------------|
42
- | `--domains <list>` | Comma-separated extra domains (e.g. `--domains myapp.local,api.local`) |
65
+ |---|---|
66
+ | `--domains <list>` | Extra comma-separated domains to include, e.g. `--domains myapp.local,api.local` |
43
67
  | `--force` | Re-initialise even if `trustlocal.json` already exists |
44
68
  | `--dry-run` | Preview what would happen without writing any files |
45
69
 
46
- ### `sync` — Onboard a new teammate
70
+ ---
71
+
72
+ ### `sync` — onboard a teammate
47
73
 
48
74
  ```bash
49
75
  npx trustlocal sync
50
76
  ```
51
77
 
52
- Reads `trustlocal.json`, generates fresh certs on the new machine (no private key sharing), injects config identically, and gets HTTPS working in under 30 seconds.
78
+ 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
79
 
54
- ### `renew` — Renew expiring certs
80
+ ---
81
+
82
+ ### `renew` — renew expiring certs
55
83
 
56
84
  ```bash
57
- npx trustlocal renew [--force]
85
+ npx trustlocal renew
58
86
  ```
59
87
 
60
- Certs expire after 2 years. Deletes old certs and generates fresh ones. Framework config files are **not** touched — cert paths stay the same.
88
+ Certificates expire after 2 years. Deletes old certs and generates fresh ones. Framework config files are **not** touched — cert file paths stay the same.
61
89
 
62
- ### `status` Check your setup
90
+ | Flag | Description |
91
+ |---|---|
92
+ | `--force` | Renew even if the cert has more than 30 days remaining |
93
+
94
+ ---
95
+
96
+ ### `status` — check your setup
63
97
 
64
98
  ```bash
65
99
  npx trustlocal status
66
100
  ```
67
101
 
68
- Shows framework, cert expiry, config injection status, `NODE_EXTRA_CA_CERTS`, and `.gitignore` — with coloured OK / WARNING / ERROR indicators.
102
+ Prints a coloured `OK / WARNING / ERROR` for each check:
103
+
104
+ - Certificate file present and expiry date
105
+ - HTTPS config injection still in place
106
+ - `NODE_EXTRA_CA_CERTS` set in `.env`
107
+ - `.trustlocal/` excluded from `.gitignore`
69
108
 
70
109
  ---
71
110
 
72
- ## Supported frameworks
111
+ ### `doctor` — diagnose issues
73
112
 
74
- | Framework | Detection | Config target |
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` found | `.env` `NODE_EXTRA_CA_CERTS` + printed snippet |
79
- | **Nginx** | `nginx.conf` in project root | `nginx.conf` — `ssl_certificate` block |
80
- | **Plain** | fallback | Certs placed in `.trustlocal/` with instructions |
113
+ ```bash
114
+ npx trustlocal doctor
115
+ ```
116
+
117
+ 10-point diagnostic that checks every component of your HTTPS setup and suggests a specific fix for each problem found. Run this if something isn't working.
81
118
 
82
119
  ---
83
120
 
84
- ## How it works
121
+ ### `remove` clean uninstall
85
122
 
123
+ ```bash
124
+ npx trustlocal remove
86
125
  ```
87
- npx trustlocal init
88
126
 
89
- Checking mkcert...
90
- ✓ mkcert 1.4.4 found
91
- Detecting framework...
92
- ✓ Detected: Next.js (next.config.ts)
93
- Generating certificates for: localhost, 127.0.0.1
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
103
-
104
- Teammates: run npx trustlocal sync to get HTTPS on their machines.
105
- Cert expires: 2028-03-31
106
- ```
127
+ Removes everything trustlocal added: deletes the cert directory, strips HTTPS config from framework files, removes `NODE_EXTRA_CA_CERTS` from `.env`, cleans `.gitignore`, and deletes `trustlocal.json`.
128
+
129
+ | Flag | Description |
130
+ |---|---|
131
+ | `--yes` | Skip the confirmation prompt |
132
+
133
+ ---
134
+
135
+ ## mkcert auto-install
136
+
137
+ If mkcert is not on your machine, `trustlocal` installs it automatically — no manual steps, no package manager required.
138
+
139
+ | Platform | Install method |
140
+ |---|---|
141
+ | macOS | Homebrew → direct download fallback |
142
+ | Linux | apt direct download fallback |
143
+ | Windows | winget → choco → scoop → direct download fallback |
144
+
145
+ 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
146
 
108
147
  ---
109
148
 
110
149
  ## Security
111
150
 
112
- - `.trustlocal/` (containing `.pem` files) is automatically added to `.gitignore` — **private keys are never committed**
113
- - `trustlocal.json` is safe to commit — it contains no keys, only config metadata
114
- - All cert generation happens locally via `mkcert`. `trustlocal` never reads, stores, or transmits any private key
151
+ - `.trustlocal/` is automatically added to `.gitignore` before any cert files are written — **private keys are never committed**
152
+ - `trustlocal.json` is safe to commit — it contains no keys, only config metadata (framework, domains, cert dir)
153
+ - All certificate generation happens locally via `mkcert`. `trustlocal` never reads, stores, or transmits any private key
115
154
 
116
155
  ---
117
156
 
118
157
  ## Requirements
119
158
 
120
159
  - Node.js 18+
121
- - macOS or Linux (Windows support is post-v1)
160
+ - macOS, Linux, or Windows
122
161
 
123
162
  ---
124
163
 
125
164
  ## License
126
165
 
127
- MIT © Sahil Kashyap
166
+ MIT © Sahil Kashyap
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `npx trustlocal doctor`
3
+ *
4
+ * Comprehensive diagnostics — checks every component of the trustlocal setup
5
+ * and suggests fixes for each problem found.
6
+ */
7
+ export declare function runDoctor(): Promise<void>;
8
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2CH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmJ/C"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * `npx trustlocal doctor`
4
+ *
5
+ * Comprehensive diagnostics — checks every component of the trustlocal setup
6
+ * and suggests fixes for each problem found.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.runDoctor = runDoctor;
13
+ const promises_1 = require("fs/promises");
14
+ const path_1 = require("path");
15
+ const child_process_1 = require("child_process");
16
+ const logger_1 = require("../utils/logger");
17
+ const trustlocal_1 = require("../config/trustlocal");
18
+ const check_1 = require("../mkcert/check");
19
+ const generate_1 = require("../mkcert/generate");
20
+ const chalk_1 = __importDefault(require("chalk"));
21
+ function checkLine(level, label, detail, fix) {
22
+ const icon = level === 'OK' ? chalk_1.default.green('✓') :
23
+ level === 'WARNING' ? chalk_1.default.yellow('⚠') :
24
+ level === 'ERROR' ? chalk_1.default.red('✗') :
25
+ chalk_1.default.blue('ℹ');
26
+ const color = level === 'OK' ? chalk_1.default.green :
27
+ level === 'WARNING' ? chalk_1.default.yellow :
28
+ level === 'ERROR' ? chalk_1.default.red :
29
+ chalk_1.default.blue;
30
+ console.log(` ${icon} ${label.padEnd(28)} ${color(detail)}`);
31
+ if (fix) {
32
+ console.log(` ${' '.repeat(28)} ${chalk_1.default.dim('→ ' + fix)}`);
33
+ }
34
+ }
35
+ async function fileExists(p) {
36
+ try {
37
+ await (0, promises_1.access)(p);
38
+ return true;
39
+ }
40
+ catch {
41
+ return false;
42
+ }
43
+ }
44
+ async function fileContains(p, text) {
45
+ try {
46
+ const content = await (0, promises_1.readFile)(p, 'utf-8');
47
+ return content.includes(text);
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ async function runDoctor() {
54
+ const cwd = process.cwd();
55
+ let issues = 0;
56
+ logger_1.logger.title('trustlocal doctor');
57
+ logger_1.logger.info('Checking your setup...');
58
+ logger_1.logger.blank();
59
+ // ── 1. Node.js version ────────────────────────────────────────────────────
60
+ const [major] = process.versions.node.split('.').map(Number);
61
+ if ((major ?? 0) >= 18) {
62
+ checkLine('OK', 'Node.js version', `v${process.versions.node}`);
63
+ }
64
+ else {
65
+ checkLine('ERROR', 'Node.js version', `v${process.versions.node} (need >= 18)`, 'Upgrade Node.js at https://nodejs.org');
66
+ issues++;
67
+ }
68
+ // ── 2. mkcert installed ───────────────────────────────────────────────────
69
+ const mkcertInfo = (0, check_1.checkMkcert)();
70
+ if (mkcertInfo.installed) {
71
+ checkLine('OK', 'mkcert installed', mkcertInfo.version ?? 'found');
72
+ }
73
+ else {
74
+ checkLine('ERROR', 'mkcert installed', 'Not found', 'Run `npx trustlocal init` to auto-install mkcert');
75
+ issues++;
76
+ }
77
+ // ── 3. Local CA trusted ───────────────────────────────────────────────────
78
+ if (mkcertInfo.installed && mkcertInfo.caRoot) {
79
+ const caRootPem = (0, path_1.join)(mkcertInfo.caRoot, 'rootCA.pem');
80
+ const caExists = await fileExists(caRootPem);
81
+ if (caExists) {
82
+ checkLine('OK', 'Local CA trusted', mkcertInfo.caRoot);
83
+ }
84
+ else {
85
+ checkLine('WARNING', 'Local CA trusted', 'rootCA.pem not found', 'Run `npx trustlocal init` or `mkcert -install` to register the local CA');
86
+ issues++;
87
+ }
88
+ }
89
+ else if (!mkcertInfo.installed) {
90
+ checkLine('INFO', 'Local CA trusted', 'Cannot check (mkcert not installed)');
91
+ }
92
+ // ── 4. trustlocal.json ────────────────────────────────────────────────────
93
+ const config = await (0, trustlocal_1.readConfig)(cwd);
94
+ if (config) {
95
+ checkLine('OK', 'trustlocal.json', `Framework: ${config.framework}, domains: ${config.domains.join(', ')}`);
96
+ }
97
+ else {
98
+ checkLine('WARNING', 'trustlocal.json', 'Not found — project not initialised', 'Run `npx trustlocal init` to set up HTTPS');
99
+ issues++;
100
+ // Can't check further without config
101
+ logger_1.logger.blank();
102
+ printSummary(issues);
103
+ return;
104
+ }
105
+ // ── 5. Certificate files ──────────────────────────────────────────────────
106
+ const certPath = (0, path_1.join)(cwd, config.certDir, generate_1.CERT_FILENAME);
107
+ const keyPath = (0, path_1.join)(cwd, config.certDir, 'localhost-key.pem');
108
+ const certExists = await fileExists(certPath);
109
+ const keyExists = await fileExists(keyPath);
110
+ if (certExists && keyExists) {
111
+ checkLine('OK', 'Certificate files', `Found in ${config.certDir}/`);
112
+ }
113
+ else {
114
+ checkLine('ERROR', 'Certificate files', 'Missing', 'Run `npx trustlocal sync` to regenerate certificates');
115
+ issues++;
116
+ }
117
+ // ── 6. Certificate expiry ─────────────────────────────────────────────────
118
+ if (certExists) {
119
+ try {
120
+ const expiry = (0, generate_1.getCertExpiry)(certPath);
121
+ const now = new Date();
122
+ const daysLeft = Math.floor((expiry.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
123
+ const expiryStr = `${expiry.toISOString().split('T')[0]} (${daysLeft} days)`;
124
+ if (daysLeft < 0) {
125
+ checkLine('ERROR', 'Certificate expiry', `EXPIRED ${expiryStr}`, 'Run `npx trustlocal renew` to regenerate certificates');
126
+ issues++;
127
+ }
128
+ else if (daysLeft < 30) {
129
+ checkLine('WARNING', 'Certificate expiry', `Expiring soon: ${expiryStr}`, 'Run `npx trustlocal renew` to renew certificates');
130
+ issues++;
131
+ }
132
+ else {
133
+ checkLine('OK', 'Certificate expiry', expiryStr);
134
+ }
135
+ }
136
+ catch {
137
+ checkLine('WARNING', 'Certificate expiry', 'Could not read expiry date');
138
+ }
139
+ }
140
+ // ── 7. Config injection ───────────────────────────────────────────────────
141
+ const noInjectionFrameworks = ['express', 'fastify', 'nestjs', 'plain'];
142
+ if (noInjectionFrameworks.includes(config.framework)) {
143
+ checkLine('OK', 'Config injection', `N/A for ${config.framework} — uses .env`);
144
+ }
145
+ else {
146
+ const configFile = config.configFiles[0];
147
+ if (!configFile) {
148
+ checkLine('WARNING', 'Config injection', 'No config file recorded', 'Run `npx trustlocal sync` to re-inject config');
149
+ issues++;
150
+ }
151
+ else {
152
+ const hasMarker = await fileContains((0, path_1.join)(cwd, configFile), '// trustlocal:https');
153
+ if (hasMarker) {
154
+ checkLine('OK', 'Config injection', `Present in ${configFile}`);
155
+ }
156
+ else {
157
+ checkLine('WARNING', 'Config injection', `Not found in ${configFile}`, 'Run `npx trustlocal sync` to re-inject HTTPS config');
158
+ issues++;
159
+ }
160
+ }
161
+ }
162
+ // ── 8. NODE_EXTRA_CA_CERTS ────────────────────────────────────────────────
163
+ const hasEnvKey = await fileContains((0, path_1.join)(cwd, '.env'), 'NODE_EXTRA_CA_CERTS');
164
+ if (hasEnvKey) {
165
+ checkLine('OK', 'NODE_EXTRA_CA_CERTS', 'Set in .env');
166
+ }
167
+ else {
168
+ checkLine('WARNING', 'NODE_EXTRA_CA_CERTS', 'Not set in .env', 'Run `npx trustlocal sync` to add NODE_EXTRA_CA_CERTS to .env');
169
+ issues++;
170
+ }
171
+ // ── 9. .gitignore ─────────────────────────────────────────────────────────
172
+ const gitignoreOk = await fileContains((0, path_1.join)(cwd, '.gitignore'), config.certDir);
173
+ if (gitignoreOk) {
174
+ checkLine('OK', '.gitignore', `${config.certDir}/ excluded`);
175
+ }
176
+ else {
177
+ checkLine('ERROR', '.gitignore', `${config.certDir}/ is NOT excluded — private keys may be committed!`, 'Add `.trustlocal/` to your .gitignore immediately');
178
+ issues++;
179
+ }
180
+ // ── 10. openssl availability (optional) ───────────────────────────────────
181
+ try {
182
+ (0, child_process_1.execSync)('openssl version', { stdio: 'pipe', encoding: 'utf-8' });
183
+ checkLine('OK', 'openssl', 'Available');
184
+ }
185
+ catch {
186
+ checkLine('INFO', 'openssl', 'Not found (cert expiry parsing may be limited)');
187
+ }
188
+ logger_1.logger.blank();
189
+ printSummary(issues);
190
+ }
191
+ function printSummary(issues) {
192
+ if (issues === 0) {
193
+ logger_1.logger.success('All checks passed! Your HTTPS setup is healthy.');
194
+ }
195
+ else {
196
+ logger_1.logger.warn(`${issues} issue${issues === 1 ? '' : 's'} found. Follow the suggestions above to fix them.`);
197
+ }
198
+ logger_1.logger.blank();
199
+ }
200
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AA2CH,8BAmJC;AA5LD,0CAA+C;AAC/C,+BAA4B;AAC5B,iDAAyC;AAEzC,4CAAyC;AACzC,qDAAkD;AAClD,2CAA8C;AAC9C,iDAAkE;AAClE,kDAA0B;AAI1B,SAAS,SAAS,CAAC,KAAiB,EAAE,KAAa,EAAE,MAAc,EAAE,GAAY;IAC/E,MAAM,IAAI,GACR,KAAK,KAAK,IAAI,CAAM,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,KAAK,KAAK,OAAO,CAAG,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,KAAK,GACT,KAAK,KAAK,IAAI,CAAM,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,CAAC;QACnC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,CAAC;YACpC,KAAK,KAAK,OAAO,CAAG,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,eAAK,CAAC,IAAI,CAAC;IAEb,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QAAC,MAAM,IAAA,iBAAM,EAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,CAAS,EAAE,IAAY;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,SAAS;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtC,eAAM,CAAC,KAAK,EAAE,CAAC;IAEf,6EAA6E;IAC7E,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,eAAe,EAC5E,uCAAuC,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC;IACX,CAAC;IAED,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAA,mBAAW,GAAE,CAAC;IACjC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAChD,kDAAkD,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,6EAA6E;IAC7E,IAAI,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,sBAAsB,EAC7D,yEAAyE,CAAC,CAAC;YAC7E,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;IAC/E,CAAC;IAED,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE,qCAAqC,EAC3E,2CAA2C,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC;QACT,qCAAqC;QACrC,eAAM,CAAC,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,wBAAa,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE,YAAY,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAC/C,sDAAsD,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC;IACX,CAAC;IAED,6EAA6E;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,QAAQ,CAAC;YAE7E,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,SAAS,EAAE,EAC7D,uDAAuD,CAAC,CAAC;gBAC3D,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;gBACzB,SAAS,CAAC,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,SAAS,EAAE,EACtE,kDAAkD,CAAC,CAAC;gBACtD,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,SAAS,EAAE,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,MAAM,CAAC,SAAS,cAAc,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,yBAAyB,EAChE,+CAA+C,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAA,WAAI,EAAC,GAAG,EAAE,UAAU,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACnF,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,UAAU,EAAE,EACnE,qDAAqD,CAAC,CAAC;gBACzD,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC/E,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,IAAI,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,SAAS,EAAE,qBAAqB,EAAE,iBAAiB,EAC3D,8DAA8D,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC;IACX,CAAC;IAED,6EAA6E;IAC7E,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAA,WAAI,EAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,WAAW,EAAE,CAAC;QAChB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,oDAAoD,EACpG,mDAAmD,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,gDAAgD,CAAC,CAAC;IACjF,CAAC;IAED,eAAM,CAAC,KAAK,EAAE,CAAC;IACf,YAAY,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,eAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mDAAmD,CAAC,CAAC;IAC5G,CAAC;IACD,eAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -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;AAqID,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwItE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAuBH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAoJD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ItE"}
@@ -63,7 +63,11 @@ const generate_1 = require("../mkcert/generate");
63
63
  const trustlocal_1 = require("../config/trustlocal");
64
64
  const nextjs_1 = require("../injectors/nextjs");
65
65
  const vite_1 = require("../injectors/vite");
66
+ const astro_1 = require("../injectors/astro");
67
+ const nuxt_1 = require("../injectors/nuxt");
66
68
  const express_1 = require("../injectors/express");
69
+ const fastify_1 = require("../injectors/fastify");
70
+ const nestjs_1 = require("../injectors/nestjs");
67
71
  const nginx_1 = require("../injectors/nginx");
68
72
  const plain_1 = require("../injectors/plain");
69
73
  const check_2 = require("../mkcert/check");
@@ -77,28 +81,6 @@ async function prompt(question) {
77
81
  });
78
82
  });
79
83
  }
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
84
  /** Collect extra .local domains from .env file */
103
85
  async function collectEnvDomains(cwd) {
104
86
  try {
@@ -167,6 +149,49 @@ async function runInjector(framework, configFile, cwd, caRootPem) {
167
149
  }
168
150
  break;
169
151
  }
152
+ case 'astro': {
153
+ const configPath = (0, path_1.join)(cwd, configFile ?? 'astro.config.mjs');
154
+ const result = await (0, astro_1.injectAstro)(configPath);
155
+ if (result.alreadyConfigured)
156
+ logger_1.logger.warn('HTTPS already configured in Astro config — skipping injection.');
157
+ else
158
+ logger_1.logger.success(`Config updated${result.created ? ' (new file created)' : ''}`);
159
+ break;
160
+ }
161
+ case 'sveltekit':
162
+ case 'remix': {
163
+ const defaultConfig = 'vite.config.ts';
164
+ const configPath = (0, path_1.join)(cwd, configFile ?? defaultConfig);
165
+ const result = await (0, vite_1.injectVite)(configPath);
166
+ if (result.alreadyConfigured)
167
+ logger_1.logger.warn('HTTPS already configured in Vite config — skipping injection.');
168
+ else
169
+ logger_1.logger.success(`Config updated${result.created ? ' (new file created)' : ''}`);
170
+ break;
171
+ }
172
+ case 'nuxt': {
173
+ const configPath = (0, path_1.join)(cwd, configFile ?? 'nuxt.config.ts');
174
+ const result = await (0, nuxt_1.injectNuxt)(configPath);
175
+ if (result.alreadyConfigured)
176
+ logger_1.logger.warn('HTTPS already configured in Nuxt config — skipping injection.');
177
+ else
178
+ logger_1.logger.success(`Config updated${result.created ? ' (new file created)' : ''}`);
179
+ break;
180
+ }
181
+ case 'fastify': {
182
+ const envPath = (0, path_1.join)(cwd, '.env');
183
+ await (0, fastify_1.injectFastify)(envPath, caRootPem);
184
+ logger_1.logger.success('NODE_EXTRA_CA_CERTS set in .env');
185
+ (0, fastify_1.printFastifySnippet)(trustlocal_1.CERT_DIR);
186
+ break;
187
+ }
188
+ case 'nestjs': {
189
+ const envPath = (0, path_1.join)(cwd, '.env');
190
+ await (0, nestjs_1.injectNestjs)(envPath, caRootPem);
191
+ logger_1.logger.success('NODE_EXTRA_CA_CERTS set in .env');
192
+ (0, nestjs_1.printNestjsSnippet)(trustlocal_1.CERT_DIR);
193
+ break;
194
+ }
170
195
  case 'express': {
171
196
  const envPath = (0, path_1.join)(cwd, '.env');
172
197
  await (0, express_1.injectExpress)(envPath, caRootPem);
@@ -237,6 +262,12 @@ async function runInit(options = {}) {
237
262
  const overrides = {
238
263
  nextjs: 'nextjs', next: 'nextjs',
239
264
  vite: 'vite',
265
+ astro: 'astro',
266
+ sveltekit: 'sveltekit', svelte: 'sveltekit',
267
+ nuxt: 'nuxt',
268
+ remix: 'remix',
269
+ fastify: 'fastify',
270
+ nestjs: 'nestjs', nest: 'nestjs',
240
271
  express: 'express', node: 'express',
241
272
  nginx: 'nginx',
242
273
  plain: 'plain',
@@ -301,11 +332,9 @@ async function runInit(options = {}) {
301
332
  return new Date(Date.now() + 2 * 365 * 24 * 3600 * 1000);
302
333
  }
303
334
  })();
304
- const port = await detectDevPort(cwd, detection.framework);
305
- const httpsUrl = port ? `https://localhost:${port}` : 'https://localhost';
306
335
  logger_1.logger.blank();
307
336
  logger_1.logger.success('HTTPS is ready.');
308
- logger_1.logger.info(`Start your dev server, then open ${httpsUrl}`);
337
+ logger_1.logger.info('Start your dev server and open https://localhost on your configured port.');
309
338
  logger_1.logger.blank();
310
339
  logger_1.logger.info('Teammates: run npx trustlocal sync to get HTTPS on their machines.');
311
340
  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":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `npx trustlocal remove`
3
+ *
4
+ * Removes everything trustlocal added:
5
+ * 1. Read trustlocal.json
6
+ * 2. Confirm with user
7
+ * 3. Remove HTTPS injection from framework config files
8
+ * 4. Remove NODE_EXTRA_CA_CERTS from .env
9
+ * 5. Remove .trustlocal/ from .gitignore
10
+ * 6. Delete .trustlocal/ directory (certs)
11
+ * 7. Delete trustlocal.json
12
+ */
13
+ export interface RemoveOptions {
14
+ yes?: boolean;
15
+ }
16
+ export declare function runRemove(options?: RemoveOptions): Promise<void>;
17
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA0GD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE1E"}