{"_id":"@archlex/layout-elk","_rev":"7-e71aa32111d8199db5c6677be4a7e92a","name":"@archlex/layout-elk","dist-tags":{"latest":"0.2.7"},"versions":{"0.2.1":{"name":"@archlex/layout-elk","version":"0.2.1","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.1","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/archlex/archlex#readme","bugs":{"url":"https://github.com/archlex/archlex/issues"},"dist":{"shasum":"4f77462bdce246c2d217f3ef930c5507084d18d6","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.1.tgz","fileCount":20,"integrity":"sha512-Mq1pIzVIdphHzltbNPlUzVAGXivcNSrfXd5S7MOoAl2aPTPrZ3UCK7tcB8jXaaGrPti1w4/dPjpfnVtJd3FlDQ==","signatures":[{"sig":"MEQCICHtKz3uC0McpyA68he00Zuh0rnKiA7jMl5PlvlteyOiAiAzoUc5+h/YfCshWDyRDI7OvL2oKPu9eXTzgdPPA7nUXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10942694},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/private/var/folders/zd/8ks_wyz92zz5_58st77x0jm80000gn/T/f688612eef535cad64d6664cbbbef0be/archlex-layout-elk-0.2.1.tgz","_integrity":"sha512-Mq1pIzVIdphHzltbNPlUzVAGXivcNSrfXd5S7MOoAl2aPTPrZ3UCK7tcB8jXaaGrPti1w4/dPjpfnVtJd3FlDQ==","repository":{"url":"git+https://github.com/archlex/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"10.9.2","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"23.7.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.1_1786158532507_0.2918690485622979","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@archlex/layout-elk","version":"0.2.2","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.2","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/baires/archlex#readme","bugs":{"url":"https://github.com/baires/archlex/issues"},"dist":{"shasum":"d4d0d17c73e155a55ecf1a0faed41f0294bb5d4c","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.2.tgz","fileCount":23,"integrity":"sha512-RJ2XEtjIfuQgD3vhgdwLBG37o4NnI/75F7cxhQ7ajtiJS7WVfBiujPYUC7A0hAwPuJ+umL9JIEBvxSBAtjq4lA==","signatures":[{"sig":"MEQCIBdAfC6DibOO3wWM+fKVh+mn+KNy+E27qWeKudzXtNv6AiAC49U0ao0cwDkin5U5fjWtzaJiSPambtoUbICEB2DGCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17000308},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/private/var/folders/zd/8ks_wyz92zz5_58st77x0jm80000gn/T/69c2791e94a1dba761d30ade9b5449fe/archlex-layout-elk-0.2.2.tgz","_integrity":"sha512-RJ2XEtjIfuQgD3vhgdwLBG37o4NnI/75F7cxhQ7ajtiJS7WVfBiujPYUC7A0hAwPuJ+umL9JIEBvxSBAtjq4lA==","repository":{"url":"git+https://github.com/baires/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"10.9.2","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"23.7.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.2_1786413303730_0.7572810626709876","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@archlex/layout-elk","version":"0.2.3","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.3","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/baires/archlex#readme","bugs":{"url":"https://github.com/baires/archlex/issues"},"dist":{"shasum":"beac09fa7c3a2c964412d172361986a2b78bcea0","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.3.tgz","fileCount":23,"integrity":"sha512-6ajTthcIxzWjXApjM2D1T+lqBN9XpB2jmE6L3civyfuuOEyuPSGnWKiiFT6TblEWu5/dD+bCf8xEBDUbf23w3Q==","signatures":[{"sig":"MEUCIG0OKXnNVVP6+ocfUOaL+6aOKUw683qDKCRP1vS2w20eAiEAxhRh/AcF4W1HjFp67NnHAWt34bD5uRqyuTsj7X/NQzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archlex%2flayout-elk@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16989391},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/tmp/e4b11714e0fd61ddc96a90cfdf5256f4/archlex-layout-elk-0.2.3.tgz","_integrity":"sha512-6ajTthcIxzWjXApjM2D1T+lqBN9XpB2jmE6L3civyfuuOEyuPSGnWKiiFT6TblEWu5/dD+bCf8xEBDUbf23w3Q==","repository":{"url":"git+https://github.com/baires/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"11.16.0","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"24.18.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.3_1786417575965_0.8218911298211105","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@archlex/layout-elk","version":"0.2.4","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.4","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/baires/archlex#readme","bugs":{"url":"https://github.com/baires/archlex/issues"},"dist":{"shasum":"b8886ef843777091c2728cfa5488a558d7ad053c","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.4.tgz","fileCount":23,"integrity":"sha512-DzcvPeNJgz/PGU2O1RLB11NdCRITwnfga2keVOdWQzpW0CS6bfS9XDpG3DApP0ow5f0cr9OuHjkAE1+jA9ORgw==","signatures":[{"sig":"MEQCIDH+0i4q/438P90hkL8UhNBJDzYKfHDpmvOOzTir3R1sAiAchK5YtLrD+Yq8eqN1nE9KS+i8EusR5wkHdOGSCXwVFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archlex%2flayout-elk@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16989391},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/tmp/11cd42b2d2d899484520fcd54ac4506a/archlex-layout-elk-0.2.4.tgz","_integrity":"sha512-DzcvPeNJgz/PGU2O1RLB11NdCRITwnfga2keVOdWQzpW0CS6bfS9XDpG3DApP0ow5f0cr9OuHjkAE1+jA9ORgw==","repository":{"url":"git+https://github.com/baires/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"11.17.0","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"24.19.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.4_1786754798202_0.9787566368471152","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@archlex/layout-elk","version":"0.2.5","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.5","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/baires/archlex#readme","bugs":{"url":"https://github.com/baires/archlex/issues"},"dist":{"shasum":"592c6cdf3095b907b1d0490962d88ef2591533d6","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.5.tgz","fileCount":23,"integrity":"sha512-rqmooyYqpB0BpvuGvHnp2VLN9xa6QkR55T7OXedw4oTeYIuGifWz6TalGrk8YefW1j8/1RdJNpih6cdb/jm2kw==","signatures":[{"sig":"MEUCIQCCLtsxQiUn8lY6YBUIbgnKx+J0Ux9vXWjliEu80zW4/wIgPJTWOVl7Z3b2VRnnXjteu8zrlU24o8iREgZokZ+bFyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archlex%2flayout-elk@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16989391},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/tmp/6a0037e222687b77e6dc61fa1d1111c8/archlex-layout-elk-0.2.5.tgz","_integrity":"sha512-rqmooyYqpB0BpvuGvHnp2VLN9xa6QkR55T7OXedw4oTeYIuGifWz6TalGrk8YefW1j8/1RdJNpih6cdb/jm2kw==","repository":{"url":"git+https://github.com/baires/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"11.17.0","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"24.19.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.5_1786819284382_0.745484958751846","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@archlex/layout-elk","version":"0.2.6","keywords":["architecture","diagrams","layout","elk","graph"],"author":{"name":"Alexis Sgarbossa"},"license":"MIT","_id":"@archlex/layout-elk@0.2.6","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"homepage":"https://github.com/baires/archlex#readme","bugs":{"url":"https://github.com/baires/archlex/issues"},"dist":{"shasum":"fbcf265f888555befb5b96505bbdfc2a20bc825f","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.6.tgz","fileCount":23,"integrity":"sha512-UWyXlH6R3t3dfLOelaAVzhYyhH+RXaPu8mjjo2pKSIRpHi70hO534jcJRKqoN4SGeqU6J5AztBRLprm6IAmJZw==","signatures":[{"sig":"MEYCIQCVkNHrBCuImVSrAxOclICRy86OOYoYT2000U4T+uXocgIhAOcelYWf4vYMUG1mEcUUR6K3wKYMF9+44yHTPA0V4c9q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archlex%2flayout-elk@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16989391},"main":"./dist/index.js","type":"module","_from":"file:archlex-layout-elk-0.2.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run --passWithNoTests","build":"vite build && tsc --emitDeclarationOnly"},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"_resolved":"/tmp/06ebc12213d2262c69e20d8702478a63/archlex-layout-elk-0.2.6.tgz","_integrity":"sha512-UWyXlH6R3t3dfLOelaAVzhYyhH+RXaPu8mjjo2pKSIRpHi70hO534jcJRKqoN4SGeqU6J5AztBRLprm6IAmJZw==","repository":{"url":"git+https://github.com/baires/archlex.git","type":"git","directory":"packages/layout-elk"},"_npmVersion":"11.17.0","description":"ELK-based layout engine for ArchLex architecture diagrams","directories":{},"_nodeVersion":"24.19.0","dependencies":{"elkjs":"^0.9.3","@archlex/model":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","vitest":"^3.0.5","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/layout-elk_0.2.6_1787347478706_0.9412785618423547","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@archlex/layout-elk","version":"0.2.7","description":"ELK-based layout engine for ArchLex architecture diagrams","keywords":["architecture","diagrams","layout","elk","graph"],"repository":{"type":"git","url":"git+https://github.com/baires/archlex.git","directory":"packages/layout-elk"},"license":"MIT","author":{"name":"Alexis Sgarbossa"},"type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser.js","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"elkjs":"^0.12.0","@archlex/model":"^0.6.0"},"devDependencies":{"typescript":"^5.7.3","vite":"^6.1.0","vitest":"^3.0.5"},"scripts":{"build":"vite build && vite build --mode browser && tsc --emitDeclarationOnly","test":"vitest run --passWithNoTests"},"_id":"@archlex/layout-elk@0.2.7","bugs":{"url":"https://github.com/baires/archlex/issues"},"homepage":"https://github.com/baires/archlex#readme","_integrity":"sha512-LTFJoM7f1Xz96fKiAwXaFLArpCho/leACAknD/9sH26lYTBz66q0ct74RFzht4plSrK/d+t5QQK5SEgJLjpfNw==","_resolved":"/tmp/9754153b9898d84ac26a3da59a3461f0/archlex-layout-elk-0.2.7.tgz","_from":"file:archlex-layout-elk-0.2.7.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-LTFJoM7f1Xz96fKiAwXaFLArpCho/leACAknD/9sH26lYTBz66q0ct74RFzht4plSrK/d+t5QQK5SEgJLjpfNw==","shasum":"ec53420d084c7c9de4b3f1ceaca112aed888114d","tarball":"https://registry.npmjs.org/@archlex/layout-elk/-/layout-elk-0.2.7.tgz","fileCount":31,"unpackedSize":17073603,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archlex%2flayout-elk@0.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC222ndbjno5RDBN6J2sA0r6Di263AP9U41mtfrcSnPTAiA0SCa6QfqwJ3RjAmh+5Ir8yE2arqy5UQTBnMu2pVbGxA=="}]},"_npmUser":{"name":"baires","email":"alexis@sgarbossa.com.ar"},"directories":{},"maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/layout-elk_0.2.7_1787412910815_0.2643088115363772"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-08T03:08:52.354Z","modified":"2026-08-22T15:35:11.344Z","0.2.1":"2026-08-08T03:08:52.694Z","0.2.2":"2026-08-11T01:55:03.978Z","0.2.3":"2026-08-11T03:06:16.235Z","0.2.4":"2026-08-15T00:46:38.484Z","0.2.5":"2026-08-15T18:41:24.625Z","0.2.6":"2026-08-21T21:24:38.941Z","0.2.7":"2026-08-22T15:35:11.057Z"},"bugs":{"url":"https://github.com/baires/archlex/issues"},"author":{"name":"Alexis Sgarbossa"},"license":"MIT","homepage":"https://github.com/baires/archlex#readme","keywords":["architecture","diagrams","layout","elk","graph"],"repository":{"type":"git","url":"git+https://github.com/baires/archlex.git","directory":"packages/layout-elk"},"description":"ELK-based layout engine for ArchLex architecture diagrams","maintainers":[{"name":"baires","email":"alexis@sgarbossa.com.ar"}],"readme":"# @archlex/layout-elk\n\nELK-based layout engine for ArchLex architecture diagrams.\n\n## Installation\n\n```bash\nnpm install @archlex/layout-elk @archlex/model\n```\n\n## Usage\n\n```typescript\nimport { ElkLayoutEngine } from '@archlex/layout-elk';\nimport type { Diagram } from '@archlex/model';\n\nconst diagram: Diagram = {\n  nodes: [\n    { id: 'web', type: 'ec2', provider: 'aws' },\n    { id: 'api', type: 'lambda', provider: 'aws' },\n    { id: 'db', type: 'rds', provider: 'aws' }\n  ],\n  edges: [\n    { source: 'web', target: 'api' },\n    { source: 'api', target: 'db' }\n  ]\n};\n\nconst layoutEngine = new ElkLayoutEngine();\nconst layoutedDiagram = await layoutEngine.layout(diagram);\n\n// Nodes now have positions\nconsole.log(layoutedDiagram.nodes[0].position); // { x: 0, y: 0 }\n```\n\n## Features\n\n- Automatic graph layout using ELK (Eclipse Layout Kernel)\n- Multiple layout directions (TB, BT, LR, RL)\n- Hierarchical layout support\n- Container and group handling\n- Configurable spacing and alignment\n\n## Layout Options\n\n```typescript\nconst layoutEngine = new ElkLayoutEngine({\n  direction: 'TB', // Top to Bottom\n  spacing: {\n    node: 80,\n    edge: 20,\n    layer: 60\n  },\n  alignment: 'center',\n  separateComponents: true\n});\n\nconst result = await layoutEngine.layout(diagram);\n```\n\n## Layout Directions\n\n- `TB` - Top to Bottom (default)\n- `BT` - Bottom to Top\n- `LR` - Left to Right\n- `RL` - Right to Left\n\n## Advanced Features\n\n### Container Layout\n\n```typescript\n// Nodes with children are automatically handled\nconst diagram: Diagram = {\n  nodes: [\n    { id: 'vpc', type: 'vpc', provider: 'aws', children: ['web', 'db'] },\n    { id: 'web', type: 'ec2', provider: 'aws', parent: 'vpc' },\n    { id: 'db', type: 'rds', provider: 'aws', parent: 'vpc' }\n  ],\n  edges: [{ source: 'web', target: 'db' }]\n};\n```\n\n### Edge Routing\n\nELK automatically calculates edge routing and bend points for clean, non-overlapping connections.\n\n## Documentation\n\nVisit [archlex.dev](https://archlex.dev) for full documentation.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}