slickenv 1.0.0 → 1.0.110
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 +127 -96
- package/dist/commands/push.js +1 -1
- package/dist/commands/push.js.map +1 -1
- package/dist/lib/parser.d.ts +4 -3
- package/dist/lib/parser.d.ts.map +1 -1
- package/dist/lib/parser.js +56 -14
- package/dist/lib/parser.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,23 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://env.slickspender.com/icon.svg" alt="SlickEnv" width="80" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">SlickEnv</h1>
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
<p align="center">
|
|
8
|
+
Securely manage, sync, and version <code>.env</code> files across your team — with end-to-end encryption.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/slickenv"><img src="https://img.shields.io/npm/v/slickenv?color=16A34A&label=npm" alt="npm version" /></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/slickenv"><img src="https://img.shields.io/npm/dm/slickenv?color=16A34A" alt="npm downloads" /></a>
|
|
14
|
+
<a href="https://github.com/jjackofall/slickenv/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/slickenv?color=16A34A" alt="license" /></a>
|
|
15
|
+
<a href="https://env.slickspender.com"><img src="https://img.shields.io/badge/docs-env.slickspender.com-16A34A" alt="docs" /></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### Why SlickEnv?
|
|
21
|
+
|
|
22
|
+
> Sharing `.env` files over Slack, email, or sticky notes is insecure and error-prone. SlickEnv gives your team a single source of truth with git-like version control and military-grade encryption.
|
|
6
23
|
|
|
7
24
|
- **End-to-end encrypted** — Private variables are encrypted client-side with AES-256-GCM before leaving your machine
|
|
8
25
|
- **Version history** — Every push creates an immutable version you can diff, rollback, or audit
|
|
9
26
|
- **Team sync** — Pull the latest environment from anywhere, always in sync
|
|
10
|
-
- **
|
|
11
|
-
- **Zero
|
|
27
|
+
- **Role-based access** — Invite members as admin, member, or viewer
|
|
28
|
+
- **Zero knowledge** — The server stores only ciphertext and can never read your secrets
|
|
29
|
+
|
|
30
|
+
---
|
|
12
31
|
|
|
13
32
|
## Install
|
|
14
33
|
|
|
15
34
|
```bash
|
|
16
35
|
npm install -g slickenv
|
|
17
|
-
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Or run directly without installing:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
18
41
|
npx slickenv
|
|
19
42
|
```
|
|
20
43
|
|
|
44
|
+
**Requirements:** Node.js 18+
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
21
48
|
## Quick Start
|
|
22
49
|
|
|
23
50
|
```bash
|
|
@@ -37,46 +64,44 @@ slickenv pull
|
|
|
37
64
|
slickenv members invite teammate@company.com --role member
|
|
38
65
|
```
|
|
39
66
|
|
|
67
|
+
---
|
|
68
|
+
|
|
40
69
|
## Commands
|
|
41
70
|
|
|
42
71
|
### Authentication
|
|
43
72
|
|
|
44
|
-
| Command
|
|
45
|
-
|
|
|
46
|
-
| `slickenv login`
|
|
47
|
-
| `slickenv logout`
|
|
73
|
+
| Command | Description |
|
|
74
|
+
| --- | --- |
|
|
75
|
+
| `slickenv login` | Authenticate via browser OAuth (credentials stored in OS keychain) |
|
|
76
|
+
| `slickenv logout` | Revoke your token and clear local credentials |
|
|
48
77
|
|
|
49
78
|
### Project Setup
|
|
50
79
|
|
|
51
|
-
| Command | Description |
|
|
52
|
-
| ---------------- | -------------------------------------------------- |
|
|
53
|
-
| `slickenv init` | Initialize a SlickEnv project in the current directory |
|
|
54
|
-
|
|
55
80
|
```bash
|
|
56
81
|
slickenv init --name my-app --env production
|
|
57
82
|
```
|
|
58
83
|
|
|
59
|
-
| Flag
|
|
60
|
-
|
|
|
61
|
-
| `--name
|
|
62
|
-
| `--env` | Default environment label
|
|
84
|
+
| Flag | Description | Default |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| `--name` | Project name | Current directory name |
|
|
87
|
+
| `--env` | Default environment label | `production` |
|
|
63
88
|
|
|
64
|
-
###
|
|
89
|
+
### Push & Pull
|
|
65
90
|
|
|
66
91
|
#### `slickenv push`
|
|
67
92
|
|
|
68
|
-
Push local `.env` changes
|
|
93
|
+
Push local `.env` changes. Private variables are encrypted before upload.
|
|
69
94
|
|
|
70
95
|
```bash
|
|
71
96
|
slickenv push -m "Add Stripe keys" --yes
|
|
72
97
|
```
|
|
73
98
|
|
|
74
|
-
| Flag
|
|
75
|
-
|
|
|
76
|
-
| `--file`
|
|
77
|
-
| `--force`
|
|
78
|
-
|
|
|
79
|
-
|
|
|
99
|
+
| Flag | Description | Default |
|
|
100
|
+
| --- | --- | --- |
|
|
101
|
+
| `--file` | Path to env file | `.env` |
|
|
102
|
+
| `--force` | Skip conflict check | `false` |
|
|
103
|
+
| `-m, --message` | Version description | — |
|
|
104
|
+
| `-y, --yes` | Auto-confirm prompts | `false` |
|
|
80
105
|
|
|
81
106
|
#### `slickenv pull`
|
|
82
107
|
|
|
@@ -86,11 +111,11 @@ Pull the latest (or a specific) version and write it to your local `.env`.
|
|
|
86
111
|
slickenv pull --version 3 --dry-run
|
|
87
112
|
```
|
|
88
113
|
|
|
89
|
-
| Flag
|
|
90
|
-
|
|
|
91
|
-
| `--version` | Pull a specific version
|
|
92
|
-
| `--dry-run` | Preview without writing to disk
|
|
93
|
-
|
|
|
114
|
+
| Flag | Description | Default |
|
|
115
|
+
| --- | --- | --- |
|
|
116
|
+
| `--version` | Pull a specific version | latest |
|
|
117
|
+
| `--dry-run` | Preview without writing to disk | `false` |
|
|
118
|
+
| `-y, --yes` | Auto-confirm overwrite | `false` |
|
|
94
119
|
|
|
95
120
|
#### `slickenv status`
|
|
96
121
|
|
|
@@ -106,9 +131,9 @@ List version history for the current environment.
|
|
|
106
131
|
slickenv versions --limit 10
|
|
107
132
|
```
|
|
108
133
|
|
|
109
|
-
| Flag
|
|
110
|
-
|
|
|
111
|
-
| `--limit` | Number of versions
|
|
134
|
+
| Flag | Description | Default |
|
|
135
|
+
| --- | --- | --- |
|
|
136
|
+
| `--limit` | Number of versions to show | `20` |
|
|
112
137
|
|
|
113
138
|
#### `slickenv diff <version-a> <version-b>`
|
|
114
139
|
|
|
@@ -120,78 +145,77 @@ slickenv diff 3 5
|
|
|
120
145
|
|
|
121
146
|
#### `slickenv rollback <version>`
|
|
122
147
|
|
|
123
|
-
Roll back to a previous version
|
|
148
|
+
Roll back to a previous version (non-destructive — creates a new version with the target's contents).
|
|
124
149
|
|
|
125
150
|
```bash
|
|
126
151
|
slickenv rollback 2 --yes
|
|
127
152
|
```
|
|
128
153
|
|
|
129
|
-
| Flag
|
|
130
|
-
|
|
|
131
|
-
|
|
|
154
|
+
| Flag | Description | Default |
|
|
155
|
+
| --- | --- | --- |
|
|
156
|
+
| `-y, --yes` | Auto-confirm rollback | `false` |
|
|
132
157
|
|
|
133
|
-
### Sharing
|
|
158
|
+
### Sharing & Export
|
|
134
159
|
|
|
135
160
|
#### `slickenv share`
|
|
136
161
|
|
|
137
162
|
Generate a shareable view of the current environment. Private values are masked by default.
|
|
138
163
|
|
|
139
164
|
```bash
|
|
140
|
-
slickenv share
|
|
141
|
-
slickenv share --public-only
|
|
142
|
-
slickenv share --reveal
|
|
165
|
+
slickenv share # masked private values
|
|
166
|
+
slickenv share --public-only # public variables only
|
|
167
|
+
slickenv share --reveal # show everything in plain text
|
|
143
168
|
```
|
|
144
169
|
|
|
145
|
-
| Flag
|
|
146
|
-
|
|
|
147
|
-
| `--public-only` | Show only public variables
|
|
148
|
-
| `--reveal`
|
|
170
|
+
| Flag | Description | Default |
|
|
171
|
+
| --- | --- | --- |
|
|
172
|
+
| `--public-only` | Show only public variables | `false` |
|
|
173
|
+
| `--reveal` | Show private values unmasked | `false` |
|
|
149
174
|
|
|
150
175
|
#### `slickenv export`
|
|
151
176
|
|
|
152
|
-
Generate a `.env.example`
|
|
177
|
+
Generate a `.env.example` with metadata annotations. Public values are included; private values show only examples or placeholders.
|
|
153
178
|
|
|
154
179
|
```bash
|
|
155
180
|
slickenv export --out .env.example
|
|
156
181
|
```
|
|
157
182
|
|
|
158
|
-
| Flag
|
|
159
|
-
|
|
|
160
|
-
| `--out` | Output file path
|
|
183
|
+
| Flag | Description | Default |
|
|
184
|
+
| --- | --- | --- |
|
|
185
|
+
| `--out` | Output file path | `.env.example` |
|
|
161
186
|
|
|
162
187
|
### Team Management
|
|
163
188
|
|
|
164
189
|
#### `slickenv members list`
|
|
165
190
|
|
|
166
|
-
List all members of the current project
|
|
191
|
+
List all members of the current project with their roles.
|
|
167
192
|
|
|
168
193
|
```bash
|
|
169
194
|
slickenv members list
|
|
170
|
-
slickenv members list --json
|
|
171
195
|
```
|
|
172
196
|
|
|
173
197
|
#### `slickenv members invite <email>`
|
|
174
198
|
|
|
175
|
-
Invite a user to the current project
|
|
199
|
+
Invite a user to the current project (they must already have a SlickEnv account).
|
|
176
200
|
|
|
177
201
|
```bash
|
|
178
|
-
slickenv members invite user@example.com
|
|
179
202
|
slickenv members invite user@example.com --role admin
|
|
180
|
-
slickenv members invite user@example.com --role viewer
|
|
181
203
|
```
|
|
182
204
|
|
|
183
|
-
| Flag
|
|
184
|
-
|
|
|
185
|
-
| `--role` | Role to assign
|
|
205
|
+
| Flag | Description | Options | Default |
|
|
206
|
+
| --- | --- | --- | --- |
|
|
207
|
+
| `--role` | Role to assign | `admin`, `member`, `viewer` | `member` |
|
|
186
208
|
|
|
187
209
|
**Roles:**
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
210
|
+
| Role | Permissions |
|
|
211
|
+
| --- | --- |
|
|
212
|
+
| **admin** | Full access including member management |
|
|
213
|
+
| **member** | Read and write access to environments |
|
|
214
|
+
| **viewer** | Read-only access |
|
|
191
215
|
|
|
192
216
|
#### `slickenv members remove <email>`
|
|
193
217
|
|
|
194
|
-
Remove a member from the current project
|
|
218
|
+
Remove a member from the current project.
|
|
195
219
|
|
|
196
220
|
```bash
|
|
197
221
|
slickenv members remove user@example.com
|
|
@@ -199,17 +223,19 @@ slickenv members remove user@example.com
|
|
|
199
223
|
|
|
200
224
|
### Global Flags
|
|
201
225
|
|
|
202
|
-
|
|
226
|
+
Available on all commands:
|
|
227
|
+
|
|
228
|
+
| Flag | Description |
|
|
229
|
+
| --- | --- |
|
|
230
|
+
| `--json` | Output as JSON |
|
|
231
|
+
| `--no-color` | Disable colored output |
|
|
232
|
+
| `--verbose` | Show debug information |
|
|
203
233
|
|
|
204
|
-
|
|
205
|
-
| ------------ | ----------------------- |
|
|
206
|
-
| `--json` | Output as JSON |
|
|
207
|
-
| `--no-color` | Disable colored output |
|
|
208
|
-
| `--verbose` | Show debug information |
|
|
234
|
+
---
|
|
209
235
|
|
|
210
236
|
## `.env` Metadata Annotations
|
|
211
237
|
|
|
212
|
-
|
|
238
|
+
Add metadata as comments above your variables to control encryption, type checking, and more:
|
|
213
239
|
|
|
214
240
|
```bash
|
|
215
241
|
# @visibility=public @type=string @required=true
|
|
@@ -217,46 +243,51 @@ APP_NAME=my-app
|
|
|
217
243
|
|
|
218
244
|
# @visibility=private @required=true @example=sk_live_xxx
|
|
219
245
|
STRIPE_SECRET_KEY=sk_live_abc123
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
| Annotation | Values | Default |
|
|
223
|
-
| ------------- | ----------------------------- | --------- |
|
|
224
|
-
| `@visibility` | `public`, `private` | `private` |
|
|
225
|
-
| `@type` | `string`, `number`, `boolean` | `string` |
|
|
226
|
-
| `@required` | `true`, `false` | `false` |
|
|
227
|
-
| `@example` | Any value | — |
|
|
228
246
|
|
|
229
|
-
|
|
247
|
+
# @visibility=public @type=number
|
|
248
|
+
PORT=3000
|
|
249
|
+
```
|
|
230
250
|
|
|
231
|
-
|
|
251
|
+
| Annotation | Values | Default |
|
|
252
|
+
| --- | --- | --- |
|
|
253
|
+
| `@visibility` | `public`, `private` | `private` |
|
|
254
|
+
| `@type` | `string`, `number`, `boolean` | `string` |
|
|
255
|
+
| `@required` | `true`, `false` | `false` |
|
|
256
|
+
| `@example` | Any value | — |
|
|
232
257
|
|
|
233
|
-
|
|
258
|
+
> **`private`** variables are encrypted client-side before syncing. **`public`** variables are stored as plaintext.
|
|
234
259
|
|
|
235
|
-
|
|
236
|
-
- **Encryption**: AES-256-GCM with a unique 12-byte IV per variable and 128-bit authentication tags
|
|
237
|
-
- **Token storage**: OS keychain via keytar, with a chmod 600 file fallback
|
|
238
|
-
- **Zero knowledge**: The server stores only ciphertext — it cannot read your private variables
|
|
260
|
+
---
|
|
239
261
|
|
|
240
262
|
## CI/CD
|
|
241
263
|
|
|
242
|
-
|
|
264
|
+
Authenticate non-interactively using the `SLICKENV_TOKEN` environment variable:
|
|
243
265
|
|
|
244
266
|
```bash
|
|
245
|
-
SLICKENV_TOKEN=your-token
|
|
267
|
+
export SLICKENV_TOKEN=your-token
|
|
268
|
+
slickenv pull --yes
|
|
246
269
|
```
|
|
247
270
|
|
|
248
|
-
|
|
271
|
+
Works with GitHub Actions, GitLab CI, CircleCI, and any CI/CD platform.
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Security
|
|
249
276
|
|
|
250
|
-
|
|
251
|
-
| ------------------- | ---------------------------- | --------------------------------- |
|
|
252
|
-
| `SLICKENV_API_URL` | Override the backend API URL | `https://apienv.slickspender.com` |
|
|
253
|
-
| `SLICKENV_AUTH_URL` | Override the auth website URL| `https://env.slickspender.com` |
|
|
254
|
-
| `SLICKENV_TOKEN` | Use a token directly (CI/CD)| — |
|
|
277
|
+
SlickEnv uses **client-side AES-256-GCM encryption** — private variables never leave your machine unencrypted.
|
|
255
278
|
|
|
256
|
-
|
|
279
|
+
| Layer | Detail |
|
|
280
|
+
| --- | --- |
|
|
281
|
+
| **Key derivation** | PBKDF2-SHA256 with 100,000 iterations |
|
|
282
|
+
| **Encryption** | AES-256-GCM with unique 12-byte IV per variable |
|
|
283
|
+
| **Auth tags** | 128-bit authentication tags for tamper detection |
|
|
284
|
+
| **Token storage** | OS keychain via keytar (chmod 600 file fallback) |
|
|
285
|
+
| **Server model** | Zero-knowledge — server stores only ciphertext |
|
|
257
286
|
|
|
258
|
-
|
|
287
|
+
---
|
|
259
288
|
|
|
260
|
-
|
|
289
|
+
<p align="center">
|
|
290
|
+
<a href="https://env.slickspender.com/docs">Documentation</a> · <a href="https://github.com/jjackofall/slickenv/issues">Report a Bug</a> · <a href="https://slickspender.com">SlickSpender</a>
|
|
291
|
+
</p>
|
|
261
292
|
|
|
262
|
-
MIT
|
|
293
|
+
<p align="center">MIT License — <a href="https://slickspender.com">SlickSpender</a></p>
|
package/dist/commands/push.js
CHANGED
|
@@ -59,7 +59,7 @@ export default class Push extends BaseCommand {
|
|
|
59
59
|
// Inject metadata comments into .env if any variables are missing them
|
|
60
60
|
const needsUpdate = parsed.some((v) => v.metadataWasInjected);
|
|
61
61
|
if (needsUpdate) {
|
|
62
|
-
const updated = serializeEnvFile(parsed);
|
|
62
|
+
const updated = serializeEnvFile(parsed, content);
|
|
63
63
|
await writeFile(envPath, updated, "utf8");
|
|
64
64
|
this.info(`Added metadata comments to ${flags.file}.`);
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IAEpE,MAAM,CAAU,QAAQ,GAAG;QACzB,eAAe;QACf,4CAA4C;QAC5C,6BAA6B;QAC7B,sCAAsC;KACvC,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,MAAM;SAChB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sCAAsC;SACpD,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CACP,mBAAmB,KAAK,CAAC,IAAI,IAAI;gBACjC,8DAA8D;gBAC9D,6CAA6C;gBAC7C,oCAAoC;gBACpC,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/parser.d.ts
CHANGED
|
@@ -11,8 +11,9 @@ import type { ParsedVariable } from "@slickenv/types";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function parseEnvFile(content: string): ParsedVariable[];
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* Inject metadata comments into the original .env content.
|
|
15
|
+
* Preserves all existing comments, blank lines, and formatting.
|
|
16
|
+
* Only adds a metadata comment above variables that don't already have one.
|
|
16
17
|
*/
|
|
17
|
-
export declare function serializeEnvFile(variables: ParsedVariable[]): string;
|
|
18
|
+
export declare function serializeEnvFile(variables: ParsedVariable[], originalContent?: string): string;
|
|
18
19
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/lib/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,iBAAiB,CAAC;AAsFxF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAuF9D;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,iBAAiB,CAAC;AAsFxF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAuF9D;AAcD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAkD9F"}
|
package/dist/lib/parser.js
CHANGED
|
@@ -148,22 +148,64 @@ export function parseEnvFile(content) {
|
|
|
148
148
|
return variables;
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
152
|
-
* Ensures every variable has its metadata annotation above it.
|
|
151
|
+
* Build a metadata comment line for a variable.
|
|
153
152
|
*/
|
|
154
|
-
|
|
155
|
-
const
|
|
153
|
+
function buildMetadataComment(v) {
|
|
154
|
+
const meta = [];
|
|
155
|
+
meta.push(`@visibility=${v.visibility}`);
|
|
156
|
+
meta.push(`@type=${v.type}`);
|
|
157
|
+
if (v.required)
|
|
158
|
+
meta.push(`@required=true`);
|
|
159
|
+
if (v.example)
|
|
160
|
+
meta.push(`@example=${v.example}`);
|
|
161
|
+
return `# ${meta.join(" ")}`;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Inject metadata comments into the original .env content.
|
|
165
|
+
* Preserves all existing comments, blank lines, and formatting.
|
|
166
|
+
* Only adds a metadata comment above variables that don't already have one.
|
|
167
|
+
*/
|
|
168
|
+
export function serializeEnvFile(variables, originalContent) {
|
|
169
|
+
// If no original content, generate from scratch
|
|
170
|
+
if (!originalContent) {
|
|
171
|
+
const lines = [];
|
|
172
|
+
for (const v of variables) {
|
|
173
|
+
lines.push(buildMetadataComment(v));
|
|
174
|
+
lines.push(`${v.key}=${v.value}`);
|
|
175
|
+
}
|
|
176
|
+
return lines.join("\n") + "\n";
|
|
177
|
+
}
|
|
178
|
+
// Build a map of variables that need metadata injected
|
|
179
|
+
const needsMetadata = new Map();
|
|
156
180
|
for (const v of variables) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
181
|
+
if (v.metadataWasInjected) {
|
|
182
|
+
needsMetadata.set(v.key, v);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const originalLines = originalContent.split("\n");
|
|
186
|
+
const result = [];
|
|
187
|
+
for (let i = 0; i < originalLines.length; i++) {
|
|
188
|
+
const line = originalLines[i];
|
|
189
|
+
const trimmed = line.trim();
|
|
190
|
+
// Check if this line is a KEY=VALUE line
|
|
191
|
+
let kvLine = trimmed;
|
|
192
|
+
if (kvLine.startsWith("export ")) {
|
|
193
|
+
kvLine = kvLine.slice(7);
|
|
194
|
+
}
|
|
195
|
+
const eqIndex = kvLine.indexOf("=");
|
|
196
|
+
if (trimmed !== "" && !trimmed.startsWith("#") && eqIndex !== -1) {
|
|
197
|
+
const key = kvLine.slice(0, eqIndex).trim();
|
|
198
|
+
const varInfo = needsMetadata.get(key);
|
|
199
|
+
if (varInfo) {
|
|
200
|
+
// Insert metadata comment above this variable
|
|
201
|
+
result.push(buildMetadataComment(varInfo));
|
|
202
|
+
needsMetadata.delete(key);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
result.push(line);
|
|
166
206
|
}
|
|
167
|
-
|
|
207
|
+
// Ensure file ends with a newline
|
|
208
|
+
const output = result.join("\n");
|
|
209
|
+
return output.endsWith("\n") ? output : output + "\n";
|
|
168
210
|
}
|
|
169
211
|
//# sourceMappingURL=parser.js.map
|
package/dist/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED