arkenv 1.0.0-alpha.10 → 1.0.0-alpha.11

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 (2) hide show
  1. package/dist/index.cjs +1 -1
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -186,7 +186,7 @@ Please add the following environment variables to your schemas manually:
186
186
  Please add the following environment variables to your schema manually:
187
187
  `),this.logger.log(`{\n${m(`arktype`)}\n}`),!0;let h=await this.workspace.readFile(f),g=gr(h),_=In(h,t,i,g),v=o.default.relative(n,f);return!_.success||!_.code?(this.logger.error(_.error||`Failed to mutate ${v}.`),this.logger.log(`
188
188
  Please add the following environment variables to your schema manually:
189
- `),this.logger.log(`{\n${m(g)}\n}`),!0):(_.updated?(await this.workspace.writeFile(f,_.code),this.logger.success(`Added ${q[t].label} environment variables to ${v}`)):this.logger.info(`All ${q[t].label} environment variables are already present in ${v}`),!0)}finally{this.logger.interactiveStdout(!1)}}};function gr(e){let t=e.replace(/\/\/.*/g,``).replace(/\/\*[\s\S]*?\*\//g,``);return/(?:^|\n)\s*import\s+[\s\S]*?from\s+['"]zod['"]/.test(t)?`zod`:/(?:^|\n)\s*import\s+[\s\S]*?from\s+['"]valibot['"]/.test(t)?`valibot`:`arktype`}var _r=`1.0.0-alpha.10`;function vr(e,t=2,n=4){let r=Math.max(...e.map(e=>e.left.length),0),i=` `.repeat(t);return e.map(e=>{let t=` `.repeat(r-e.left.length+n);return`${i}${e.left}${t}${e.right}`})}var yr=class{constructor(e){this.logger=e}async execute(){let e=[{left:`arkenv init [project-name]`,right:`Set up ArkEnv in your project`},{left:`arkenv add host [provider]`,right:`Add hosting provider preset (vercel, netlify, cloudflare, railway, render, fly) to schema`}],t=[{left:`--yes, -y`,right:`Skip prompts and use defaults (also passed to subprocesses)`},{left:`--force, -f`,right:`Bypass technical requirement checks and dirty git working tree check, then force scaffolding`},{left:`--agent`,right:`Enable non-interactive, machine-readable mode for AI agents. Bypasses all prompts and outputs structured JSON. Macro for --yes --quiet --json`},{left:`--example`,right:`Specify an example name when creating a new project`},{left:`--quiet, -q`,right:`Quiet mode: Suppress output, capture logs on failure`},{left:`--json, -j`,right:`Output structured JSON to stdout`},{left:`--no-codegen`,right:`Disable automatic env.gen.ts code generation for Next.js`},{left:`--host-preset, -H <preset>`,right:`Specify a hosting provider preset (none, vercel, netlify, cloudflare, railway, render, fly)`},{left:`--help, -h`,right:`Show this help message`}];this.logger.log(`ArkEnv CLI v${_r}`),this.logger.log(`\n${S.default.bold(`Usage:`)}`);for(let t of vr(e))this.logger.log(t);this.logger.log(`\n${S.default.bold(`Options:`)}`);for(let e of vr(t))this.logger.log(e)}};async function br(e,t){let n=t.targetDir??process.cwd(),r=o.default.join(process.cwd(),`.arkenv-temp`);await e.mkdir(r,!0),t.targetDir&&await e.mkdir(n,!0);try{await e.execute(`git`,[`clone`,`--filter=blob:none`,`--sparse`,t.repository,r]);let i=`examples/${t.example}`;await e.execute(`git`,[`-C`,r,`sparse-checkout`,`set`,i]);let a=o.default.join(r,i),c=await s.default.readdir(a),l=[];for(let t of c){let r=o.default.join(n,t);await e.exists(r)&&l.push(t)}if(l.length>0)throw Error(`Scaffolding into a non-empty directory failed. The following paths already exist: ${l.join(`, `)}`);await xr(a,n);for(let e of[`package-lock.json`,`pnpm-lock.yaml`,`yarn.lock`,`bun.lockb`,`bun.lock`])await s.default.rm(o.default.join(n,e),{force:!0});let u=o.default.join(n,`package.json`);if(await e.exists(u)){let n=await e.readFile(u),r=JSON.parse(n);r.name=t.targetName,delete r.packageManager,await e.writeFile(u,JSON.stringify(r,null,2))}}finally{await s.default.rm(r,{recursive:!0,force:!0})}}async function xr(e,t){let n=await s.default.readdir(e);await Promise.all(n.map(n=>s.default.cp(o.default.join(e,n),o.default.join(t,n),{recursive:!0,force:!1})))}function Sr(e,t){let n=t.length>0;switch(e){case`pnpm`:return[`pnpm`,[n?`add`:`install`,...t]];case`yarn`:return[`yarn`,[n?`add`:`install`,...t]];case`bun`:return[`bun`,[n?`add`:`install`,...t]];default:return[`npm`,[`install`,...t]]}}function Cr(e,t,n){if(t||e.metadata.skillDetected){let t=e.metadata.framework===`nextjs`&&!e.metadata.disableCodegen,r=e.metadata.framework===`nuxt`&&!e.metadata.disableCodegen,i=t&&!n,a=c.default`
189
+ `),this.logger.log(`{\n${m(g)}\n}`),!0):(_.updated?(await this.workspace.writeFile(f,_.code),this.logger.success(`Added ${q[t].label} environment variables to ${v}`)):this.logger.info(`All ${q[t].label} environment variables are already present in ${v}`),!0)}finally{this.logger.interactiveStdout(!1)}}};function gr(e){let t=e.replace(/\/\/.*/g,``).replace(/\/\*[\s\S]*?\*\//g,``);return/(?:^|\n)\s*import\s+[\s\S]*?from\s+['"]zod['"]/.test(t)?`zod`:/(?:^|\n)\s*import\s+[\s\S]*?from\s+['"]valibot['"]/.test(t)?`valibot`:`arktype`}var _r=`1.0.0-alpha.11`;function vr(e,t=2,n=4){let r=Math.max(...e.map(e=>e.left.length),0),i=` `.repeat(t);return e.map(e=>{let t=` `.repeat(r-e.left.length+n);return`${i}${e.left}${t}${e.right}`})}var yr=class{constructor(e){this.logger=e}async execute(){let e=[{left:`arkenv init [project-name]`,right:`Set up ArkEnv in your project`},{left:`arkenv add host [provider]`,right:`Add hosting provider preset (vercel, netlify, cloudflare, railway, render, fly) to schema`}],t=[{left:`--yes, -y`,right:`Skip prompts and use defaults (also passed to subprocesses)`},{left:`--quiet, -q`,right:`Quiet mode: Suppress output, capture logs on failure`},{left:`--json, -j`,right:`Output structured JSON to stdout`},{left:`--agent`,right:`Enable non-interactive, machine-readable mode for AI agents. Bypasses all prompts and outputs structured JSON. Macro for --yes --quiet --json`},{left:`--help, -h`,right:`Show this help message`}],n=[{left:`--example`,right:`Specify an example name when creating a new project`},{left:`--force, -f`,right:`Bypass technical requirement checks and dirty git working tree check, then force scaffolding`},{left:`--no-codegen`,right:`Disable automatic env.gen.ts code generation for Next.js`},{left:`--host-preset, -H <preset>`,right:`Specify a hosting provider preset (none, vercel, netlify, cloudflare, railway, render, fly)`}];this.logger.log(`ArkEnv CLI v${_r}`),this.logger.log(`\n${S.default.bold(`Usage:`)}`);for(let t of vr(e))this.logger.log(t);this.logger.log(`\n${S.default.bold(`Global options:`)}`);for(let e of vr(t))this.logger.log(e);this.logger.log(`\n${S.default.bold(`init options:`)}`);for(let e of vr(n))this.logger.log(e)}};async function br(e,t){let n=t.targetDir??process.cwd(),r=o.default.join(process.cwd(),`.arkenv-temp`);await e.mkdir(r,!0),t.targetDir&&await e.mkdir(n,!0);try{await e.execute(`git`,[`clone`,`--filter=blob:none`,`--sparse`,t.repository,r]);let i=`examples/${t.example}`;await e.execute(`git`,[`-C`,r,`sparse-checkout`,`set`,i]);let a=o.default.join(r,i),c=await s.default.readdir(a),l=[];for(let t of c){let r=o.default.join(n,t);await e.exists(r)&&l.push(t)}if(l.length>0)throw Error(`Scaffolding into a non-empty directory failed. The following paths already exist: ${l.join(`, `)}`);await xr(a,n);for(let e of[`package-lock.json`,`pnpm-lock.yaml`,`yarn.lock`,`bun.lockb`,`bun.lock`])await s.default.rm(o.default.join(n,e),{force:!0});let u=o.default.join(n,`package.json`);if(await e.exists(u)){let n=await e.readFile(u),r=JSON.parse(n);r.name=t.targetName,delete r.packageManager,await e.writeFile(u,JSON.stringify(r,null,2))}}finally{await s.default.rm(r,{recursive:!0,force:!0})}}async function xr(e,t){let n=await s.default.readdir(e);await Promise.all(n.map(n=>s.default.cp(o.default.join(e,n),o.default.join(t,n),{recursive:!0,force:!1})))}function Sr(e,t){let n=t.length>0;switch(e){case`pnpm`:return[`pnpm`,[n?`add`:`install`,...t]];case`yarn`:return[`yarn`,[n?`add`:`install`,...t]];case`bun`:return[`bun`,[n?`add`:`install`,...t]];default:return[`npm`,[`install`,...t]]}}function Cr(e,t,n){if(t||e.metadata.skillDetected){let t=e.metadata.framework===`nextjs`&&!e.metadata.disableCodegen,r=e.metadata.framework===`nuxt`&&!e.metadata.disableCodegen,i=t&&!n,a=c.default`
190
190
  Inside your AI assistant (e.g. Claude Code), use:
191
191
  ${W(`/arkenv`)} - automatically refine your schema and configure integrations.
192
192
  `;return i?(a+=`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arkenv",
3
3
  "type": "module",
4
- "version": "1.0.0-alpha.10",
4
+ "version": "1.0.0-alpha.11",
5
5
  "description": "Interactive CLI for scaffolding ArkEnv projects",
6
6
  "bin": {
7
7
  "arkenv": "./dist/index.cjs"