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 CHANGED
@@ -1,23 +1,50 @@
1
- # SlickEnv
1
+ <p align="center">
2
+ <img src="https://env.slickspender.com/icon.svg" alt="SlickEnv" width="80" />
3
+ </p>
2
4
 
3
- **By [SlickSpender](https://slickspender.com)**
5
+ <h1 align="center">SlickEnv</h1>
4
6
 
5
- Securely manage, sync, and version `.env` files across your team with end-to-end encryption.
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
- - **Team management** — Invite members with role-based access (admin, member, viewer)
11
- - **Zero plaintext on server** — The server never sees your unencrypted secrets
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
- # or
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 | Description |
45
- | ------------------ | ------------------------------------------------ |
46
- | `slickenv login` | Authenticate via browser OAuth (stored in OS keychain) |
47
- | `slickenv logout` | Revoke your token and clear local credentials |
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 | Description | Default |
60
- | ------- | -------------------------- | ----------------- |
61
- | `--name`| Project name | Current directory |
62
- | `--env` | Default environment label | `production` |
84
+ | Flag | Description | Default |
85
+ | --- | --- | --- |
86
+ | `--name` | Project name | Current directory name |
87
+ | `--env` | Default environment label | `production` |
63
88
 
64
- ### Syncing
89
+ ### Push & Pull
65
90
 
66
91
  #### `slickenv push`
67
92
 
68
- Push local `.env` changes to SlickEnv. Private variables are encrypted before upload.
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 | Description | Default |
75
- | --------------- | -------------------------- | -------- |
76
- | `--file` | Path to env file | `.env` |
77
- | `--force` | Skip conflict check | `false` |
78
- | `--message, -m` | Version description | — |
79
- | `--yes, -y` | Auto-confirm prompts | `false` |
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 | Description | Default |
90
- | ----------- | -------------------------------- | -------- |
91
- | `--version` | Pull a specific version | latest |
92
- | `--dry-run` | Preview without writing to disk | `false` |
93
- | `--yes, -y` | Auto-confirm overwrite | `false` |
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 | Description | Default |
110
- | --------- | ------------------- | ------- |
111
- | `--limit` | Number of versions | `20` |
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. This is non-destructive — it creates a new version with the contents of the target 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 | Description | Default |
130
- | ----------- | ---------------------- | ------- |
131
- | `--yes, -y` | Auto-confirm rollback | `false` |
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 | Description | Default |
146
- | --------------- | ------------------------------ | ------- |
147
- | `--public-only` | Show only public variables | `false` |
148
- | `--reveal` | Show private values in plain | `false` |
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` file with metadata annotations. Public variables include their values; private variables show only examples or placeholders.
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 | Description | Default |
159
- | ------- | ----------------- | -------------- |
160
- | `--out` | Output file path | `.env.example` |
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, including their roles.
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. The user must already have a SlickEnv account.
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 | Description | Options | Default |
184
- | -------- | --------------- | --------------------------- | -------- |
185
- | `--role` | Role to assign | `admin`, `member`, `viewer` | `member` |
205
+ | Flag | Description | Options | Default |
206
+ | --- | --- | --- | --- |
207
+ | `--role` | Role to assign | `admin`, `member`, `viewer` | `member` |
186
208
 
187
209
  **Roles:**
188
- - **admin** Full access including member management
189
- - **member** Read and write access to environments
190
- - **viewer** Read-only access
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 (with confirmation).
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
- All commands support:
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
- | Flag | Description |
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
- SlickEnv supports metadata annotations as comments above your variables:
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
- Variables marked `private` are encrypted client-side before syncing. Variables marked `public` are stored in plaintext.
247
+ # @visibility=public @type=number
248
+ PORT=3000
249
+ ```
230
250
 
231
- ## Security
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
- SlickEnv uses **client-side AES-256-GCM encryption** so private variables never leave your machine unencrypted.
258
+ > **`private`** variables are encrypted client-side before syncing. **`public`** variables are stored as plaintext.
234
259
 
235
- - **Key derivation**: PBKDF2-SHA256 (100,000 iterations) using your user identity, project ID, and a server-side salt
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
- Set the `SLICKENV_TOKEN` environment variable to authenticate non-interactively:
264
+ Authenticate non-interactively using the `SLICKENV_TOKEN` environment variable:
243
265
 
244
266
  ```bash
245
- SLICKENV_TOKEN=your-token slickenv pull --yes
267
+ export SLICKENV_TOKEN=your-token
268
+ slickenv pull --yes
246
269
  ```
247
270
 
248
- ## Environment Variables
271
+ Works with GitHub Actions, GitLab CI, CircleCI, and any CI/CD platform.
272
+
273
+ ---
274
+
275
+ ## Security
249
276
 
250
- | Variable | Description | Default |
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
- ## Documentation
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
- Full documentation at [env.slickspender.com/docs](https://env.slickspender.com/docs).
287
+ ---
259
288
 
260
- ## License
289
+ <p align="center">
290
+ <a href="https://env.slickspender.com/docs">Documentation</a> &middot; <a href="https://github.com/jjackofall/slickenv/issues">Report a Bug</a> &middot; <a href="https://slickspender.com">SlickSpender</a>
291
+ </p>
261
292
 
262
- MIT [SlickSpender](https://slickspender.com)
293
+ <p align="center">MIT License &mdash; <a href="https://slickspender.com">SlickSpender</a></p>
@@ -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":"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"}
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,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,8BAA8B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAqB,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;SACzC,CAAQ,CAAC;QAEV,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC1F,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAa,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAExE,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mBAA0B,EAAE;gBAC5D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;gBACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;aAC9C,CAAQ,CAAC;YAEV,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkF,CAAC;gBAC5G,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAClC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;oBACrB,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5B,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;oBACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACpG,CAAC;gBAED,MAAM,UAAU,GACd,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI;oBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAChB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;oBACtH,CAAC,CAAC,CAAC;gBAEL,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAwB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACjD,OAAO;oBACL,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,IAAI;oBACjB,EAAE;oBACF,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAEpF,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAChD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,mBAA0B,EAAE;YAC/D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;YACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;YAC7C,SAAS;YACT,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SAChF,CAAQ,CAAC;QAEV,uCAAuC;QACvC,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC;YAC7C,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7G,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAW;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,wBAA+B,EAAE;gBACjE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;gBACxC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB;aAC9C,CAAQ,CAAC;YACV,OAAO,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC"}
@@ -11,8 +11,9 @@ import type { ParsedVariable } from "@slickenv/types";
11
11
  */
12
12
  export declare function parseEnvFile(content: string): ParsedVariable[];
13
13
  /**
14
- * Serialize parsed variables back to .env format with metadata comments.
15
- * Ensures every variable has its metadata annotation above it.
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
@@ -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;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAcpE"}
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"}
@@ -148,22 +148,64 @@ export function parseEnvFile(content) {
148
148
  return variables;
149
149
  }
150
150
  /**
151
- * Serialize parsed variables back to .env format with metadata comments.
152
- * Ensures every variable has its metadata annotation above it.
151
+ * Build a metadata comment line for a variable.
153
152
  */
154
- export function serializeEnvFile(variables) {
155
- const lines = [];
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
- const meta = [];
158
- meta.push(`@visibility=${v.visibility}`);
159
- meta.push(`@type=${v.type}`);
160
- if (v.required)
161
- meta.push(`@required=true`);
162
- if (v.example)
163
- meta.push(`@example=${v.example}`);
164
- lines.push(`# ${meta.join(" ")}`);
165
- lines.push(`${v.key}=${v.value}`);
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
- return lines.join("\n") + "\n";
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
@@ -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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"}
@@ -747,5 +747,5 @@
747
747
  ]
748
748
  }
749
749
  },
750
- "version": "1.0.0"
750
+ "version": "1.0.110"
751
751
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slickenv",
3
- "version": "1.0.0",
3
+ "version": "1.0.110",
4
4
  "description": "Securely manage, sync, and version .env files across your team with end-to-end encryption",
5
5
  "type": "module",
6
6
  "license": "MIT",