{"_id":"@aykutkardas/env-switch","_rev":"2-ffe273342a1e462c398a7652f5322dc0","name":"@aykutkardas/env-switch","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@aykutkardas/env-switch","version":"0.1.0","keywords":["env","dotenv","environment","monorepo","turborepo","cli"],"author":{"name":"Aykut Kardaş","email":"aykutkrds@gmail.com"},"license":"MIT","_id":"@aykutkardas/env-switch@0.1.0","maintainers":[{"name":"aykutkardas","email":"aykutkrds@gmail.com"}],"bin":{"env-switch":"bin/env-switch.js"},"dist":{"shasum":"fdd82567558610782dc4e7a9a1867128487bd94d","tarball":"https://registry.npmjs.org/@aykutkardas/env-switch/-/env-switch-0.1.0.tgz","fileCount":16,"integrity":"sha512-CsZZeK8oftgcbRjVQYJftROE6xSpgpU40x9rN2FpIr60Ntzr0vLkrFQVedSzDJxbQvgLlNvBFnbODPPFkNSCKg==","signatures":[{"sig":"MEYCIQDloh/onmISSMrzP0KMo8J3+jQWPefW4hIoj4n8Xos5+gIhAIzBblepXwBCJVKrjEw4RYxXoYLKH0G6rxQi8zV3AIJ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29086},"main":"./dist/cli.js","engines":{"node":">=18.17.0"},"gitHead":"8b5a380fe816bd789d92f245787b7dcd7ecb2180","scripts":{"dev":"tsc --watch","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"aykutkardas","email":"aykutkrds@gmail.com"},"_npmVersion":"10.9.3","description":"Manage multiple .env configurations for monorepo projects","directories":{},"_nodeVersion":"22.20.0","dependencies":{"ignore":"^5.3.0","commander":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/env-switch_0.1.0_1773077148416_0.2261696751952671","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aykutkardas/env-switch","version":"0.2.0","description":"Manage multiple .env configurations for monorepo projects","bin":{"env-switch":"bin/env-switch.js"},"author":{"name":"Aykut Kardaş","email":"aykutkrds@gmail.com"},"main":"./dist/cli.js","scripts":{"build":"tsc","dev":"tsc --watch","prepublishOnly":"npm run build"},"dependencies":{"commander":"^12.0.0","ignore":"^5.3.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.4.0"},"engines":{"node":">=18.17.0"},"keywords":["env","dotenv","environment","monorepo","turborepo","cli"],"license":"MIT","_id":"@aykutkardas/env-switch@0.2.0","gitHead":"55cd8c6cb5a7758bf852de914c7fb0d168c6a2df","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-mVWj+7Q2C4BAxxhmMgDwHX5xhfYHtJmWBPVw8c1+VcqPiWgyU6LRJ40ZXhg8pTxpJDODUTkyc/SOcXafs8m91g==","shasum":"838013d848ee6fc5d7e98412afc45dd5ac823ca4","tarball":"https://registry.npmjs.org/@aykutkardas/env-switch/-/env-switch-0.2.0.tgz","fileCount":16,"unpackedSize":29125,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDQrLIzAbYHU9Y0jcdMn38OR2p0Z8EbTVTIvZi8IWiQxgIhAK7OTs+jFinwYcpMyCvPxQHf28yenexekeBt0AWTbJAV"}]},"_npmUser":{"name":"aykutkardas","email":"aykutkrds@gmail.com"},"directories":{},"maintainers":[{"name":"aykutkardas","email":"aykutkrds@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/env-switch_0.2.0_1773079337255_0.49713310877620476"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T17:25:48.265Z","modified":"2026-03-09T18:02:17.492Z","0.1.0":"2026-03-09T17:25:48.564Z","0.2.0":"2026-03-09T18:02:17.385Z"},"author":{"name":"Aykut Kardaş","email":"aykutkrds@gmail.com"},"license":"MIT","keywords":["env","dotenv","environment","monorepo","turborepo","cli"],"description":"Manage multiple .env configurations for monorepo projects","maintainers":[{"name":"aykutkardas","email":"aykutkrds@gmail.com"}],"readme":"# @aykutkardas/env-switch\n\nManage multiple `.env` configurations for monorepo projects. Save your current env files as named profiles and switch between them (e.g. `dev`, `staging`, `prod`) without editing files by hand.\n\n## Requirements\n\n- **Node.js** ≥ 18.17.0\n\n## Install\n\n```bash\nnpm install -g @aykutkardas/env-switch\n```\n\nOr run without installing (with [npx](https://docs.npmjs.com/cli/v8/commands/npx)):\n\n```bash\nnpx @aykutkardas/env-switch <command> [options]\n```\n\n## Quick start\n\nFrom your project root (or any subdirectory—env-switch finds the root via `package.json`, `turbo.json`, or `.git`):\n\n```bash\n# Save current .env files as a profile named \"dev\"\nenv-switch save dev\n\n# Later: restore that profile\nenv-switch use dev\n\n# List saved profiles\nenv-switch list\n\n# Show which profile is active\nenv-switch current\n\n# Remove a profile\nenv-switch delete dev\n```\n\n## Commands\n\n| Command         | Description                                    |\n| --------------- | ---------------------------------------------- |\n| `save <name>`   | Save current `.env*` files as a named profile  |\n| `use <name>`    | Switch to a profile (restore its `.env` files) |\n| `list`          | List all saved profiles                        |\n| `current`       | Show the currently active profile              |\n| `delete <name>` | Delete a saved profile                         |\n\n### Options\n\n- **`--root <path>`** — Project root directory (default: auto-detected from cwd).\n- **`save`**: **`-f, --force`** — Overwrite an existing profile.\n- **`use`**: **`--dry-run`** — Show what would be restored without writing files.\n\n## How it works\n\n- **Project root** is found by walking up from the current directory until `package.json`, `turbo.json`, or `.git` is found.\n- **Profiles** are stored under `.env-switch/profiles/` at the project root. Each profile is a JSON manifest listing relative paths and file contents.\n- **Scanned files** are any file whose name starts with `.env` (e.g. `.env`, `.env.local`, `.env.development`). Paths matching `.gitignore` (and similar ignore rules) are skipped.\n- **Active profile** is recorded in `.env-switch/state.json` when you run `use`.\n\n### Example layout\n\n```\nmy-monorepo/\n├── .env-switch/\n│   ├── state.json          # active profile name\n│   └── profiles/\n│       ├── dev.json\n│       ├── staging.json\n│       └── prod.json\n├── apps/web/.env\n├── packages/api/.env\n└── package.json\n```\n\n## Profile names\n\nUse only letters, numbers, hyphens, and underscores (e.g. `dev`, `staging`, `prod`, `my-profile_1`).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}