{"_id":"@commonformhq/deploy-manifest","name":"@commonformhq/deploy-manifest","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@commonformhq/deploy-manifest","version":"0.1.1","description":"Parse and validate Deploy Manifest Specification files (Node, Bun, Deno)","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"keywords":["deploy","manifest","deployment","devops","dms"],"license":"MPL-2.0","author":"Commonform","repository":{"type":"git","url":"git+https://github.com/commonformhq/deploy-manifest-js.git"},"homepage":"https://github.com/commonformhq/deploy-manifest-js","dependencies":{"js-yaml":"^4.1.0","smol-toml":"^1.3.0"},"devDependencies":{"@types/js-yaml":"^4.0.9","@types/node":"^22","tsup":"^8.3.0","typescript":"^5.7.0","vitest":"^2.1.0"},"scripts":{"build":"tsup","test":"vitest run","typecheck":"tsc --noEmit"},"_nodeVersion":"22.23.1","_id":"@commonformhq/deploy-manifest@0.1.1","dist":{"integrity":"sha512-GrQpvo1w6aAw2Pp2RhTK9KBk/tA+GSnZZF/xM7TYNxOUzO2NMBesbWsDym2j2dwm5ctCEN+F+cGOoQbaSfuAZA==","shasum":"303c7a5731f3cee0097baf194cbf7b25bc2ee91f","tarball":"https://registry.npmjs.org/@commonformhq/deploy-manifest/-/deploy-manifest-0.1.1.tgz","fileCount":9,"unpackedSize":55304,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDIRlLzZPLQzR1BVsNeqqJNDHNMYT9B4DQrGBSYWFiVTAiEA59i57g2phctpErRJC9Hs0/69yMGHLhPPyW8WUuf56CQ="}]},"_npmUser":{"name":"hisoka-root","email":"root@hisoka.lol"},"directories":{},"maintainers":[{"name":"hisoka-root","email":"root@hisoka.lol"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deploy-manifest_0.1.1_1784036060371_0.7188201761974884"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-14T13:34:20.232Z","0.1.1":"2026-07-14T13:34:20.539Z","modified":"2026-07-14T13:34:20.823Z"},"maintainers":[{"name":"hisoka-root","email":"root@hisoka.lol"}],"description":"Parse and validate Deploy Manifest Specification files (Node, Bun, Deno)","homepage":"https://github.com/commonformhq/deploy-manifest-js","keywords":["deploy","manifest","deployment","devops","dms"],"repository":{"type":"git","url":"git+https://github.com/commonformhq/deploy-manifest-js.git"},"author":"Commonform","license":"MPL-2.0","readme":"# deploy-manifest-js\n\nParse, validate, and serialize [Deploy Manifest Specification](https://github.com/commonformhq/deploy-manifest) files.\nWorks in Node, Bun, Deno, and browsers.\n\n```ts\nimport { parse, validate } from '@commonformhq/deploy-manifest'\n\nconst manifest = parse(yamlString, 'yaml')\nconst errors = validate(manifest)\n\nif (errors.length === 0) {\n  console.log(`${manifest.app.name} is valid`)\n}\n```\n\n## Install\n\n```sh\nnpm install @commonformhq/deploy-manifest\n```\n\n## Usage\n\n### Parse a string\n\n```ts\nimport { parse } from '@commonformhq/deploy-manifest'\n\n// From YAML\nconst m = parse(yamlStr, 'yaml')\n\n// From JSON\nconst m = parse(jsonStr, 'json')\n\n// From TOML\nconst m = parse(tomlStr, 'toml')\n```\n\n### Parse a file (Node, Bun, Deno)\n\n```ts\nimport { parseFile } from '@commonformhq/deploy-manifest'\n\nconst m = await parseFile('deploy.yaml')\n```\n\n### Validate\n\n```ts\nimport { validate } from '@commonformhq/deploy-manifest'\n\nconst errors = validate(manifest)\n// errors: Array<{ field: string, message: string }>\n// empty array = valid\n```\n\n### Serialize\n\n```ts\nimport { stringify } from '@commonformhq/deploy-manifest'\n\nconst yaml = stringify(manifest, 'yaml')\nconst json = stringify(manifest, 'json')\nconst toml = stringify(manifest, 'toml')\n```\n\n### Frontend usage\n\nNo file I/O needed — just use `parse()` and `validate()` with a string\nfrom a textarea, HTTP response, etc.\n\n```ts\nimport { parse, validate } from '@commonformhq/deploy-manifest'\n\nconst input = await response.text()\nconst manifest = parse(input, 'yaml')\nconst errors = validate(manifest)\n```\n\n## API\n\n| Function | Returns | Description |\n|----------|---------|-------------|\n| `parse(input, format)` | `DeployManifest` | Parse a string in the given format |\n| `parseFile(path)` | `Promise<DeployManifest>` | Read and parse a file (auto-detects format) |\n| `stringify(manifest, format)` | `string` | Serialize to a string |\n| `validate(manifest)` | `ValidationError[]` | Validate against the spec (empty = valid) |\n\n## License\n\nMPL-2.0\n","readmeFilename":"","_rev":"1-ef9ce71238981c17e1deccc20bfdb20a"}