{"_id":"@bucaastudio/versioned-footer","_rev":"3-e828e7aa6f2486b1f9531d8dc0a5dedb","name":"@bucaastudio/versioned-footer","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@bucaastudio/versioned-footer","version":"1.0.0","keywords":["react","nextjs","footer","versioning","component","auto-version"],"author":{"name":"Bucaa Studio"},"license":"MIT","_id":"@bucaastudio/versioned-footer@1.0.0","maintainers":[{"name":"bucaastudio","email":"contact@bucaastudio.com"}],"homepage":"https://github.com/bluevisor/versioned-footer#readme","bugs":{"url":"https://github.com/bluevisor/versioned-footer/issues"},"bin":{"versioned-footer-setup":"scripts/setup-cli.js"},"dist":{"shasum":"76aba15fff0db75c22bd9292a0485c054a8d0b97","tarball":"https://registry.npmjs.org/@bucaastudio/versioned-footer/-/versioned-footer-1.0.0.tgz","fileCount":12,"integrity":"sha512-9hFe0u4CmyXhLzOaAAw0r0mxevlA2GAlvsAooaJB+ejQqHF6VBNLPO4ssoWHw1CRwPIaojDgWg029LTxSA+WmA==","signatures":[{"sig":"MEUCIBnvxrrDBeUQwu/+mcoyI4bvNA6h+yUy0M5WEq97AtxHAiEAlghPZFi+zQDjqIvP3sR85y3xWaDUihAY253jt6XHQJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17564},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9cdd775bba25a4527d15edc0100a0c31298e2929","scripts":{"build":"tsc","prepare":"npm run build","postinstall":"node scripts/setup-instructions.js"},"_npmUser":{"name":"bucaastudio","email":"contact@bucaastudio.com"},"repository":{"url":"git+https://github.com/bluevisor/versioned-footer.git","type":"git"},"_npmVersion":"10.8.2","description":"Auto-versioning footer component for React/Next.js with format vYY.MM.N","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.0.0 || ^19.0.0","@types/react-dom":"^18.0.0 || ^19.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/versioned-footer_1.0.0_1763450639394_0.4873217312350715","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bucaastudio/versioned-footer","version":"1.0.1","keywords":["react","nextjs","footer","versioning","component","auto-version"],"author":{"name":"Bucaa Studio"},"license":"MIT","_id":"@bucaastudio/versioned-footer@1.0.1","maintainers":[{"name":"bucaastudio","email":"contact@bucaastudio.com"}],"homepage":"https://github.com/bluevisor/versioned-footer#readme","bugs":{"url":"https://github.com/bluevisor/versioned-footer/issues"},"bin":{"versioned-footer-setup":"scripts/setup-cli.js"},"dist":{"shasum":"450ddd492752964948f7fb76d81532ca07ca9798","tarball":"https://registry.npmjs.org/@bucaastudio/versioned-footer/-/versioned-footer-1.0.1.tgz","fileCount":12,"integrity":"sha512-JUMHJBZIdmHOvRKRWItpetBFaPwytseAziNQSzZao6M4anayzWhXrwjLA5msb7Jq6oOrRGyJUiLZy5fAQCeZ5g==","signatures":[{"sig":"MEUCIBAsbznUG2pzw9Svi/JlZ1MiBtH5Iq62MAwWGd33BnwXAiEAlmp1xPfAXF1SQE/9ma9mthf6iaJwTj3TmFP50ws8u04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20523},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a8b3848ea5d676ac90514fa78f8bcd42095a3fed","scripts":{"build":"tsc","prepare":"npm run build","postinstall":"node scripts/setup-instructions.js"},"_npmUser":{"name":"bucaastudio","email":"contact@bucaastudio.com"},"repository":{"url":"git+https://github.com/bluevisor/versioned-footer.git","type":"git"},"_npmVersion":"10.8.2","description":"Auto-versioning footer component for React/Next.js with format vYY.MM.N","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/react":"^18.0.0 || ^19.0.0","@types/react-dom":"^18.0.0 || ^19.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/versioned-footer_1.0.1_1763451712120_0.9485605128383812","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bucaastudio/versioned-footer","version":"1.0.2","description":"Auto-versioning footer component for React/Next.js with format vYY.MM.N","main":"dist/index.js","types":"dist/index.d.ts","bin":{"versioned-footer-setup":"scripts/setup-cli.js"},"scripts":{"build":"tsc","prepare":"npm run build","postinstall":"node scripts/setup-instructions.js"},"keywords":["react","nextjs","footer","versioning","component","auto-version"],"author":{"name":"Bucaa Studio"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bluevisor/versioned-footer.git"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"devDependencies":{"@types/react":"^18.0.0 || ^19.0.0","@types/react-dom":"^18.0.0 || ^19.0.0","typescript":"^5.0.0"},"gitHead":"a8b3848ea5d676ac90514fa78f8bcd42095a3fed","_id":"@bucaastudio/versioned-footer@1.0.2","bugs":{"url":"https://github.com/bluevisor/versioned-footer/issues"},"homepage":"https://github.com/bluevisor/versioned-footer#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-MLMnBrmQnTWAkKsfkJKR6m6SjQ0VNLay1XQQJm+BeGyKs+5ezlOtduk59zWKDRaoMsqkzOh1uXmHDvmZq1XQTg==","shasum":"45abd05b624e1b0f58387a09d989161d4f70c3e2","tarball":"https://registry.npmjs.org/@bucaastudio/versioned-footer/-/versioned-footer-1.0.2.tgz","fileCount":12,"unpackedSize":20523,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDlVaa+HIEZK21A1YuRRkcISGwK/h76LDdCLSi9l7OveAiEA9hnP6irwAsHvSwNdjgoy8HnSB3yNRFyTOxkf0mUzBLA="}]},"_npmUser":{"name":"bucaastudio","email":"contact@bucaastudio.com"},"directories":{},"maintainers":[{"name":"bucaastudio","email":"contact@bucaastudio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/versioned-footer_1.0.2_1766238446789_0.22628874567722268"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-18T07:23:59.300Z","modified":"2025-12-20T13:47:27.131Z","1.0.0":"2025-11-18T07:23:59.567Z","1.0.1":"2025-11-18T07:41:52.314Z","1.0.2":"2025-12-20T13:47:26.934Z"},"bugs":{"url":"https://github.com/bluevisor/versioned-footer/issues"},"author":{"name":"Bucaa Studio"},"license":"MIT","homepage":"https://github.com/bluevisor/versioned-footer#readme","keywords":["react","nextjs","footer","versioning","component","auto-version"],"repository":{"type":"git","url":"git+https://github.com/bluevisor/versioned-footer.git"},"description":"Auto-versioning footer component for React/Next.js with format vYY.MM.N","maintainers":[{"name":"bucaastudio","email":"contact@bucaastudio.com"}],"readme":"# @bucaastudio/versioned-footer\n\nAuto-versioning footer component for React/Next.js with automatic version incrementing on git commits.\n\n## Features\n\n- 🔄 Auto-increments version on every commit\n- 🎨 **Customizable version format** (YY.MM.N, YYYY.MM.N, MM.YY.N, N, etc.)\n- ⚛️ React/Next.js compatible\n- 🌙 Dark mode support\n- 📅 Automatic year range calculation\n- 🎨 Tailwind CSS styling (customizable)\n- 📦 TypeScript support\n\n## Installation\n\n### Option 1: From GitHub (Recommended during development)\n\n```bash\nnpm install github:bluevisor/versioned-footer\n```\n\n### Option 2: From npm (when published)\n\n```bash\nnpm install @bucaastudio/versioned-footer\n```\n\n## Quick Start\n\n### 1. Install the package\n\n```bash\nnpm install github:bluevisor/versioned-footer\n```\n\n### 2. Set up auto-versioning\n\n```bash\nnpx versioned-footer-setup\n```\n\nThis will:\n- Create `version.json` in your project root\n- Install a git pre-commit hook\n- Copy the version bumping script\n\n### 3. Use the component\n\n```tsx\nimport { VersionedFooter } from \"@bucaastudio/versioned-footer\";\n\nexport default function MyPage() {\n  return (\n    <div>\n      <h1>My App</h1>\n      {/* Your content */}\n\n      <VersionedFooter\n        companyName=\"Your Company\"\n        startYear={2024}\n      />\n    </div>\n  );\n}\n```\n\n## Component API\n\n### Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `companyName` | `string` | `\"Your Company\"` | Company name displayed in footer |\n| `startYear` | `number` | Current year | Starting year for copyright |\n| `className` | `string` | `\"\"` | Additional CSS classes |\n| `showVersion` | `boolean` | `true` | Show/hide version number |\n\n### Examples\n\n```tsx\n// Basic usage\n<VersionedFooter />\n\n// Custom company and year\n<VersionedFooter\n  companyName=\"Acme Corp\"\n  startYear={2020}\n/>\n\n// Without version number\n<VersionedFooter showVersion={false} />\n\n// Custom styling\n<VersionedFooter\n  className=\"fixed bottom-0 w-full bg-gray-100 dark:bg-gray-900 py-4\"\n/>\n```\n\n## How Versioning Works\n\nThe version format is `vYY.MM.N`:\n- `YY` = Last 2 digits of year (e.g., 25 for 2025)\n- `MM` = Month (1-12)\n- `N` = Patch number (increments with each commit)\n\n**Examples:**\n- First commit in November 2025: `v25.11.1`\n- Next commit same month: `v25.11.2`\n- First commit in December 2025: `v25.12.1`\n\n### Customizing Version Format\n\nYou can customize the version format by editing `version-config.json` in your project root:\n\n```json\n{\n  \"format\": \"YYYY.MM.N\"\n}\n```\n\n**Supported Placeholders:**\n- `YYYY` - Full year (e.g., 2025)\n- `YY` - 2-digit year (e.g., 25)\n- `MM` - Month with a leading zero (`01-12`)\n- `M` - Month without a leading zero (`1-12`)\n- `DD` - Day of month with a leading zero (`01-31`)\n- `D` - Day of month without a leading zero (`1-31`)\n- `N` - Patch number (auto-increments)\n- `MAJORVERSION` / `MINORVERSION` - Custom semantic versions stored in `version.json`\n\nUpdate `majorVersion` / `minorVersion` inside `version.json` whenever you want to bump those values:\n\n```json\n{\n  \"version\": \"25.11.1\",\n  \"majorVersion\": 2,\n  \"minorVersion\": 1\n}\n```\n\n**Available Formats:**\n\n| Format | Example | Description |\n|--------|---------|-------------|\n| `YY.MM.N` | `25.11.1` | Default: 2-digit year, zero-padded month, patch |\n| `YY.M.N` | `25.11.1` | Month without leading zero |\n| `YYYY.MM.DD.N` | `2025.11.05.1` | Full year with zero-padded month/day |\n| `MM.YY.N` | `11.25.1` | Month first, 2-digit year |\n| `N` | `1` | Patch only (simple counter) |\n| `MAJORVERSION.MINORVERSION.YY.MM.N` | `1.0.25.11.1` | Combine semantic + date |\n| `YYYY.N` | `2025.1` | Full year and patch only |\n\n**Reset Behavior:**\n- Formats with **year + month/day**: Resets patch to 1 when any referenced date part changes\n- Formats with **year only**: Resets patch to 1 on new year\n- Formats with **month only**: Resets patch to 1 on new month\n- Formats with **day only**: Resets patch to 1 every day\n- Formats with **patch only** (`N`): Never resets, always increments\n\n**Examples:**\n\n```json\n// Semantic-like versioning with full year\n{\n  \"format\": \"YYYY.MM.N\"\n}\n// → 2025.11.1, 2025.11.2, 2025.12.1\n\n// Month without a leading zero\n{\n  \"format\": \"YY.M.N\"\n}\n// → 25.11.1, 25.12.1\n\n// Daily build numbers\n{\n  \"format\": \"YYYY.MM.DD.N\"\n}\n// → 2025.11.05.1, 2025.11.05.2, 2025.11.06.1\n\n// Prefix with manual semantic version\n{\n  \"format\": \"MAJORVERSION.MINORVERSION.YY.MM.N\"\n}\n// → 1.0.25.11.1, 1.0.25.11.2\n```\n\n### Manual Version Bump\n\n```bash\nnode scripts/bump-version.js\n```\n\n## Styling\n\nThe component uses Tailwind CSS classes. If you're not using Tailwind, you can:\n\n1. Override with custom CSS using `className` prop\n2. Style the footer directly in your CSS:\n\n```css\nfooter p {\n  color: #888;\n  font-size: 14px;\n}\n\n.dark footer p {\n  color: #666;\n}\n```\n\n## Requirements\n\n- React 18+ or React 19+\n- Git repository\n- Node.js 16+\n\n## Tailwind CSS (Optional)\n\nIf using Tailwind CSS, ensure these classes are available:\n- `text-sm`, `text-gray-500`, `dark:text-white/30`\n- `text-center`, `transition-colors`, `duration-300`\n\n## Troubleshooting\n\n### Hook not running?\n\n```bash\nchmod +x .git/hooks/pre-commit\n```\n\n### Version not updating?\n\nCheck that `version.json` exists in your project root:\n\n```bash\nls -la version.json\n```\n\n### TypeScript errors with version.json?\n\nAdd to `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"resolveJsonModule\": true\n  }\n}\n```\n\n## License\n\nMIT © Bucaa Studio\n\n## Repository\n\n[https://github.com/bluevisor/versioned-footer](https://github.com/bluevisor/versioned-footer)\n","readmeFilename":"README.md"}