Skip to content

Commit 360227d

Browse files
committed
sdk work
1 parent fa03406 commit 360227d

30 files changed

Lines changed: 562 additions & 156 deletions

_data/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cli_crumbs:
1111
sdk_crumbs:
1212
- label: Docs
1313
href: /docs/introduction
14-
- label: SDK
14+
- label: SDKs
1515
href: /docs/sdk
1616

1717
# Top-level CLI commands in index order. Pager walks each command,

docs/advanced/index.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -404,64 +404,64 @@ layout: radar
404404

405405
{% capture advanced_library_items %}
406406
<li>
407-
<a class="design-link" href="/docs/sdk/config">config()</a>
407+
<a class="design-link" href="/docs/sdk/nodejs/config">config()</a>
408408
</li>
409409
<li>
410-
<a class="design-link" href="/docs/sdk/config-path">config(path: ['.env.local', '.env'])</a>
410+
<a class="design-link" href="/docs/sdk/nodejs/config-path">config(path: ['.env.local', '.env'])</a>
411411
</li>
412412
<li>
413-
<a class="design-link" href="/docs/sdk/config-overload">config(overload: true)</a>
413+
<a class="design-link" href="/docs/sdk/nodejs/config-overload">config(overload: true)</a>
414414
</li>
415415
<li>
416-
<a class="design-link" href="/docs/sdk/config-mask">config(mask: true)</a>
416+
<a class="design-link" href="/docs/sdk/nodejs/config-mask">config(mask: true)</a>
417417
</li>
418418
<li>
419-
<a class="design-link" href="/docs/sdk/config-quiet">config(quiet: true)</a>
419+
<a class="design-link" href="/docs/sdk/nodejs/config-quiet">config(quiet: true)</a>
420420
</li>
421421
<li>
422-
<a class="design-link" href="/docs/sdk/config-strict">config(strict: true)</a>
422+
<a class="design-link" href="/docs/sdk/nodejs/config-strict">config(strict: true)</a>
423423
</li>
424424
<li>
425-
<a class="design-link" href="/docs/sdk/config-ignore">config(ignore: ['.env.missing', '.env'])</a>
425+
<a class="design-link" href="/docs/sdk/nodejs/config-ignore">config(ignore: ['.env.missing', '.env'])</a>
426426
</li>
427427
<li>
428-
<a class="design-link" href="/docs/sdk/config-env-keys-file">config(envKeysFile: '../../.env.keys')</a>
428+
<a class="design-link" href="/docs/sdk/nodejs/config-env-keys-file">config(envKeysFile: '../../.env.keys')</a>
429429
</li>
430430
<li>
431-
<a class="design-link" href="/docs/sdk/config-convention">config(convention: 'nextjs')</a>
431+
<a class="design-link" href="/docs/sdk/nodejs/config-convention">config(convention: 'nextjs')</a>
432432
</li>
433433
<li>
434-
<a class="design-link" href="/docs/sdk/config-path-directory-convention">config(path: directory, convention: 'nextjs')</a>
434+
<a class="design-link" href="/docs/sdk/nodejs/config-path-directory-convention">config(path: directory, convention: 'nextjs')</a>
435435
</li>
436436
<li>
437-
<a class="design-link" href="/docs/sdk/config-no-armor">config(noArmor: true)</a>
437+
<a class="design-link" href="/docs/sdk/nodejs/config-no-armor">config(noArmor: true)</a>
438438
</li>
439439
<li>
440-
<a class="design-link" href="/docs/sdk/config-no-1password">config(no1Password: true)</a>
440+
<a class="design-link" href="/docs/sdk/nodejs/config-no-1password">config(no1Password: true)</a>
441441
</li>
442442
<li>
443-
<a class="design-link" href="/docs/sdk/config-no-bitwarden">config(noBitwarden: true)</a>
443+
<a class="design-link" href="/docs/sdk/nodejs/config-no-bitwarden">config(noBitwarden: true)</a>
444444
</li>
445445
<li>
446-
<a class="design-link" href="/docs/sdk/parse">parse(src)</a>
446+
<a class="design-link" href="/docs/sdk/nodejs/parse">parse(src)</a>
447447
</li>
448448
<li>
449-
<a class="design-link" href="/docs/sdk/parse-process-env">parse(src, {processEnv:})</a>
449+
<a class="design-link" href="/docs/sdk/nodejs/parse-process-env">parse(src, {processEnv:})</a>
450450
</li>
451451
<li>
452-
<a class="design-link" href="/docs/sdk/parse-private-key">parse(src, {privateKey:})</a>
452+
<a class="design-link" href="/docs/sdk/nodejs/parse-private-key">parse(src, {privateKey:})</a>
453453
</li>
454454
<li>
455-
<a class="design-link" href="/docs/sdk/config-set-key-value">set(KEY, value)</a>
455+
<a class="design-link" href="/docs/sdk/nodejs/config-set-key-value">set(KEY, value)</a>
456456
</li>
457457
<li>
458-
<a class="design-link" href="/docs/sdk/config-set-key-value-plain">set(KEY, value, {plain: true})</a>
458+
<a class="design-link" href="/docs/sdk/nodejs/config-set-key-value-plain">set(KEY, value, {plain: true})</a>
459459
</li>
460460
<li>
461-
<a class="design-link" href="/docs/sdk/config-get-key">get(KEY)</a>
461+
<a class="design-link" href="/docs/sdk/nodejs/config-get-key">get(KEY)</a>
462462
</li>
463463
<li>
464-
<a class="design-link" href="/docs/sdk/get-mask">get(KEY, {mask: true})</a>
464+
<a class="design-link" href="/docs/sdk/nodejs/get-mask">get(KEY, {mask: true})</a>
465465
</li>
466466
{% endcapture %}
467467

docs/introduction.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,11 @@ layout: radar
141141
<div class="docs-intro-cards">
142142
<p class="design-list-title">SDKs</p>
143143
<div class="design-settings-grid">
144-
{% include components/design-settings-tile.html href="/docs/sdk/config" label="config" glyph="{}" glyph_class="design-settings-tile-glyph--soft" %}
145-
{% include components/design-settings-tile.html href="/docs/sdk/parse" label="parse" glyph="</>" glyph_class="design-settings-tile-glyph--soft" %}
146-
{% include components/design-settings-tile.html href="/docs/sdk" label="Full Reference" glyph="…" glyph_class="design-settings-tile-glyph--soft" %}
144+
{% include components/design-settings-tile.html href="/docs/sdk/nodejs" label="Node" icon="nodejs" %}
145+
{% include components/design-settings-tile.html href="/docs/sdk/python" label="Python" icon="python" %}
146+
{% include components/design-settings-tile.html href="/docs/sdk/ruby" label="Ruby" icon="ruby" %}
147+
{% include components/design-settings-tile.html href="/docs/sdk/rust" label="Rust" icon="rust" %}
148+
{% include components/design-settings-tile.html href="/docs/sdk" label="All SDKs" glyph="…" glyph_class="design-settings-tile-glyph--soft" %}
147149
</div>
148150
</div>
149151
</div>

docs/sdk/index.md

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: SDK
2+
title: SDKs
33
permalink: /docs/sdk/
44
redirect_from:
55
- /docs/ref/sdk
@@ -9,69 +9,26 @@ redirect_from:
99
layout: radar
1010
---
1111

12-
<style>
13-
.docs-hero-ascii {
14-
align-items: center;
15-
display: flex;
16-
height: 100%;
17-
justify-content: center;
18-
min-height: inherit;
19-
width: 100%;
20-
}
21-
22-
.docs-hero-ascii-art {
23-
color: var(--design-ink);
24-
font-family: var(--design-font-mono);
25-
font-size: var(--design-text-title);
26-
font-weight: 400;
27-
letter-spacing: 0.02em;
28-
line-height: 1;
29-
margin: 0;
30-
text-align: center;
31-
user-select: none;
32-
white-space: pre;
33-
}
34-
35-
@media (min-width: 900px) {
36-
.docs-hero-ascii {
37-
height: 100%;
38-
min-height: inherit;
39-
}
40-
}
41-
42-
</style>
43-
44-
{% capture docs_hero_visual %}
45-
<div class="docs-hero-ascii" aria-hidden="true">
46-
<pre class="docs-hero-ascii-art">&lt;docs/&gt;</pre>
47-
</div>
48-
{% endcapture %}
49-
50-
{% include components/design-hero.html
51-
class="company-design-hero docs-design-hero"
52-
12+
{% include components/docs-hero.html
5313
eyebrow="Docs"
54-
eyebrow_href="/docs/introduction"
55-
title="SDK"
56-
description="Load and manage encrypted env from Node.js."
57-
visual=docs_hero_visual
14+
title="SDKs"
15+
description="Load and manage encrypted env from your language."
16+
mark="<sdk/>"
5817
%}
5918

60-
{% capture sdk_methods_items %}
61-
<li><a class="design-link" href="/docs/sdk/config">config</a></li>
62-
<li><a class="design-link" href="/docs/sdk/parse">parse</a></li>
63-
<li><a class="design-link" href="/docs/sdk/config-set-key-value">set</a></li>
64-
<li><a class="design-link" href="/docs/sdk/config-get-key">get</a></li>
65-
{% endcapture %}
66-
6719
<section class="radar-section">
6820
<div class="armor-shell">
69-
<div class="docs-sdk-lists">
21+
<div class="docs-cli-lists">
7022
{% capture step_content %}
71-
{% include components/design-list.html
72-
title="Methods"
73-
items=sdk_methods_items
74-
%}
23+
<div class="docs-cli-cards">
24+
<p class="design-list-title">Languages</p>
25+
<div class="design-settings-grid">
26+
{% include components/design-settings-tile.html href="/docs/sdk/nodejs" label="Node" icon="nodejs" %}
27+
{% include components/design-settings-tile.html href="/docs/sdk/python" label="Python" icon="python" %}
28+
{% include components/design-settings-tile.html href="/docs/sdk/ruby" label="Ruby" icon="ruby" %}
29+
{% include components/design-settings-tile.html href="/docs/sdk/rust" label="Rust" icon="rust" %}
30+
</div>
31+
</div>
7532
{% endcapture %}
7633
{% include components/design-step.html content=step_content %}
7734
</div>

docs/sdk/nodejs.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
title: Node
3+
description: Load and manage encrypted env from Node.js.
4+
permalink: /docs/sdk/nodejs/
5+
layout: radar
6+
---
7+
8+
{% include components/docs-hero.html
9+
eyebrow="SDKs"
10+
eyebrow_href="/docs/sdk"
11+
title="Node"
12+
description="Load and manage encrypted env from Node.js."
13+
icon="nodejs"
14+
%}
15+
16+
<div class="armor-shell">
17+
<section class="docs-quickstart-body">
18+
{% capture step_content %}
19+
<h2 class="design-page-title design-page-title--flush">Packages</h2>
20+
<div class="design-list">
21+
<ul class="design-list-items">
22+
<li>
23+
<a class="design-link" href="https://www.npmjs.com/package/@dotenvx/dotenvx" target="_blank" rel="noopener noreferrer">@dotenvx/dotenvx</a>
24+
<span class="design-list-meta">npm</span>
25+
</li>
26+
<li>
27+
<a class="design-link" href="https://www.npmjs.com/package/@dotenvx/next-env" target="_blank" rel="noopener noreferrer">@dotenvx/next-env</a>
28+
<span class="design-list-meta">Next.js</span>
29+
</li>
30+
<li>
31+
<a class="design-link" href="/docs/sdk/nodejs/primitives/">@dotenvx/primitives</a>
32+
<span class="design-list-meta">primitives</span>
33+
</li>
34+
</ul>
35+
</div>
36+
{% endcapture %}
37+
{% include components/design-step.html content=step_content %}
38+
39+
{% capture step_content %}
40+
<h2 class="design-page-title design-page-title--flush">Install</h2>
41+
{% capture sdk_node_install %}
42+
$ npm install @dotenvx/dotenvx
43+
{% endcapture %}
44+
{% include components/design-codeblock.html value=sdk_node_install copy_text="npm install @dotenvx/dotenvx" %}
45+
{% endcapture %}
46+
{% include components/design-step.html content=step_content %}
47+
48+
{% capture step_content %}
49+
{% capture sdk_methods_items %}
50+
<li><a class="design-link" href="/docs/sdk/nodejs/config/">config</a></li>
51+
<li><a class="design-link" href="/docs/sdk/nodejs/parse/">parse</a></li>
52+
<li><a class="design-link" href="/docs/sdk/nodejs/config-set-key-value/">set</a></li>
53+
<li><a class="design-link" href="/docs/sdk/nodejs/config-get-key/">get</a></li>
54+
{% endcapture %}
55+
{% include components/design-list.html
56+
title="Methods"
57+
items=sdk_methods_items
58+
%}
59+
{% endcapture %}
60+
{% include components/design-step.html content=step_content %}
61+
62+
{% capture step_content %}
63+
<h2 class="design-page-title design-page-title--flush">next-env</h2>
64+
<p class="design-paragraph"><a class="design-link" href="https://www.npmjs.com/package/@dotenvx/next-env" target="_blank" rel="noopener noreferrer"><code class="design-code">@dotenvx/next-env</code></a> is a drop-in replacement for Next.js <code class="design-code">@next/env</code>, so encrypted dotenvx files load during Next’s own environment step.</p>
65+
66+
{% capture sdk_next_env %}
67+
{
68+
"dependencies": {
69+
"@dotenvx/next-env": "^2.0.0",
70+
"next": "^16.0.0"
71+
},
72+
"overrides": {
73+
"@next/env": "npm:@dotenvx/next-env"
74+
}
75+
}
76+
{% endcapture %}
77+
{% include components/design-codeblock.html value=sdk_next_env copy=false %}
78+
{% endcapture %}
79+
{% include components/design-step.html content=step_content %}
80+
</section>
81+
</div>
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,30 @@
11
---
22
layout: docs-cli
3+
eyebrow: Node
4+
eyebrow_href: /docs/sdk/nodejs/
35
title: "config(convention: 'nextjs')"
46
description: Use convention in node.js code.
5-
permalink: /docs/sdk/config-convention/
7+
permalink: /docs/sdk/nodejs/config-convention/
68
redirect_from:
9+
- /docs/sdk/config-convention
10+
- /docs/sdk/config-convention/
711
- /docs/advanced/config-convention
812
- /docs/advanced/config-convention/
913
- /docs/ref/sdk/config-convention
1014
- /docs/ref/sdk/config-convention/
1115
crumbs:
1216
- label: Docs
1317
href: /docs/introduction
14-
- label: SDK
18+
- label: SDKs
1519
href: /docs/sdk
20+
- label: Node
21+
href: /docs/sdk/nodejs
1622
- label: config
17-
href: /docs/sdk/config/
23+
href: /docs/sdk/nodejs/config/
1824
---
1925
<p class="design-paragraph">Set a convention when using <code class="design-code">dotenvx.config()</code>. This allows you to use the same file loading order as the CLI without needing to specify each file individually.</p>
2026

21-
<p class="design-paragraph">To load a convention from another directory, see <a class="design-link" href="/docs/sdk/config-path-directory-convention"><code class="design-code">config(path: directory, convention: 'nextjs')</code></a>.</p>
27+
<p class="design-paragraph">To load a convention from another directory, see <a class="design-link" href="/docs/sdk/nodejs/config-path-directory-convention"><code class="design-code">config(path: directory, convention: 'nextjs')</code></a>.</p>
2228

2329
<h2 class="design-page-title">Next.js convention</h2>
2430

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
11
---
22
layout: docs-cli
3+
eyebrow: Node
4+
eyebrow_href: /docs/sdk/nodejs/
35
title: "config(envKeysFile: '../../.env.keys')"
46
description: Use envKeysFile to customize the path to your .env.keys file. This is useful with monorepos.
5-
permalink: /docs/sdk/config-env-keys-file/
7+
permalink: /docs/sdk/nodejs/config-env-keys-file/
68
redirect_from:
9+
- /docs/sdk/config-env-keys-file
10+
- /docs/sdk/config-env-keys-file/
711
- /docs/advanced/config-env-keys-file
812
- /docs/advanced/config-env-keys-file/
913
- /docs/ref/sdk/config-env-keys-file
1014
- /docs/ref/sdk/config-env-keys-file/
1115
crumbs:
1216
- label: Docs
1317
href: /docs/introduction
14-
- label: SDK
18+
- label: SDKs
1519
href: /docs/sdk
20+
- label: Node
21+
href: /docs/sdk/nodejs
1622
- label: config
17-
href: /docs/sdk/config/
23+
href: /docs/sdk/nodejs/config/
1824
---
1925
{% capture sdk_code_0 %}
2026
# .env
Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
---
22
layout: docs-cli
3+
eyebrow: Node
4+
eyebrow_href: /docs/sdk/nodejs/
5+
command: "get()"
36
title: get
47
description: Programmatically get an environment variable at access/runtime.
5-
permalink: /docs/sdk/config-get-key/
8+
permalink: /docs/sdk/nodejs/config-get-key/
69
redirect_from:
10+
- /docs/sdk/config-get-key
11+
- /docs/sdk/config-get-key/
712
- /docs/sdk/get
813
- /docs/sdk/get/
914
- /docs/advanced/config-get-key
@@ -17,12 +22,14 @@ redirect_from:
1722
crumbs:
1823
- label: Docs
1924
href: /docs/introduction
20-
- label: SDK
25+
- label: SDKs
2126
href: /docs/sdk
27+
- label: Node
28+
href: /docs/sdk/nodejs
2229
options_title: Options
2330
options:
2431
- title: "get(KEY, {mask: true})"
25-
href: /docs/sdk/get-mask/
32+
href: /docs/sdk/nodejs/get-mask/
2633
---
2734
{% capture sdk_code_0 %}
2835
// index.js

0 commit comments

Comments
 (0)