{"_id":"kiwi.js","_rev":"3330006","name":"kiwi.js","description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","dist-tags":{"latest":"1.1.3"},"maintainers":[{"name":"ijzerenhein","email":""}],"time":{"modified":"2024-07-10T07:13:52.000Z","created":"2016-10-16T12:27:59.622Z","1.1.3":"2021-12-02T08:34:08.089Z","1.1.2":"2019-07-22T12:54:11.595Z","1.1.1":"2019-02-22T14:45:52.708Z","1.1.0":"2018-09-10T20:40:24.992Z","1.0.2":"2018-03-31T10:03:31.384Z","1.0.1":"2016-10-16T12:36:33.029Z","1.0.0":"2016-10-16T12:27:59.622Z"},"users":{},"author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"versions":{"1.1.3":{"name":"kiwi.js","version":"1.1.3","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","module":"es/kiwi.js","types":"es/kiwi.d.ts","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":[{"name":"Hein Rutjes","email":"IJzerenHein"}],"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"devDependencies":{"benchmark":"^2.1.4","cassowary":"0.0.2","chai":"^4.2.0","codecov":"^3.5.0","istanbul":"^0.4.5","jsdoc-to-markdown":"^5.0.0","mocha":"^6.2.0","rollup":"^1.17.0","rollup-plugin-uglify":"^6.0.2","tslint":"^5.18.0","typescript":"^3.5.3"},"scripts":{"build":"tsc && tsc -t es6 --outDir tmp/es && rollup -c","test":"mocha","cov":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -R test/main","doc":"jsdoc2md -f tmp/kiwi.js -m none -g none > docs/Kiwi.md","lint":"tslint -c tslint.json 'src/**/*.ts'","bench":"node bench/main.js"},"gitHead":"0442851bfab351995cef629ca0fb641061c7a3c0","_id":"kiwi.js@1.1.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"shasum":"8e62dd9714cdacd8f8d11cf654e0c6001ab3c403","size":38233,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.1.3.tgz"},"_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"directories":{},"maintainers":[{"name":"ijzerenhein","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kiwi.js_1.1.3_1638434047891_0.9988845311100392"},"_hasShrinkwrap":false,"publish_time":1638434048089,"_cnpm_publish_time":1638434048089,"_cnpmcore_publish_time":"2021-12-16T22:23:40.355Z"},"1.1.2":{"name":"kiwi.js","version":"1.1.2","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","module":"es/kiwi.js","types":"es/kiwi.d.ts","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":[{"name":"Hein Rutjes","email":"IJzerenHein"}],"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"devDependencies":{"benchmark":"^2.1.4","cassowary":"0.0.2","chai":"^4.2.0","codecov":"^3.5.0","istanbul":"^0.4.5","jsdoc-to-markdown":"^5.0.0","mocha":"^6.2.0","rollup":"^1.17.0","rollup-plugin-uglify":"^6.0.2","tslint":"^5.18.0","typescript":"^3.5.3"},"scripts":{"build":"tsc && tsc -t es6 --outDir tmp/es && rollup -c","test":"mocha","cov":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -R test/main","doc":"jsdoc2md -f tmp/kiwi.js -m none -g none > docs/Kiwi.md","lint":"tslint -c tslint.json 'src/**/*.ts'","bench":"node bench/main.js"},"gitHead":"c543b90a84006e1fba7f083dc3656fa351eedb42","_id":"kiwi.js@1.1.2","_nodeVersion":"12.6.0","_npmVersion":"6.9.0","dist":{"shasum":"814fa53602f7b095361be0e771ae9b32ebe5fdef","size":39300,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.1.2.tgz"},"maintainers":[{"name":"ijzerenhein","email":""}],"_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kiwi.js_1.1.2_1563800051468_0.06663860823934176"},"_hasShrinkwrap":false,"publish_time":1563800051595,"_cnpm_publish_time":1563800051595,"_cnpmcore_publish_time":"2021-12-16T22:23:40.683Z"},"1.1.1":{"name":"kiwi.js","version":"1.1.1","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","module":"es/kiwi.js","types":"es/kiwi.d.ts","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":[{"name":"Hein Rutjes","email":"IJzerenHein"}],"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"devDependencies":{"benchmark":"^2.1.4","cassowary":"0.0.2","chai":"^4.2.0","codecov":"^3.2.0","istanbul":"^0.4.5","jsdoc-to-markdown":"^4.0.1","mocha":"^6.0.1","rollup":"^1.2.2","rollup-plugin-uglify":"^6.0.2","tslint":"^5.12.1","typescript":"^3.3.3333"},"scripts":{"build":"tsc && tsc -t es6 --outDir tmp/es && rollup -c","test":"mocha","cov":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -R test/main","doc":"jsdoc2md -f tmp/kiwi.js -m none -g none > docs/Kiwi.md","lint":"tslint -c tslint.json 'src/**/*.ts'","bench":"node bench/main.js"},"gitHead":"35816fbcd304a41199cf69803b232ed7d208f61c","_id":"kiwi.js@1.1.1","_npmVersion":"6.5.0","_nodeVersion":"8.14.0","_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"dist":{"shasum":"a5b14626e6d34bea9a8eb45e3a7dd8e096fa3f90","size":39267,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.1.1.tgz"},"maintainers":[{"name":"ijzerenhein","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kiwi.js_1.1.1_1550846752521_0.0013253153727648126"},"_hasShrinkwrap":false,"publish_time":1550846752708,"_cnpm_publish_time":1550846752708,"_cnpmcore_publish_time":"2021-12-16T22:23:41.349Z"},"1.1.0":{"name":"kiwi.js","version":"1.1.0","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","module":"es/kiwi.js","types":"es/kiwi.d.ts","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":[{"name":"Hein Rutjes","email":"IJzerenHein"}],"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"devDependencies":{"benchmark":"^2.1.1","cassowary":"0.0.2","chai":"^4.1.2","codecov":"^3.0.0","istanbul":"^0.4.5","jsdoc-to-markdown":"^4.0.1","mocha":"^3.1.2","rollup":"^0.65.0","rollup-plugin-uglify":"^5.0.2","tslint":"^5.9.1","typescript":"^3.0.3"},"scripts":{"build":"tsc && tsc -t es6 --outDir tmp/es && rollup -c","test":"mocha","cov":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -R test/main","doc":"jsdoc2md -f tmp/kiwi.js -m none -g none > docs/Kiwi.md","lint":"tslint -c tslint.json 'src/**/*.ts'","bench":"node bench/main.js"},"gitHead":"b573a059af403f629b533220f509a3a52649881f","_id":"kiwi.js@1.1.0","_npmVersion":"6.2.0","_nodeVersion":"8.11.3","_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"maintainers":[{"name":"ijzerenhein","email":""}],"dist":{"shasum":"c9764b7c781aa3437a6eb20fe51d07f3f816a7a8","size":40327,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.1.0.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kiwi.js_1.1.0_1536612024841_0.8689821795331005"},"_hasShrinkwrap":false,"publish_time":1536612024992,"_cnpm_publish_time":1536612024992,"_cnpmcore_publish_time":"2021-12-16T22:23:41.629Z"},"1.0.2":{"name":"kiwi.js","version":"1.0.2","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git+https://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":{"name":"Hein Rutjes <IJzerenHein>"},"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"license":"BSD-3-Clause","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"files":["src","lib","COPYING.txt"],"devDependencies":{"benchmark":"^2.1.1","cassowary":"0.0.2","chai":"^4.1.2","codecov":"^3.0.0","grunt":"^1.0.2","grunt-banner":"^0.6.0","grunt-contrib-concat":"^1.0.1","grunt-contrib-uglify":"^3.3.0","grunt-exec":"^3.0.0","grunt-jsdoc-to-markdown":"^4.0.0","grunt-string-replace":"^1.3.1","grunt-tslint":"^5.0.1","grunt-umd":"^3.0.0","istanbul":"^0.4.5","mocha":"^3.1.2","tslint":"^5.9.1","typescript":"^2.7.2"},"scripts":{"build":"grunt build","test":"mocha","cov":"istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -R test/main","doc":"grunt doc","lint":"grunt lint","bench":"node bench/main.js"},"gitHead":"8ca847fbdff4cc184a646c173feb6ddfe7dd06c1","_id":"kiwi.js@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.9.0","_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"maintainers":[{"name":"ijzerenhein","email":""}],"dist":{"shasum":"7958d19b270bd89b96b0e9d8ea067df107276f18","size":35161,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.0.2.tgz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kiwi.js_1.0.2_1522490611247_0.38003241852299596"},"_hasShrinkwrap":false,"publish_time":1522490611384,"_cnpm_publish_time":1522490611384,"_cnpmcore_publish_time":"2021-12-16T22:23:41.955Z"},"1.0.1":{"name":"kiwi.js","version":"1.0.1","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":{"name":"Hein Rutjes <IJzerenHein>"},"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"licenses":[{"type":"MBSD","url":"https://github.com/IjzerenHein/kiwi.js/blob/master/COPYING.txt"}],"bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"engines":{"node":">= 0.10.0"},"files":["src","lib","COPYING.txt"],"devDependencies":{"benchmark":"^2.1.1","cassowary":"0.0.2","chai":"^3.5.0","grunt":"^1.0.1","grunt-banner":"^0.6.0","grunt-contrib-concat":"^1.0.1","grunt-contrib-uglify":"^2.0.0","grunt-exec":"^1.0.1","grunt-jsdoc-to-markdown":"^2.0.0","grunt-string-replace":"^1.3.1","grunt-tslint":"^3.3.0","grunt-umd":"^2.3.6","lodash":"^4.16.4","mocha":"^3.1.2","platform":"^1.3.1","tslint":"^3.15.1","typescript":"^2.0.3"},"gitHead":"5729eb1f8fbd4f914294ae612dfe7113f8fa77f1","_id":"kiwi.js@1.0.1","scripts":{},"_shasum":"6c92a2968e4204c698afb2723fa70f13fd8a1042","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"maintainers":[{"name":"ijzerenhein","email":""}],"dist":{"shasum":"6c92a2968e4204c698afb2723fa70f13fd8a1042","size":33655,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.0.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kiwi.js-1.0.1.tgz_1476621391102_0.18339463719166815"},"directories":{},"publish_time":1476621393029,"_hasShrinkwrap":false,"_cnpm_publish_time":1476621393029,"_cnpmcore_publish_time":"2021-12-16T22:23:42.284Z"},"1.0.0":{"name":"kiwi.js","version":"1.0.0","homepage":"https://github.com/IjzerenHein/kiwi.js","repository":{"type":"git","url":"git://github.com/IjzerenHein/kiwi.js.git"},"main":"lib/kiwi.js","author":{"name":"Chris Colbert","email":"sccolbert@gmail.com"},"contributors":{"name":"Hein Rutjes <IJzerenHein>"},"description":"Kiwi is a high speed implementation of the Cassowary constraint solving algorithm","keywords":["cassowary","kiwi","kiwi.js","constraint solver","autolayout"],"licenses":[{"type":"MBSD","url":"https://github.com/IjzerenHein/kiwi.js/blob/master/COPYING.txt"}],"bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"engines":{"node":">= 0.10.0"},"files":["src","lib","COPYING.txt"],"devDependencies":{"benchmark":"^2.1.1","cassowary":"0.0.2","chai":"^3.5.0","grunt":"^1.0.1","grunt-banner":"^0.6.0","grunt-contrib-concat":"^1.0.1","grunt-contrib-uglify":"^2.0.0","grunt-exec":"^1.0.1","grunt-jsdoc-to-markdown":"^2.0.0","grunt-string-replace":"^1.3.1","grunt-tslint":"^3.3.0","grunt-umd":"^2.3.6","lodash":"^4.16.4","mocha":"^3.1.2","platform":"^1.3.1","tslint":"^3.15.1","typescript":"^2.0.3"},"gitHead":"8ae4986e924eecb6d1f5c3cdacff848fd0510854","_id":"kiwi.js@1.0.0","scripts":{},"_shasum":"8e2e7a8e747839a6ae9f9fe60a26a6097e13d6c9","_from":".","_npmVersion":"3.10.7","_nodeVersion":"6.6.0","_npmUser":{"name":"ijzerenhein","email":"hrutjes@gmail.com"},"maintainers":[{"name":"ijzerenhein","email":""}],"dist":{"shasum":"8e2e7a8e747839a6ae9f9fe60a26a6097e13d6c9","size":33712,"noattachment":false,"key":"/kiwi.js/-/kiwi.js-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/kiwi.js/download/kiwi.js-1.0.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/kiwi.js-1.0.0.tgz_1476620877770_0.5969054002780467"},"directories":{},"publish_time":1476620879622,"_hasShrinkwrap":false,"_cnpm_publish_time":1476620879622,"_cnpmcore_publish_time":"2021-12-16T22:23:43.587Z"}},"readme":"# THIS REPOSITORY IS NO LONGER MAINTAINED\n\nLooking for an alternative? Please have a look at [lume/kiwi](https://github.com/lume/kiwi).\n\nIf you are interested in maintaining this repository (and taking ownership of it), please reach out to me [here](mailto:hrutjes@gmail.com).\n\n# kiwi.js\n\n[![view on npm](http://img.shields.io/npm/v/kiwi.js.svg)](https://www.npmjs.org/package/kiwi.js)\n[![Build Status](https://travis-ci.org/IjzerenHein/kiwi.js.svg?branch=master)](https://travis-ci.org/IjzerenHein/kiwi.js)\n[![codecov](https://codecov.io/gh/IjzerenHein/kiwi.js/branch/master/graph/badge.svg)](https://codecov.io/gh/IjzerenHein/kiwi.js)\n\nKiwi.js is a fast TypeScript implementation of the Cassowary constraint solving algorithm, based on the seminal Cassowary paper.\nOriginally created by Chris Colbert, it was redesigned from the ground up to be lightweight, fast and easy to maintain. View the [benchmarks](#benchmarks) to see how it compares to [Cassowary.js](https://github.com/slightlyoff/cassowary.js).\n\n\n## Index\n- [THIS REPOSITORY IS NO LONGER MAINTAINED](#this-repository-is-no-longer-maintained)\n- [kiwi.js](#kiwijs)\n\t- [Index](#index)\n\t- [Getting started](#getting-started)\n\t- [Documentation](#documentation)\n\t- [Benchmarks](#benchmarks)\n\t- [Tests](#tests)\n\t- [Contribute](#contribute)\n\n## Getting started\n\nInstall using NPM:\n\n\tnpm install kiwi.js\n\nThe following example creates a solver which automatically calculates the width:\n\n```javascript\nimport * as kiwi from 'kiwi.js';\nimport { equal } from 'assert';\n\n// Create a solver\nvar solver = new kiwi.Solver();\n\n// Create edit variables\nvar left = new kiwi.Variable();\nvar width = new kiwi.Variable();\nsolver.addEditVariable(left, kiwi.Strength.strong);\nsolver.addEditVariable(width, kiwi.Strength.strong);\nsolver.suggestValue(left, 100);\nsolver.suggestValue(width, 400);\n\n// Create and add a constraint\nvar right = new kiwi.Variable();\nsolver.addConstraint(new kiwi.Constraint(new kiwi.Expression([-1, right], left, width), kiwi.Operator.Eq));\n\n// Solve the constraints\nsolver.updateVariables();\nequal(right.value(), 500);\n```\n\n## Documentation\n\n- [API Reference](docs/Kiwi.md)\n\n\n## Benchmarks\n\nTo run the benchmark in the browser, [just visit this page](https://rawgit.com/IjzerenHein/kiwi/master/bench/index.html).\n\nTo run the benchmark locally using nodejs, *clone or download this repository* and execute the following steps:\n\n\tnpm install\n\tnpm run bench\n\n\n## Tests\n\nTo run the tests in the browser, [just visit this page](https://rawgit.com/IjzerenHein/kiwi/master/test/index.html).\n\nTo run the tests locally using nodejs, *clone or download this repository* and execute the following steps:\n\n\tnpm install\n\tnpm run build && npm run test\n\n\n## Contribute\n\nIf you like this project and want to support it, show some love\nand give it a star.\n","_attachments":{},"homepage":"https://github.com/IjzerenHein/kiwi.js","bugs":{"url":"https://github.com/IjzerenHein/kiwi.js/issues"},"license":"BSD-3-Clause"}