{"_id":"@cybernixvn/footer-protect","_rev":"5-182d548e800ab5e0332715e66d9e2c1a","name":"@cybernixvn/footer-protect","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.6":{"name":"@cybernixvn/footer-protect","version":"1.0.6","keywords":["react","footer","component","cybernix","protected"],"author":"","license":"UNLICENSED","_id":"@cybernixvn/footer-protect@1.0.6","maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"dist":{"shasum":"8325898c9dc8c1b7b84f41129a50f86dac75f56f","tarball":"https://registry.npmjs.org/@cybernixvn/footer-protect/-/footer-protect-1.0.6.tgz","fileCount":4,"integrity":"sha512-FuMWVJ4RoiBWaAotg0IuB0Jre3gBFLltsW2vOmULcXTHcRxsrkxdL5j9W7U70Qgm3/28yzYggmNu+o8zrm7zKg==","signatures":[{"sig":"MEYCIQCrufJiJ0TZgHIRI7dCOazZee/nj+FQSZo599FRl8uM/AIhAOwIpgbEdDeCr0DduBfKWgC+sPXNimc+E88tx79AZ4vN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4754},"main":"index.js","type":"commonjs","types":"index.d.ts","gitHead":"d2a89b93a81f6bc83393eab249270da65078b57c","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"lephambinh","email":"lephambinh05@gmail.com"},"repository":{"url":"git+https://github.com/CybernixVN/cyberinx-footer.git","type":"git"},"_npmVersion":"11.6.0","description":"Small React Footer component","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/footer-protect_1.0.6_1765517197851_0.020405867215831597","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cybernixvn/footer-protect","version":"1.0.7","keywords":["react","footer","component","cybernix","protected"],"author":"","license":"UNLICENSED","_id":"@cybernixvn/footer-protect@1.0.7","maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"dist":{"shasum":"57dc51ccf187cd46e62d6fb54184099f92981e46","tarball":"https://registry.npmjs.org/@cybernixvn/footer-protect/-/footer-protect-1.0.7.tgz","fileCount":4,"integrity":"sha512-0M8m+xv1d4IqrKmySIQmJ2IIF3tpj6A5EhTzPgM4LEfc/D5VVY0DmoeEfp07iGqxBerz5I9OtbZhllWDRhafmQ==","signatures":[{"sig":"MEUCIQDzV+iNQloD7cICyc6t9BU6BmJgBJoH8E10bftgY1WTFwIgfkS52pKwOjKOngkLjUYraVhJHxBTVUf9MJrgAOSI1vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4984},"main":"index.js","type":"commonjs","types":"index.d.ts","gitHead":"f32da92cb7176f55f7ae6faaa6c36360c6eb04a9","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"lephambinh","email":"lephambinh05@gmail.com"},"repository":{"url":"git+https://github.com/CybernixVN/cyberinx-footer.git","type":"git"},"_npmVersion":"11.6.0","description":"Small React Footer component","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/footer-protect_1.0.7_1765518164586_0.15791547854229604","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@cybernixvn/footer-protect","version":"1.0.8","keywords":["react","footer","component","cybernix","protected"],"author":"","license":"UNLICENSED","_id":"@cybernixvn/footer-protect@1.0.8","maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"dist":{"shasum":"c531cc5a9b28feb4c0a0a344f88ae8876c2e681e","tarball":"https://registry.npmjs.org/@cybernixvn/footer-protect/-/footer-protect-1.0.8.tgz","fileCount":4,"integrity":"sha512-3KKzWQY59QpEz6hVMii8OcjBFdgOQKrluUh1q527x3DWPtWVpgi6PiBQZ9lZ3rOX7Cssr1ZDf7P78LEKzzDTmA==","signatures":[{"sig":"MEYCIQC4y2Tx4YOMgu3xf3eVympNX091zGJH477VMWhZEgnyAgIhAKpKkSmWjG4unnap3/TOW9SDySGLNNuBSecbDhghooL1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5592},"main":"index.js","type":"commonjs","types":"index.d.ts","gitHead":"d80dff8a40c6ccc309dbf65478f4ce09de8cf6b8","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"lephambinh","email":"lephambinh05@gmail.com"},"repository":{"url":"git+https://github.com/CybernixVN/cyberinx-footer.git","type":"git"},"_npmVersion":"11.6.0","description":"Small React Footer component","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/footer-protect_1.0.8_1765518960454_0.29171065607417423","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@cybernixvn/footer-protect","version":"1.0.9","keywords":["react","footer","component","cybernix","protected"],"author":"","license":"UNLICENSED","_id":"@cybernixvn/footer-protect@1.0.9","maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"dist":{"shasum":"343f399570f5eb465dc6568e3cc4a25eb58aa06a","tarball":"https://registry.npmjs.org/@cybernixvn/footer-protect/-/footer-protect-1.0.9.tgz","fileCount":5,"integrity":"sha512-y8GsBVMg7kuO9DzaB3aXAcdle/pJC8yaLZuemTsWrtZkR/HolUWLCU+34f2WtYpvoSxcUprFn2AJQLjuQFlW+A==","signatures":[{"sig":"MEUCIEtDQLtlqehaoErr9ySZB8YmVG1ZXX/knjlokjy4TV4/AiEA6FgwnPrYslan2RcG0TTBSvGETJgfWjhjmZ7Dej9pTrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6196},"main":"index.js","type":"commonjs","types":"index.d.ts","module":"index.mjs","exports":{".":{"import":"./index.mjs","require":"./index.js"}},"gitHead":"eebac7bd131c9dc5454eb73b38d4a4aef6de2a35","private":false,"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"lephambinh","email":"lephambinh05@gmail.com"},"repository":{"url":"git+https://github.com/CybernixVN/cyberinx-footer.git","type":"git"},"_npmVersion":"11.6.0","description":"Small React Footer component","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/footer-protect_1.0.9_1765524113472_0.27066105178017996","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@cybernixvn/footer-protect","version":"1.0.10","private":false,"description":"Small React Footer component","keywords":["react","footer","component","cybernix","protected"],"homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"repository":{"type":"git","url":"git+https://github.com/CybernixVN/cyberinx-footer.git"},"license":"UNLICENSED","author":"","type":"commonjs","main":"index.js","module":"index.mjs","exports":{".":{"import":"./index.mjs","require":"./index.js"}},"types":"index.d.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"publishConfig":{"access":"public"},"_id":"@cybernixvn/footer-protect@1.0.10","gitHead":"87c2d8fe27cd6227bd9ed10e81b0ba8b5d5536f4","_nodeVersion":"22.19.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-ZRp4ZMfBQtJCJP01I64b5LMhKHgAEV6pgBcTz4I303TbapElXfujNkK8R2Vw2j1EMO+UicGL36yTVwzPh6yJ6g==","shasum":"77d3e246a96550c9eb9053a09351a7de09faeabb","tarball":"https://registry.npmjs.org/@cybernixvn/footer-protect/-/footer-protect-1.0.10.tgz","fileCount":5,"unpackedSize":6343,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAX51XRJzwoRdNWM9J41axzogdm0kF/SdVPX5bDzRfQOAiAUUfJXks7BeboFXph67JRnS2qhOU++hb8Nb6I99dW1SA=="}]},"_npmUser":{"name":"lephambinh","email":"lephambinh05@gmail.com"},"directories":{},"maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/footer-protect_1.0.10_1765524202810_0.9268041864492993"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-12T05:26:37.786Z","modified":"2025-12-12T07:23:23.149Z","1.0.6":"2025-12-12T05:26:38.026Z","1.0.7":"2025-12-12T05:42:44.721Z","1.0.8":"2025-12-12T05:56:00.590Z","1.0.9":"2025-12-12T07:21:53.606Z","1.0.10":"2025-12-12T07:23:22.957Z"},"bugs":{"url":"https://github.com/CybernixVN/cyberinx-footer/issues"},"license":"UNLICENSED","homepage":"https://github.com/CybernixVN/cyberinx-footer#readme","keywords":["react","footer","component","cybernix","protected"],"repository":{"type":"git","url":"git+https://github.com/CybernixVN/cyberinx-footer.git"},"description":"Small React Footer component","maintainers":[{"name":"lephambinh","email":"lephambinh05@gmail.com"}],"readme":"# @cybernix/footer-protect\r\n\r\nSmall React footer component packaged for npm.\r\n\r\n## Contents\r\n\r\n- `index.js` — CommonJS export: `{ Footer }` React component.\r\n\r\n## Usage\r\n\r\nIf published to the registry, install:\r\n\r\n```bash\r\nnpm install @cybernix/footer-protect\r\n```\r\n\r\nThen import in a CommonJS setup:\r\n\r\n```js\r\nconst React = require(\"react\");\r\nconst { Footer } = require(\"@cybernix/footer-protect\");\r\n\r\n// use in render\r\nReact.createElement(Footer);\r\n```\r\n\r\nOr in ES modules (if you build/transform the package):\r\n\r\n```js\r\nimport React from \"react\";\r\nimport { Footer } from \"@cybernix/footer-protect\";\r\n\r\nfunction App() {\r\n  return (\r\n    <div>\r\n      {/* ... */}\r\n      <Footer />\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## Publish\r\n\r\n### Public NPM (or scoped public)\r\n\r\nMake sure the package `private` is `false` and you are logged in to npm.\r\n\r\n```bash\r\nnpm login\r\nnpm publish --access=public\r\n```\r\n\r\n### Private NPM (restricted)\r\n\r\n```bash\r\nnpm login\r\nnpm publish --access=restricted\r\n```\r\n\r\nNote: private scoped packages require a paid plan on npm for org-level private packages.\r\n\r\n### GitHub Packages (scope)\r\n\r\n1. Create a repo on GitHub and push this package.\r\n2. Use an `.npmrc` with a token for users to install from GitHub Packages:\r\n\r\n```text\r\n@cybernix:registry=https://npm.pkg.github.com\r\n//npm.pkg.github.com/:_authToken=YOUR_TOKEN\r\n```\r\n\r\n3. Then publish with `npm publish`.\r\n\r\n## Notes\r\n\r\n- This is a minimal CommonJS package. If you want TypeScript, ESM build, or a transpile step, I can add `tsconfig`, `rollup`/`vite` build, and types.\r\n- If you want me to commit these files and push to `main`, say so and I will create a git commit.\r\n\r\n## Granular Access Token (recommended settings)\r\n\r\nIf you publish under a scoped org (for example `@cybernixvn`), create a Granular Access Token on npmjs.com with the following recommended settings:\r\n\r\n- **Token name**: `Cybernix-package` (or another unique name)\r\n- **Description**: (optional) e.g. \"Publish token for footer-protect CI\"\r\n- **Allowed IP ranges**: (optional) provide CIDR ranges if you want to lock usage to specific IPs\r\n- **Packages and scopes**: select the scope `@cybernixvn` (or the specific package `@cybernixvn/footer-protect`) so the token only applies to that scope\r\n- **Permissions**: enable `packages:read` and `packages:publish` (read + write for the selected scope)\r\n- **Organizations**: select `cybernixvn` if prompted\r\n- **Bypass 2FA**: enable this option if you plan to publish from CI or automation (required in some org setups)\r\n- **Expiration**: choose an expiration date (e.g. 90 days) and rotate tokens regularly\r\n\r\nAfter generating the token, copy it immediately (it will be shown only once) and store it securely. Do NOT commit the token to source control.\r\n\r\nExample local usage (PowerShell session only):\r\n\r\n```powershell\r\n$env:NPM_TOKEN = 'PASTE_YOUR_NEW_TOKEN_HERE'\r\n$env:NODE_AUTH_TOKEN = $env:NPM_TOKEN\r\ncd footer-protect\r\nnpm version patch\r\nnpm publish --access public\r\n```\r\n\r\nFor CI/CD, store the token in repository secrets (e.g. `NPM_TOKEN`) and expose it as `NODE_AUTH_TOKEN` during the publish step.\r\n\r\nIf you do not control the org scope `@cybernixvn`, you can publish as a non-scoped package by changing the `name` field in `package.json` (for example to `\"cybernix-footer-protect\"`).\r\n","readmeFilename":"README.md"}