{"_id":"@dunvok/vokh-registry","_rev":"2-bbf81567f1bac8320b947cb440efda26","name":"@dunvok/vokh-registry","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@dunvok/vokh-registry","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"@dunvok/vokh-registry@1.0.0","maintainers":[{"name":"dunvok","email":"dunvok.me@gmail.com"}],"bin":{"vokh-registry":"dist/index.js"},"dist":{"shasum":"c8a0ce5ca4a89c85628c232019ca5129c3561fa2","tarball":"https://registry.npmjs.org/@dunvok/vokh-registry/-/vokh-registry-1.0.0.tgz","fileCount":6,"integrity":"sha512-KXtJ7V+OqEMIRyWLh5e0a5gRQ/SJ6h2GKoTh3C8XNTdkJ4o3Ec4tQEwb7DsJUWUrQWDc93SgQQ5rkjP6zGdP+w==","signatures":[{"sig":"MEYCIQDFwgW1P6qY3h2UhVd6vkwHUnNfMtYq7GibMQhAqIVkYQIhAPgLVeqJ7kWLkls1gcQsgPkEUTNxIXsNoZ2cQQYeEQzr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51881},"type":"module","_from":"file:dunvok-vokh-registry-1.0.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","lint":"eslint . --max-warnings 0","test":"vitest","build":"tsdown","coverage":"vitest run --coverage","lint:fix":"eslint . --fix"},"_npmUser":{"name":"dunvok","email":"dunvok.me@gmail.com"},"_resolved":"C:\\Users\\ferna\\AppData\\Local\\Temp\\f645d08478e1c03a7cd5afa892572f3a\\dunvok-vokh-registry-1.0.0.tgz","_integrity":"sha512-KXtJ7V+OqEMIRyWLh5e0a5gRQ/SJ6h2GKoTh3C8XNTdkJ4o3Ec4tQEwb7DsJUWUrQWDc93SgQQ5rkjP6zGdP+w==","_npmVersion":"11.6.2","description":"Vokh (echo), It is a readonly npm registry linked to a disk monorepos","directories":{},"_nodeVersion":"24.11.1","dependencies":{"cac":"^6.7.14","yaml":"^2.8.2","execa":"^9.6.1","fastify":"^5.7.1","fast-glob":"^3.3.3","micromatch":"^4.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"0.20.0-beta.3","vitest":"^4.0.17","prettier":"^3.8.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.9","@types/micromatch":"^4.0.10","typescript-eslint":"^8.53.0","@vitest/coverage-v8":"^4.0.17","eslint-config-prettier":"^10.1.8","eslint-plugin-only-warn":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/vokh-registry_1.0.0_1768746292877_0.5569633905349078","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dunvok/vokh-registry","version":"1.0.1","description":"Vokh (echo), It is a readonly npm registry linked to a disk monorepos","repository":{"type":"git","url":"git+https://github.com/dunvok/vokh-registry.git"},"type":"module","bin":{"vokh-registry":"dist/index.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"keywords":[],"author":"","license":"ISC","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.9","@vitest/coverage-v8":"^4.0.17","@types/micromatch":"^4.0.10","eslint":"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-only-warn":"^1.1.0","prettier":"^3.8.0","tsdown":"0.20.0-beta.3","typescript":"^5.9.3","typescript-eslint":"^8.53.0","vitest":"^4.0.17"},"dependencies":{"cac":"^6.7.14","execa":"^9.6.1","fast-glob":"^3.3.3","fastify":"^5.7.1","micromatch":"^4.0.8","yaml":"^2.8.2"},"scripts":{"build":"tsdown","dev":"tsdown --watch","test":"vitest","coverage":"vitest run --coverage","lint":"eslint . --max-warnings 0","lint:fix":"eslint . --fix"},"_id":"@dunvok/vokh-registry@1.0.1","bugs":{"url":"https://github.com/dunvok/vokh-registry/issues"},"homepage":"https://github.com/dunvok/vokh-registry#readme","_integrity":"sha512-OCKcpsUk4GlSvuGnRqjDhQPr+o5GPT7laoZpvUvRnLnevs+zxQh+IiyNaZAsFrUkxN7Br1330Uu9ms2tL1tfVQ==","_resolved":"C:\\Users\\ferna\\AppData\\Local\\Temp\\417e95fec64726aa8db1b9587a669ca6\\dunvok-vokh-registry-1.0.1.tgz","_from":"file:dunvok-vokh-registry-1.0.1.tgz","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-OCKcpsUk4GlSvuGnRqjDhQPr+o5GPT7laoZpvUvRnLnevs+zxQh+IiyNaZAsFrUkxN7Br1330Uu9ms2tL1tfVQ==","shasum":"403f9133c13355e349e6497cd13fe437f5c96e25","tarball":"https://registry.npmjs.org/@dunvok/vokh-registry/-/vokh-registry-1.0.1.tgz","fileCount":6,"unpackedSize":51984,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCdeBse3lu3qG4hyDr5Auwm4GKscdMHDqB2PJ69wfLEMAIgJqM3bDA+tWgW95p7x1KNlS25X3EluMH36V22gESqKNI="}]},"_npmUser":{"name":"dunvok","email":"dunvok.me@gmail.com"},"directories":{},"maintainers":[{"name":"dunvok","email":"dunvok.me@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vokh-registry_1.0.1_1768746907019_0.06268134431030203"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-18T14:24:52.807Z","modified":"2026-01-18T14:35:07.280Z","1.0.0":"2026-01-18T14:24:53.023Z","1.0.1":"2026-01-18T14:35:07.151Z"},"license":"ISC","keywords":[],"description":"Vokh (echo), It is a readonly npm registry linked to a disk monorepos","maintainers":[{"name":"dunvok","email":"dunvok.me@gmail.com"}],"readme":"# Vokh Registry\n\n`vokh-registry` implements a read-only interface over your local filesystem. By bypassing the network layer, it maps disk-resident npm packages and monorepo structures directly to the dependency graph. Zero latency. Pure local I/O.\n\n## Configuration Schema (vokh.config.yaml)\n\nThe registry operates on a strict declaration of intent defined in vokh.config.yaml. This file maps package queries (Input) to filesystem coordinates (Output).\n\nPattern Matching: Both name and path support Glob patterns, allowing for dynamic resolution vectors across complex monorepo structures.\n\n```yaml\n# vokh.config.yaml\n# registry listen port\nport: 5000\nrules:\n  # Maps a specific scope to a local directory\n  - name: '@my-org/*'\n    path: '<path>/my-org-*-1.0.0.tgz'\n\n  # Direct mapping for a standalone core package\n  - name: 'vokh-core'\n    path: './libs/core/file.tgz'\n```\n\n## Artifact Generation Protocol\n\n`vokh-registry` operates on immutable snapshots, not volatile source code. To expose a package, you must serialize the current directory state into a .tgz binary. This ensures the registry serves exactly what would be deployed to production.\n\n### 1. Standard Architecture\n\nExecute the `pack` command at the root of the package. This compiles the manifest and files into a tarball.\n\n```bash\n# Generates: my-package-1.0.0.tgz\npnpm pack\n```\n\n### 2. Monorepo Architecture\n\nFor distributed systems, leverage the recursive execution flag (-r) or filter specific scopes to generate artifacts across multiple workspaces simultaneously.\n\n> Naming Protocol & Zero-Overhead Parsing To maintain zero-latency responses, the engine does not unpack archives to read metadata. Versioning is inferred strictly from the filename signature.\n>\n> Enforced Schema: &lt;package-name>-&lt;version>.tgz\n>\n> Constraint: Artifacts deviating from this pattern will be treated as noise and ignored by the resolution vector.\n\n```bash\n# Option A: Pack a specific workspace\npnpm --filter \"@my-org/*\" pack\n\n# Option B: Batch serialization (all packages)\npnpm -r exec pnpm pack\n```\n\n## Version Control Hygiene (.gitignore)\n\nWarning: Generated artifacts (.tgz) are ephemeral build outputs. Committing them to the repository creates bloat and violates the \"Source of Truth\" principle.\n\nAdd the following rule to your exclusion list to prevent binary pollution:\n\n```gitignore\n# .gitignore\n# vokh-registry artifacts\n*.tgz\n```\n\n## Service Initialization & Client Binding\n\nServer Instantiation Execute the serve command to boot the resolution engine. The system indexes the artifacts defined in your rules and opens the HTTP interface for incoming requests.\n\n**Port Assignment**: The service binds to port 9999 by default. To realign the ingress point, specify the port property in your vokh.config.yaml.\n\n```bash\n# default config file vokh.config.yaml\nvokh-registry serve\n\n# custom config file\nvokh-registry serve --config <config-path>\n```\n\n## Hybrid Topology Configuration (Scoped Resolution)\n\n**Architectural Constraint:** Since `vokh-registry` is a specialized local resolver and not a full upstream proxy, you must not sever the connection to the Public Registry.\n\nInstead, implement a Split-Horizon Strategy via .npmrc. This configures the client to resolve the global namespace against the Public Registry (Primary Uplink) while routing specific artifact scopes to the Local Vökh Instance.\n\n**Configuration Vector (.npmrc):** Map your organization's scope (e.g., @myOrg) to the local port.\n\n```yaml\n# 1. Global Namespace (Public Uplink) -> Default\n# \"Check the public ecosystem first for standard packages\"\nregistry=https://registry.npmjs.org/\n\n# 2. Local Namespace (Vökh Override) -> Specific Vector\n# \"Route only specific scopes to the local filesystem\"\n@myOrg:registry=http://localhost:9999/\n```\n\n### Topology Result:\n\nRequest react -> Public Registry (Hit).\n\nRequest @myOrg/package -> Vökh Local (Hit).\n\nThis ensures high availability for external dependencies while injecting your local builds with zero latency.\n","readmeFilename":"README.md","homepage":"https://github.com/dunvok/vokh-registry#readme","repository":{"type":"git","url":"git+https://github.com/dunvok/vokh-registry.git"},"bugs":{"url":"https://github.com/dunvok/vokh-registry/issues"}}