arkenv 1.0.0-alpha.2 → 1.0.0-alpha.3

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,104 +1,44 @@
1
- <p align="center">
2
- <a href="https://github.com/yamcodes/arkenv/blob/main/apps/www/public/assets/icon.svg"><img alt="ArkEnv Logo" src="https://arkenv.js.org/assets/icon.svg" width="160px" align="center"/></a>
3
- <h1 align="center">ArkEnv</h1>
4
- <div align="center">
5
- <p align="center">
6
- Environment variable validation from editor to runtime<br/> for <a href="https://nextjs.org/">Next.js</a>, <a href="https://nuxt.com/">Nuxt</a>, <a href="https://nodejs.org/">Node.js</a>, <a href="https://vite.dev/">Vite</a>, and <a href="https://bun.com/">Bun</a>
7
- </p>
8
- <a href="https://github.com/yamcodes/arkenv/actions/workflows/test.yml?query=branch%3Amain"><img alt="Test Status" src="https://github.com/yamcodes/arkenv/actions/workflows/tests-badge.yml/badge.svg?branch=main"></a>
9
- <a href="https://bundlephobia.com/package/arkenv"><img alt="npm bundle size" src="https://img.shields.io/bundlephobia/minzip/arkenv"></a>
10
- <a href="https://arktype.io/docs/ecosystem#arkenv"><img alt="ArkType Ecosystem" src="https://custom-icon-badges.demolab.com/badge/ArkType%20Ecosystem-0d1526?logo=arktype2&logoColor=e9eef9"></a>
11
- <a href="https://pullfrog.com"><img alt="Pullfrog" src="https://custom-icon-badges.demolab.com/badge/Powered%20by%20Pullfrog-2f4032?logo=pullfrog-white"></a>
12
- </div>
13
- </p>
14
-
15
- <div align="center">
16
- <a href="https://arkenv.js.org/docs/arkenv">Docs</a>
17
- <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
18
- <a href="https://arkenv.js.org/docs/arkenv/faq">FAQ</a>
19
- <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
20
- <a href="https://stackblitz.com/github/yamcodes/arkenv/tree/main/examples/stackblitz?file=index.ts">Try on StackBlitz</a>
21
- <br />
22
- </div>
1
+ # `arkenv` (CLI)
23
2
 
24
- <br />
25
- <br />
3
+ The interactive, zero-dependency scaffolding experience for the [ArkEnv](https://arkenv.js.org) ecosystem.
26
4
 
27
- <p align="center">
28
- <img alt="ArkEnv Demo" src="https://arkenv.js.org/assets/demo.gif" />
29
- </p>
5
+ <br />
30
6
 
31
7
  <br />
32
8
 
9
+ <br />
33
10
 
11
+ ## [Read the docs →](https://arkenv.js.org/docs/CLI)
34
12
 
35
- <details open>
36
- <summary>npm</summary>
13
+ <br />
37
14
 
38
15
  ```sh
39
- npx @arkenv/cli@latest init
16
+ npx arkenv@latest init
40
17
  ```
41
18
 
42
- </details>
19
+ ## Related
43
20
 
44
- <details>
45
- <summary>pnpm</summary>
21
+ - [ArkEnv](https://arkenv.js.org) - Core library and docs
22
+ - [ArkType](https://arktype.io/) - Underlying validator / type system
46
23
 
47
- ```sh
48
- pnx @arkenv/cli@latest init
49
- ```
50
-
51
- </details>
24
+ ## Architecture & development
52
25
 
53
- <details>
54
- <summary>Yarn</summary>
26
+ This CLI is built with a port-and-adapter architecture to remain flexible and testable. See [ARCHITECTURE.md](./ARCHITECTURE.md) for details on the codebase design, architecture rules, and how to use the interactive testing scripts.
55
27
 
56
- ```sh
57
- yarn dlx @arkenv/cli@latest init
58
- ```
28
+ ### Running the local CLI
59
29
 
60
- </details>
61
-
62
- <details>
63
- <summary>Bun</summary>
30
+ To run your local changes to the CLI from anywhere inside this repository:
64
31
 
65
32
  ```sh
66
- bunx @arkenv/cli@latest init
33
+ pnpm arkenv [command]
67
34
  ```
68
35
 
69
- </details>
70
-
71
- <br />
72
-
73
- ### [Read the docs →](https://arkenv.js.org/docs/ArkEnv/quickstart)
74
-
75
- <br />
76
-
77
- ## Supporting ArkEnv
78
-
79
- If you love ArkEnv, you can support the project by **starring it on GitHub**!
80
-
81
- You are also welcome to [contribute to the project](https://github.com/yamcodes/arkenv/blob/main/docs/CONTRIBUTING.md) and join the wonderful people who have contributed:
36
+ This root workspace script will automatically rebuild `arkenv` (CLI) and execute the built bundle via Node.
82
37
 
83
- <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
84
- <!-- prettier-ignore-start -->
85
- <!-- markdownlint-disable -->
86
- <table>
87
- <tbody>
88
- <tr>
89
- <td align="center" valign="top" width="14.28%"><a href="https://yam.codes"><img src="https://avatars.githubusercontent.com/u/2014360?v=4?s=100" width="100px;" alt="Yam C Borodetsky"/><br /><sub><b>Yam C Borodetsky</b></sub></a><br /><a href="https://github.com/yamcodes/arkenv/commits?author=yamcodes" title="Code">💻</a> <a href="#question-yamcodes" title="Answering Questions">💬</a> <a href="#ideas-yamcodes" title="Ideas, Planning, & Feedback">🤔</a> <a href="#design-yamcodes" title="Design">🎨</a> <a href="https://github.com/yamcodes/arkenv/commits?author=yamcodes" title="Documentation">📖</a> <a href="https://github.com/yamcodes/arkenv/issues?q=author%3Ayamcodes" title="Bug reports">🐛</a> <a href="#example-yamcodes" title="Examples">💡</a> <a href="#infra-yamcodes" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/yamcodes/arkenv/commits?author=yamcodes" title="Tests">⚠️</a></td>
90
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/aruaycodes"><img src="https://avatars.githubusercontent.com/u/57131628?v=4?s=100" width="100px;" alt="Aruay Berdikulova"/><br /><sub><b>Aruay Berdikulova</b></sub></a><br /><a href="https://github.com/yamcodes/arkenv/commits?author=aruaycodes" title="Code">💻</a> <a href="#ideas-aruaycodes" title="Ideas, Planning, & Feedback">🤔</a></td>
91
- <td align="center" valign="top" width="14.28%"><a href="https://arktype.io"><img src="https://avatars.githubusercontent.com/u/10645823?v=4?s=100" width="100px;" alt="David Blass"/><br /><sub><b>David Blass</b></sub></a><br /><a href="#ideas-ssalbdivad" title="Ideas, Planning, & Feedback">🤔</a> <a href="#mentoring-ssalbdivad" title="Mentoring">🧑‍🏫</a> <a href="#question-ssalbdivad" title="Answering Questions">💬</a></td>
92
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/danciudev"><img src="https://avatars.githubusercontent.com/u/44430251?v=4?s=100" width="100px;" alt="Andrei Danciu"/><br /><sub><b>Andrei Danciu</b></sub></a><br /><a href="https://github.com/yamcodes/arkenv/commits?author=danciudev" title="Code">💻</a></td>
93
- <td align="center" valign="top" width="14.28%"><a href="https://joakim.beng.se"><img src="https://avatars.githubusercontent.com/u/1427383?v=4?s=100" width="100px;" alt="Joakim Carlstein"/><br /><sub><b>Joakim Carlstein</b></sub></a><br /><a href="https://github.com/yamcodes/arkenv/commits?author=joakimbeng" title="Code">💻</a> <a href="https://github.com/yamcodes/arkenv/commits?author=joakimbeng" title="Documentation">📖</a></td>
94
- <td align="center" valign="top" width="14.28%"><a href="https://fresh-accordion-06a.notion.site/Jiayi-Du-1817075e92978076b95cf9d90fb5eceb"><img src="https://avatars.githubusercontent.com/u/166608075?v=4?s=100" width="100px;" alt="RoomWithOutRoof"/><br /><sub><b>RoomWithOutRoof</b></sub></a><br /><a href="https://github.com/yamcodes/arkenv/commits?author=Jah-yee" title="Documentation">📖</a></td>
95
- </tr>
96
- </tbody>
97
- </table>
38
+ ### Local environment adapters (`Node*`)
98
39
 
99
- <!-- markdownlint-restore -->
100
- <!-- prettier-ignore-end -->
40
+ Implementations prefixed with `Node` (e.g., `NodeWorkspace`, `NodeProjectScanner`) represent the standard local development environment. They utilize standard `node:*` APIs (like `node:fs` and `node:child_process`) which are universally supported across modern runtimes including Node.js, Bun, and Deno. This naming reflects the API standard used rather than a runtime restriction.
101
41
 
102
- <!-- ALL-CONTRIBUTORS-LIST:END -->
42
+ ## License
103
43
 
104
- We [acknowledge](https://github.com/yamcodes/arkenv/blob/main/docs/ACKNOWLEDGEMENTS.md) the various projects and people that inspired ArkEnv.
44
+ MIT
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});