{"_id":"snabbdom","_rev":"2783648","name":"snabbdom","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","dist-tags":{"latest":"3.5.0"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"time":{"modified":"2022-06-13T06:09:52.000Z","created":"2015-05-16T12:46:33.191Z","3.5.0":"2022-04-26T20:09:46.629Z","3.4.0":"2022-03-20T18:42:40.040Z","3.3.1":"2022-01-18T09:22:23.087Z","3.3.0":"2022-01-17T19:16:47.826Z","3.2.0":"2021-12-13T21:47:03.882Z","3.1.0":"2021-09-03T13:35:24.578Z","3.0.3":"2021-06-04T15:44:48.649Z","3.0.2":"2021-06-01T13:02:16.065Z","3.0.1":"2021-03-28T23:53:38.666Z","3.0.0":"2021-03-28T18:58:37.750Z","2.1.0":"2020-09-14T05:10:58.959Z","2.0.0":"2020-09-10T03:20:34.928Z","1.0.1":"2020-06-18T14:59:52.052Z","0.7.4":"2019-12-12T13:50:55.654Z","0.7.3":"2018-12-20T20:15:21.892Z","0.7.2":"2018-09-02T14:45:19.151Z","0.7.1":"2017-12-16T13:51:43.688Z","0.7.0":"2017-07-27T18:28:28.735Z","0.6.9":"2017-05-19T13:00:15.176Z","0.6.8":"2017-05-16T13:17:31.834Z","0.6.7":"2017-03-11T19:02:05.904Z","0.6.6":"2017-03-07T11:27:49.820Z","0.6.5":"2017-02-25T15:38:41.838Z","0.6.4":"2017-02-09T13:14:07.957Z","0.6.3":"2017-01-16T10:46:06.951Z","0.6.2":"2017-01-16T10:37:41.890Z","0.6.1":"2017-01-05T20:40:10.155Z","0.6.0":"2017-01-05T11:47:27.660Z","0.5.4":"2016-10-20T16:31:18.372Z","0.5.3":"2016-09-09T11:47:33.749Z","0.5.2":"2016-09-03T07:35:26.349Z","0.5.1":"2016-07-21T19:20:24.430Z","0.5.0":"2016-05-17T13:43:34.972Z","0.4.2":"2016-03-14T20:32:58.258Z","0.4.1":"2016-03-13T20:01:37.143Z","0.4.0":"2016-03-04T13:10:16.143Z","0.3.4":"2016-02-26T09:31:28.522Z","0.3.3":"2016-02-15T17:28:28.541Z","0.3.2":"2016-02-12T08:56:12.208Z","0.3.1":"2016-01-23T08:50:03.097Z","0.3.0":"2016-01-11T18:04:50.925Z","0.2.8":"2015-12-15T19:42:43.177Z","0.2.7":"2015-10-18T06:34:57.533Z","0.2.6":"2015-08-17T06:22:51.374Z","0.2.5":"2015-07-29T09:49:38.282Z","0.2.4":"2015-07-28T07:06:11.568Z","0.2.3":"2015-07-18T11:48:50.327Z","0.2.2":"2015-07-15T11:38:38.627Z","0.2.1":"2015-06-29T20:49:30.288Z","0.2.0":"2015-06-11T09:20:23.994Z","0.1.5":"2015-06-04T08:34:10.050Z","0.1.4":"2015-06-01T11:15:16.117Z","0.1.3":"2015-05-30T12:23:56.097Z","0.1.2":"2015-05-26T15:58:50.630Z","0.1.1":"2015-05-26T15:42:32.511Z","0.1.0":"2015-05-25T09:02:58.087Z","0.0.1":"2015-05-16T12:46:33.191Z"},"users":{},"author":{"name":"Simon Friis Vindum"},"repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"versions":{"3.5.0":{"name":"snabbdom","version":"3.5.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","examples":"serve .","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^4.3.0","@types/chai":"4.3.1","@types/lodash.shuffle":"4.2.7","@types/mocha":"9.1.1","@typescript-eslint/eslint-plugin":"5.21.0","@typescript-eslint/parser":"^5.21.0","chai":"4.3.6","commithelper":"^1.2.0","conventional-changelog-angular":"^5.0.13","cross-env":"7.0.3","eslint":"8.14.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"2.26.0","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","husky":"7.0.4","karma":"6.3.19","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.1","karma-firefox-launcher":"2.1.2","karma-mocha":"2.0.1","karma-mocha-reporter":"^2.2.5","karma-typescript":"^5.5.3","lint-staged":"^12.4.1","lodash.shuffle":"4.2.0","mocha":"9.2.2","prettier":"^2.6.2","release-it":"^14.14.2","rollup":"^2.70.2","serve":"^13.0.2","typescript":"4.6.3"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"c230eb8aded06781e57e0f7efdff0b87d989e462","_id":"snabbdom@3.5.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"shasum":"e75acbdedb26ea327c75028a433ba064db0ccf6e","size":92681,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.5.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.5.0_1651003786361_0.9492344678650013"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-26T20:09:58.860Z","publish_time":1651003786629,"_cnpm_publish_time":1651003786629},"3.4.0":{"name":"snabbdom","version":"3.4.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","examples":"serve .","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^4.2.2","@types/chai":"4.3.0","@types/lodash.shuffle":"4.2.6","@types/mocha":"9.1.0","@typescript-eslint/eslint-plugin":"5.15.0","@typescript-eslint/parser":"^5.15.0","chai":"4.3.6","commithelper":"^1.2.0","conventional-changelog-angular":"^5.0.13","cross-env":"7.0.3","eslint":"8.11.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"2.25.4","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","husky":"7.0.4","karma":"6.3.17","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.1","karma-firefox-launcher":"2.1.2","karma-mocha":"2.0.1","karma-mocha-reporter":"^2.2.3","karma-typescript":"^5.5.3","lint-staged":"^12.3.7","lodash.shuffle":"4.2.0","mocha":"9.2.2","prettier":"^2.6.0","release-it":"^14.13.0","rollup":"^2.70.1","serve":"^13.0.2","typescript":"4.6.2"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"e9a7136a63987297bd6410b9bd19221b6250d3f2","_id":"snabbdom@3.4.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"shasum":"c76ed02643729f84a63875b7894a0fbcdc95c710","size":92446,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.4.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.4.0_1647801759878_0.4197795771523265"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-03-20T18:42:44.428Z","publish_time":1647801760040,"_cnpm_publish_time":1647801760040},"3.3.1":{"name":"snabbdom","version":"3.3.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","examples":"serve .","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^4.1.0","@types/chai":"4.3.0","@types/lodash.shuffle":"4.2.6","@types/mocha":"9.0.0","@typescript-eslint/eslint-plugin":"5.10.0","@typescript-eslint/parser":"^5.10.0","chai":"4.3.4","commithelper":"^1.2.0","conventional-changelog-angular":"^5.0.13","cross-env":"7.0.3","eslint":"8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.25.4","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","husky":"7.0.4","karma":"6.3.11","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.2","karma-mocha":"2.0.1","karma-mocha-reporter":"^2.2.3","karma-typescript":"^5.5.3","lint-staged":"^12.1.7","lodash.shuffle":"4.2.0","mocha":"9.1.4","prettier":"^2.5.1","release-it":"^14.12.3","rollup":"^2.64.0","serve":"^13.0.2","typescript":"4.5.4"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"44afd386827139a1159cc40d8caa813e2da6e826","_id":"snabbdom@3.3.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"a2fb9a1c85cc19d6dc11c4c5e4c78cbbbaafff1f","size":82786,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.3.1.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.3.1_1642497742897_0.6379657628994757"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-18T09:25:07.918Z","publish_time":1642497743087,"_cnpm_publish_time":1642497743087},"3.3.0":{"name":"snabbdom","version":"3.3.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","examples":"serve .","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^4.1.0","@types/chai":"4.3.0","@types/lodash.shuffle":"4.2.6","@types/mocha":"9.0.0","@typescript-eslint/eslint-plugin":"5.10.0","@typescript-eslint/parser":"^5.10.0","chai":"4.3.4","commithelper":"^1.2.0","conventional-changelog-angular":"^5.0.13","cross-env":"7.0.3","eslint":"8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.25.4","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","husky":"7.0.4","karma":"6.3.11","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.2","karma-mocha":"2.0.1","karma-mocha-reporter":"^2.2.3","karma-typescript":"^5.5.3","lint-staged":"^12.1.7","lodash.shuffle":"4.2.0","mocha":"9.1.4","prettier":"^2.5.1","release-it":"^14.12.3","rollup":"^2.64.0","serve":"^13.0.2","typescript":"4.5.4"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"77d6753dd477953efa2741ef3815b8fd13087bc2","_id":"snabbdom@3.3.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"9d9c725333ee00ed6882004903f2297c54f546f5","size":82448,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.3.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.3.0_1642447007662_0.26336003305336364"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-17T19:16:56.673Z","publish_time":1642447007826,"_cnpm_publish_time":1642447007826},"3.2.0":{"name":"snabbdom","version":"3.2.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","examples":"serve .","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^3.3.0","@types/chai":"4.2.22","@types/faker":"5.5.8","@types/lodash.shuffle":"4.2.6","@types/mathjs":"9.4.1","@types/mocha":"9.0.0","@typescript-eslint/eslint-plugin":"4.31.2","@typescript-eslint/parser":"^4.31.2","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.2","commithelper":"^1.2.0","conventional-changelog-angular":"^5.0.13","core-js":"3.18.0","cross-env":"7.0.3","eslint":"7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.24.2","eslint-plugin-markdown":"2.2.1","eslint-plugin-node":"11.1.0","faker":"5.5.3","husky":"7.0.2","karma":"6.3.4","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.1","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.2","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^11.1.2","lodash.shuffle":"4.2.0","mathjs":"9.5.0","mocha":"9.1.2","p-map-series":"3.0.0","p-reduce":"3.0.0","prettier":"^2.4.1","release-it":"^14.11.6","rollup":"^2.57.0","serve":"^12.0.1","tty-table":"4.1.5","typescript":"4.4.3"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"df0f031255f3dafa6b30522fc5c2f3d8234ca5d6","_id":"snabbdom@3.2.0","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"shasum":"8ea6b2517739a7d9ca82df3f181d052adf1ca5ad","size":84884,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.2.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.2.0_1639432023651_0.3825808114364344"},"_hasShrinkwrap":false,"publish_time":1639432023882,"_cnpm_publish_time":1639432023882,"_cnpmcore_publish_time":"2021-12-16T19:11:40.892Z"},"3.1.0":{"name":"snabbdom","version":"3.1.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^2.0.1","@types/chai":"4.2.18","@types/faker":"5.5.5","@types/lodash.shuffle":"4.2.6","@types/mathjs":"9.3.2","@types/mocha":"8.2.2","@typescript-eslint/eslint-plugin":"4.25.0","@typescript-eslint/parser":"^4.25.0","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.1","commithelper":"^1.1.1","conventional-changelog-angular":"^5.0.12","core-js":"3.13.1","cross-env":"7.0.3","eslint":"7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.23.4","eslint-plugin-markdown":"2.2.0","eslint-plugin-node":"11.1.0","faker":"5.5.3","husky":"6.0.0","karma":"6.3.2","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.1","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^11.0.0","lodash.shuffle":"4.2.0","mathjs":"9.4.1","mocha":"8.4.0","p-map-series":"3.0.0","p-reduce":"3.0.0","prettier":"^2.3.0","release-it":"^14.7.0","rollup":"^2.50.4","tty-table":"4.1.3","typescript":"4.3.2"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"5a5cce2161ab77c10cac96b0c1f24103db7e6c09","_id":"snabbdom@3.1.0","_nodeVersion":"14.17.4","_npmVersion":"6.14.14","dist":{"shasum":"8ca931f562d3421de71c8b44e70c285cfa5f2dc9","size":83130,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.1.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.1.0_1630676124454_0.17052583157722712"},"_hasShrinkwrap":false,"publish_time":1630676124578,"_cnpm_publish_time":1630676124578,"_cnpmcore_publish_time":"2021-12-16T19:11:41.298Z"},"3.0.3":{"name":"snabbdom","version":"3.0.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"npm run test && release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^2.0.1","@types/chai":"4.2.18","@types/faker":"5.5.5","@types/lodash.shuffle":"4.2.6","@types/mathjs":"9.3.2","@types/mocha":"8.2.2","@typescript-eslint/eslint-plugin":"4.25.0","@typescript-eslint/parser":"^4.25.0","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.1","commithelper":"^1.1.1","conventional-changelog-angular":"^5.0.12","core-js":"3.13.1","cross-env":"7.0.3","eslint":"7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.23.4","eslint-plugin-markdown":"2.2.0","eslint-plugin-node":"11.1.0","faker":"5.5.3","husky":"6.0.0","karma":"6.3.2","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.1","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^11.0.0","lodash.shuffle":"4.2.0","mathjs":"9.4.1","mocha":"8.4.0","p-map-series":"3.0.0","p-reduce":"3.0.0","prettier":"^2.3.0","release-it":"^14.7.0","rollup":"^2.50.4","tty-table":"4.1.3","typescript":"4.3.2"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"b8707ad68e2cb7257528f22157a18ded53379d0a","_id":"snabbdom@3.0.3","_nodeVersion":"16.0.0","_npmVersion":"7.11.2","dist":{"shasum":"13ff22fbdd1c971ace1af55d4831bdb4972aafd0","size":90121,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.0.3.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.0.3_1622821488507_0.1990134382304083"},"_hasShrinkwrap":false,"publish_time":1622821488649,"_cnpm_publish_time":1622821488649,"_cnpmcore_publish_time":"2021-12-16T19:11:41.835Z"},"3.0.2":{"name":"snabbdom","version":"3.0.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^2.0.1","@types/chai":"4.2.18","@types/faker":"5.5.5","@types/lodash.shuffle":"4.2.6","@types/mathjs":"9.3.2","@types/mocha":"8.2.2","@typescript-eslint/eslint-plugin":"4.25.0","@typescript-eslint/parser":"^4.25.0","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.1","commithelper":"^1.1.1","conventional-changelog-angular":"^5.0.12","core-js":"3.13.1","cross-env":"7.0.3","eslint":"7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"2.23.4","eslint-plugin-markdown":"2.2.0","eslint-plugin-node":"11.1.0","faker":"5.5.3","husky":"6.0.0","karma":"6.3.2","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.1","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^11.0.0","lodash.shuffle":"4.2.0","mathjs":"9.4.1","mocha":"8.4.0","p-map-series":"3.0.0","p-reduce":"3.0.0","prettier":"^2.3.0","release-it":"^14.7.0","rollup":"^2.50.4","tty-table":"4.1.3","typescript":"4.3.2"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"9e7db265eeaad1182fed26991709087f87a06845","_id":"snabbdom@3.0.2","_nodeVersion":"16.1.0","_npmVersion":"7.12.1","dist":{"shasum":"c496182de0b4e6c5b3697e05a1e971fe34d47920","size":81722,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.0.2.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.0.2_1622552535916_0.0153908569060901"},"_hasShrinkwrap":false,"publish_time":1622552536065,"_cnpm_publish_time":1622552536065,"_cnpmcore_publish_time":"2021-12-16T19:11:42.296Z"},"3.0.1":{"name":"snabbdom","version":"3.0.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^2.0.1","@types/chai":"4.2.15","@types/faker":"5.1.7","@types/lodash.shuffle":"4.2.6","@types/mathjs":"6.0.11","@types/mocha":"8.2.2","@typescript-eslint/eslint-plugin":"4.19.0","@typescript-eslint/parser":"^4.19.0","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.0","commithelper":"^1.1.1","conventional-changelog-angular":"^5.0.12","core-js":"3.9.1","cross-env":"7.0.3","eslint":"7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"2.22.1","eslint-plugin-markdown":"2.0.0","eslint-plugin-node":"11.1.0","faker":"5.5.1","husky":"5.2.0","karma":"6.3.1","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.1","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^10.5.4","lodash.shuffle":"4.2.0","mathjs":"9.3.0","mocha":"8.3.2","p-map-series":"2.1.0","p-reduce":"2.1.0","prettier":"^2.2.1","release-it":"^14.5.0","rollup":"^2.43.1","tty-table":"4.1.3","typescript":"4.2.3"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"995b983f04f3f2a888c290ac485aa5b49478a1b9","_id":"snabbdom@3.0.1","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"shasum":"9355339e7c970be7fcd54128ccde9ee57301f222","size":94243,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.0.1.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.0.1_1616975618533_0.8698558250795023"},"_hasShrinkwrap":false,"publish_time":1616975618666,"_cnpm_publish_time":1616975618666,"_cnpmcore_publish_time":"2021-12-16T19:11:42.888Z"},"3.0.0":{"name":"snabbdom","version":"3.0.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","homepage":"https://github.com/snabbdom/snabbdom#readme","repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"engines":{"node":">=8.3.0"},"main":"build/snabbdom.cjs.js","module":"build/index.js","sideEffects":false,"scripts":{"build":"tsc && npm run bundle:cjs","bundle:cjs":"rollup build/index.js --format cjs --file build/snabbdom.cjs.js","format":"prettier --write .","prepare":"husky install","lint":"eslint --ext .ts,.tsx,.js --ignore-path .gitignore .","unit":"cross-env FILES_PATTERN=\"test/unit/*.ts,test/unit/*.tsx\" karma start karma.conf.js","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","release":"release-it","test:ci":"npm test && cross-env ES5=true npm run unit","test":"npm run build && npm run lint && npm run unit"},"devDependencies":{"@release-it/conventional-changelog":"^2.0.1","@types/chai":"4.2.15","@types/faker":"5.1.7","@types/lodash.shuffle":"4.2.6","@types/mathjs":"6.0.11","@types/mocha":"8.2.2","@typescript-eslint/eslint-plugin":"4.19.0","@typescript-eslint/parser":"^4.19.0","benchmark":"2.1.4","chai":"4.3.4","chalk":"4.1.0","commithelper":"^1.1.1","conventional-changelog-angular":"^5.0.12","core-js":"3.9.1","cross-env":"7.0.3","eslint":"7.23.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"2.22.1","eslint-plugin-markdown":"2.0.0","eslint-plugin-node":"11.1.0","faker":"5.5.1","husky":"5.2.0","karma":"6.3.1","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"2.1.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-typescript":"^5.5.1","latest-snabbdom-release":"npm:snabbdom@2.1.0","lint-staged":"^10.5.4","lodash.shuffle":"4.2.0","mathjs":"9.3.0","mocha":"8.3.2","p-map-series":"2.1.0","p-reduce":"2.1.0","prettier":"^2.2.1","release-it":"^14.5.0","rollup":"^2.43.1","tty-table":"4.1.3","typescript":"4.2.3"},"prettier":{},"lint-staged":{"*.(ts|tsx|js|md)":"prettier --write"},"release-it":{"git":{"commitMessage":"chore(release): v${version}"},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":"angular","infile":"CHANGELOG.md"}}},"commithelper":{"scopeOverrides":{"chore":["tools","refactor","release","test","deps","docs","examples"]}},"gitHead":"ad80c6ea530a058501465cfcb45698e380ceb96a","_id":"snabbdom@3.0.0","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"shasum":"1a76e464f1a42e4903135b8e8e85526500057ba7","size":94156,"noattachment":false,"key":"/snabbdom/-/snabbdom-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-3.0.0.tgz"},"_npmUser":{"name":"supermanitu","email":"supermanitu@gmail.com"},"directories":{},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_3.0.0_1616957917591_0.3934544579316428"},"_hasShrinkwrap":false,"publish_time":1616957917750,"_cnpm_publish_time":1616957917750,"_cnpmcore_publish_time":"2021-12-16T19:11:43.138Z"},"2.1.0":{"name":"snabbdom","version":"2.1.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","type":"module","exports":{"./init":"./build/package/init.js","./h":"./build/package/h.js","./helpers/attachto":"./build/package/helpers/attachto.js","./hooks":"./build/package/hooks.js","./htmldomapi":"./build/package/htmldomapi.js","./is":"./build/package/is.js","./jsx":"./build/package/jsx.js","./modules/attributes":"./build/package/modules/attributes.js","./modules/class":"./build/package/modules/class.js","./modules/dataset":"./build/package/modules/dataset.js","./modules/eventlisteners":"./build/package/modules/eventlisteners.js","./modules/hero":"./build/package/modules/hero.js","./modules/module":"./build/package/modules/module.js","./modules/props":"./build/package/modules/props.js","./modules/style":"./build/package/modules/style.js","./thunk":"./build/package/thunk.js","./tovnode":"./build/package/tovnode.js","./vnode":"./build/package/vnode.js"},"devDependencies":{"@babel/core":"7.11.6","@babel/preset-env":"7.11.5","@commitlint/cli":"11.0.0","@commitlint/config-conventional":"11.0.0","@commitlint/travis-cli":"11.0.0","@types/chai":"4.2.12","@types/faker":"5.1.0","@types/lodash.shuffle":"4.2.6","@types/mathjs":"6.0.5","@types/mocha":"8.0.3","@typescript-eslint/eslint-plugin":"4.1.0","babel-loader":"8.1.0","benchmark":"2.1.4","chai":"4.2.0","chalk":"4.1.0","core-js":"3.6.5","cross-env":"7.0.2","editorconfig-checker":"3.2.0","eslint":"7.9.0","eslint-config-standard-with-typescript":"19.0.1","eslint-plugin-import":"2.22.0","eslint-plugin-markdown":"2.0.0-rc.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"4.2.1","eslint-plugin-standard":"4.0.1","faker":"5.1.0","globby":"11.0.1","husky":"4.3.0","is-path-inside":"3.0.2","karma":"5.2.2","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"1.3.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","latest-snabbdom-release":"npm:snabbdom@2.0.0","lodash.shuffle":"4.2.0","mathjs":"7.2.0","meow":"7.1.1","mocha":"8.1.3","nodegit":"0.27.0","npm-run-all":"4.1.5","p-map-series":"2.1.0","p-reduce":"2.1.0","regenerator-runtime":"0.13.7","remark-cli":"8.0.1","remark-toc":"7.0.0","standard-version":"9.0.0","tsconfigs":"5.0.0","tty-table":"4.1.3","ttypescript":"1.5.12","typescript":"4.0.2","webpack":"4.44.1","webpack-cli":"3.3.12"},"scripts":{"mark-pr-head-as-trusted":"node --unhandled-rejections=strict mark-pr-head-as-trusted.cjs","docs":"remark . --output","check-clean":"git diff --exit-code","lint:js":"eslint --ext .ts,.tsx,.cjs,.md,.mjs --ignore-path .gitignore .","lint:editorconfig":"editorconfig-checker","lint":"run-s lint:editorconfig lint:js","unit":"cross-env FILES_PATTERN=\"test-bundles/unit/**/*.js\" karma start karma.conf.cjs","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","make-release-commit":"standard-version","test":"run-s lint compile bundle-tests unit","compile":"ttsc --build src/test/tsconfig.json","bundle-tests":"webpack --config tests.webpack.config.cjs","prepublishOnly":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"remarkConfig":{"plugins":[["toc",{"tight":true}]],"settings":{"listItemIndent":"1","bullet":"*","tablePipeAlign":false}},"homepage":"https://github.com/snabbdom/snabbdom#readme","husky":{"hooks":{"commit-msg":"commitlint --config commitlint.config.json -E HUSKY_GIT_PARAMS","pre-commit":"run-s docs check-clean test"}},"gitHead":"4e1b99462584d2a8078e90bd59a6b58b3836b29c","_id":"snabbdom@2.1.0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","_npmUser":{"name":"mightyiam","email":"mightyiampresence@gmail.com"},"dist":{"shasum":"cef6d44f1170574582bffdce128cfbb46d2b5f6b","size":50023,"noattachment":false,"key":"/snabbdom/-/snabbdom-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-2.1.0.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_2.1.0_1600060258788_0.7666737705107596"},"_hasShrinkwrap":false,"publish_time":1600060258959,"_cnpm_publish_time":1600060258959,"_cnpmcore_publish_time":"2021-12-16T19:11:43.465Z"},"2.0.0":{"name":"snabbdom","version":"2.0.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","type":"module","exports":{"./init":"./build/package/init.js","./h":"./build/package/h.js","./helpers/attachto":"./build/package/helpers/attachto.js","./hooks":"./build/package/hooks.js","./htmldomapi":"./build/package/htmldomapi.js","./is":"./build/package/is.js","./jsx":"./build/package/jsx.js","./modules/attributes":"./build/package/modules/attributes.js","./modules/class":"./build/package/modules/class.js","./modules/dataset":"./build/package/modules/dataset.js","./modules/eventlisteners":"./build/package/modules/eventlisteners.js","./modules/hero":"./build/package/modules/hero.js","./modules/module":"./build/package/modules/module.js","./modules/props":"./build/package/modules/props.js","./modules/style":"./build/package/modules/style.js","./thunk":"./build/package/thunk.js","./tovnode":"./build/package/tovnode.js","./vnode":"./build/package/vnode.js"},"devDependencies":{"@babel/core":"7.11.6","@babel/preset-env":"7.11.5","@commitlint/cli":"9.1.2","@commitlint/config-conventional":"9.1.2","@commitlint/travis-cli":"9.1.2","@types/chai":"4.2.12","@types/faker":"5.1.0","@types/lodash.shuffle":"4.2.6","@types/mathjs":"6.0.5","@types/mocha":"8.0.3","@typescript-eslint/eslint-plugin":"4.1.0","babel-loader":"8.1.0","benchmark":"2.1.4","chai":"4.2.0","chalk":"4.1.0","core-js":"3.6.5","cross-env":"7.0.2","editorconfig-checker":"3.1.0","eslint":"7.8.1","eslint-config-standard-with-typescript":"19.0.1","eslint-plugin-import":"2.22.0","eslint-plugin-markdown":"2.0.0-rc.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"4.2.1","eslint-plugin-standard":"4.0.1","faker":"5.1.0","globby":"11.0.1","husky":"4.3.0","is-path-inside":"3.0.2","karma":"5.2.2","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"1.3.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","latest-snabbdom-release":"npm:snabbdom@1.0.1","lodash.shuffle":"4.2.0","mathjs":"7.2.0","meow":"7.1.1","mocha":"8.1.3","nodegit":"0.27.0","npm-run-all":"4.1.5","p-map-series":"2.1.0","p-reduce":"2.1.0","regenerator-runtime":"0.13.7","remark-cli":"8.0.1","remark-toc":"7.0.0","standard-version":"9.0.0","tsconfigs":"5.0.0","tty-table":"4.1.3","ttypescript":"1.5.12","typescript":"4.0.2","webpack":"4.44.1","webpack-cli":"3.3.12"},"scripts":{"mark-pr-head-as-trusted":"node --unhandled-rejections=strict mark-pr-head-as-trusted.cjs","docs":"remark . --output","check-clean":"git diff --exit-code","lint:js":"eslint --ext .ts,.tsx,.cjs,.md,.mjs --ignore-path .gitignore .","lint:editorconfig":"editorconfig-checker","lint":"run-s lint:editorconfig lint:js","unit":"cross-env FILES_PATTERN=\"test-bundles/unit/**/*.js\" karma start karma.conf.cjs","benchmark":"cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","make-release-commit":"standard-version","test":"run-s lint compile bundle-tests unit","compile":"ttsc --build src/test/tsconfig.json","bundle-tests":"webpack --config tests.webpack.config.cjs","prepublishOnly":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/snabbdom/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"remarkConfig":{"plugins":[["toc",{"tight":true}]],"settings":{"listItemIndent":"1","bullet":"*","tablePipeAlign":false}},"homepage":"https://github.com/snabbdom/snabbdom#readme","husky":{"hooks":{"commit-msg":"commitlint --config commitlint.config.json -E HUSKY_GIT_PARAMS","pre-commit":"run-s docs check-clean test"}},"gitHead":"7176862db5c2003d1a0807efc05730587963f283","_id":"snabbdom@2.0.0","_nodeVersion":"14.10.0","_npmVersion":"6.14.8","_npmUser":{"name":"mightyiam","email":"mightyiampresence@gmail.com"},"dist":{"shasum":"72ea07876b4c83479021a901fcd5d19261aab4a5","size":49923,"noattachment":false,"key":"/snabbdom/-/snabbdom-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-2.0.0.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_2.0.0_1599708034735_0.12307144407555892"},"_hasShrinkwrap":false,"publish_time":1599708034928,"_cnpm_publish_time":1599708034928,"_cnpmcore_publish_time":"2021-12-16T19:11:43.801Z"},"1.0.1":{"name":"snabbdom","version":"1.0.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","type":"module","exports":{"./init":"./build/package/init.js","./h":"./build/package/h.js","./helpers/attachto":"./build/package/helpers/attachto.js","./hooks":"./build/package/hooks.js","./htmldomapi":"./build/package/htmldomapi.js","./is":"./build/package/is.js","./jsx":"./build/package/jsx.js","./modules/attributes":"./build/package/modules/attributes.js","./modules/class":"./build/package/modules/class.js","./modules/dataset":"./build/package/modules/dataset.js","./modules/eventlisteners":"./build/package/modules/eventlisteners.js","./modules/hero":"./build/package/modules/hero.js","./modules/module":"./build/package/modules/module.js","./modules/props":"./build/package/modules/props.js","./modules/style":"./build/package/modules/style.js","./thunk":"./build/package/thunk.js","./tovnode":"./build/package/tovnode.js","./vnode":"./build/package/vnode.js"},"directories":{"example":"examples","test":"test"},"devDependencies":{"@babel/core":"7.10.2","@babel/preset-env":"7.10.2","@commitlint/cli":"8.3.5","@commitlint/travis-cli":"9.0.1","@types/chai":"4.2.11","@types/faker":"4.1.12","@types/lodash.shuffle":"4.2.6","@types/mathjs":"6.0.5","@types/mocha":"7.0.2","@typescript-eslint/eslint-plugin":"3.3.0","babel-loader":"8.1.0","benchmark":"2.1.4","chai":"4.2.0","chalk":"4.1.0","core-js":"3.6.5","cross-env":"7.0.2","editorconfig-checker":"3.1.0","eslint":"7.2.0","eslint-config-standard-with-typescript":"18.0.2","eslint-plugin-import":"2.21.2","eslint-plugin-markdown":"2.0.0-alpha.0","eslint-plugin-node":"11.1.0","eslint-plugin-promise":"4.2.1","eslint-plugin-standard":"4.0.1","faker":"4.1.0","husky":"4.2.5","is-path-inside":"3.0.2","karma":"5.1.0","karma-browserstack-launcher":"1.6.0","karma-chrome-launcher":"3.1.0","karma-firefox-launcher":"1.3.0","karma-mocha":"2.0.1","karma-mocha-reporter":"2.2.5","karma-webpack":"4.0.2","latest-snabbdom-release":"npm:snabbdom@0.7.4","lodash.shuffle":"4.2.0","mathjs":"7.0.1","mocha":"8.0.1","npm-run-all":"4.1.5","p-map-series":"2.1.0","p-reduce":"2.1.0","remark-cli":"8.0.0","remark-toc":"7.0.0","standard-version":"8.0.0","ts-transform-import-path-rewrite":"0.2.1","tsconfigs":"5.0.0","tty-table":"4.1.3","ttypescript":"1.5.10","typescript":"3.9.5","webpack":"4.43.0"},"scripts":{"docs":"remark . --output","check-clean":"git diff --exit-code","lint:js":"eslint --ext .ts,.tsx,.cjs,.md,.mjs --ignore-path .gitignore .","lint:editorconfig":"editorconfig-checker","lint":"run-s lint:editorconfig lint:js","unit":"cross-env FILES_PATTERN=\"build/test/unit/**/*.js\" karma start karma.conf.cjs","benchmark":"cross-env FILES_PATTERN=\"build/test/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1","make-release-commit":"standard-version","test":"run-s lint compile unit","compile":"ttsc --build src/test/tsconfig.json","prepublishOnly":"npm run compile"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"remarkConfig":{"plugins":[["toc",{"tight":true}]],"settings":{"listItemIndent":"1","bullet":"*","tablePipeAlign":false}},"homepage":"https://github.com/paldepind/snabbdom#readme","husky":{"hooks":{"commit-msg":"commitlint --config commitlint.config.json -E HUSKY_GIT_PARAMS","pre-commit":"run-s docs check-clean test"}},"gitHead":"8ba7bbf97ad8eb0e38fa1b1602b39e79b96fdaed","_id":"snabbdom@1.0.1","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","_npmUser":{"name":"mightyiam","email":"mightyiampresence@gmail.com"},"dist":{"shasum":"56de29b7499e6a9ee05e024ce3fc75d71761c08a","size":46937,"noattachment":false,"key":"/snabbdom/-/snabbdom-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-1.0.1.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_1.0.1_1592492391918_0.4766218123936017"},"_hasShrinkwrap":false,"publish_time":1592492392052,"_cnpm_publish_time":1592492392052,"_cnpmcore_publish_time":"2021-12-16T19:11:44.074Z"},"0.7.4":{"name":"snabbdom","version":"0.7.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","module":"es/snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"devDependencies":{"benchmark":"^2.1.4","browserify":"^14.4.0","fake-raf":"1.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^2.6.0","gulp-uglify":"^3.0.0","husky":"^3.0.5","karma":"^3.0.0","karma-browserstack-launcher":"^1.3.0","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.2.0","karma-mocha":"^1.3.0","karma-typescript":"^3.0.13","knuth-shuffle":"^1.0.1","mocha":"^5.2.0","typescript":"^3.0.3","xyz":"2.1.0"},"scripts":{"pretest":"npm run compile","test":"karma start","compile":"npm run compile-es && npm run compile-commonjs","compile-es":"tsc --outDir es --module es6 --moduleResolution node","compile-commonjs":"tsc --outDir ./","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","husky":{"hooks":{"pre-commit":"npm test"}},"gitHead":"b39ada9ea4833524ea8132b785d1d73b4a765277","_id":"snabbdom@0.7.4","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"shasum":"817f07e8d3fb870960c3763b8da56f1ba982d31a","size":214589,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.7.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.7.4.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmUser":{"name":"mightyiam","email":"mightyiampresence@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_0.7.4_1576158655467_0.816155279712764"},"_hasShrinkwrap":false,"publish_time":1576158655654,"_cnpm_publish_time":1576158655654,"_cnpmcore_publish_time":"2021-12-16T19:11:44.658Z"},"0.7.3":{"name":"snabbdom","version":"0.7.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","module":"es/snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"devDependencies":{"benchmark":"^2.1.4","browserify":"^14.4.0","fake-raf":"1.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^2.6.0","gulp-uglify":"^3.0.0","karma":"^3.0.0","karma-browserstack-launcher":"^1.3.0","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","karma-mocha":"^1.3.0","karma-typescript":"^3.0.13","knuth-shuffle":"^1.0.1","mocha":"^5.2.0","typescript":"^3.0.3","xyz":"2.1.0"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"npm run compile-es && npm run compile-commonjs","compile-es":"tsc --outDir es --module es6 --moduleResolution node","compile-commonjs":"tsc --outDir ./","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"81da0c124257d393e29796a13e92f6f3016ac20d","_id":"snabbdom@0.7.3","_npmVersion":"6.4.1","_nodeVersion":"11.3.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"27b29b41228779ae5d99696a07edaaff4912fc54","size":191757,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.7.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.7.3.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_0.7.3_1545336921710_0.49861048353742143"},"_hasShrinkwrap":false,"publish_time":1545336921892,"_cnpm_publish_time":1545336921892,"_cnpmcore_publish_time":"2021-12-16T19:11:45.134Z"},"0.7.2":{"name":"snabbdom","version":"0.7.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","module":"es/snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","browserify":"^14.4.0","fake-raf":"1.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^2.6.0","gulp-uglify":"^3.0.0","knuth-shuffle":"^1.0.1","testem":"^1.18.1","typescript":"^2.4.2","xyz":"2.1.0"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"npm run compile-es && npm run compile-commonjs","compile-es":"tsc --outDir es --module es6 --moduleResolution node","compile-commonjs":"tsc --outDir ./","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"665d9d39ff874955254d89b381c392a6ae4e94b1","_id":"snabbdom@0.7.2","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"e9d3930e6374ef8766706ccee4c6ed7b331afa64","size":189428,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.7.2.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom_0.7.2_1535899518964_0.568164217302197"},"_hasShrinkwrap":false,"publish_time":1535899519151,"_cnpm_publish_time":1535899519151,"_cnpmcore_publish_time":"2021-12-16T19:11:45.582Z"},"0.7.1":{"name":"snabbdom","version":"0.7.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","module":"es/snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","browserify":"^14.4.0","fake-raf":"1.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^2.6.0","gulp-uglify":"^3.0.0","knuth-shuffle":"^1.0.1","testem":"^1.18.1","typescript":"^2.4.2","xyz":"2.1.0"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"npm run compile-es && npm run compile-commonjs","compile-es":"tsc --outDir es --module es6 --moduleResolution node","compile-commonjs":"tsc --outDir ./","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"410d2b3a272067520a3a1595ae6f22679f69e3b4","_id":"snabbdom@0.7.1","_npmVersion":"5.4.1","_nodeVersion":"7.10.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"c1e9eddfad2c02ebc2cf66aaefb040419d059597","size":188528,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.7.1.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom-0.7.1.tgz_1513432303566_0.9369296000804752"},"publish_time":1513432303688,"_hasShrinkwrap":false,"_cnpm_publish_time":1513432303688,"_cnpmcore_publish_time":"2021-12-16T19:11:46.013Z"},"0.7.0":{"name":"snabbdom","version":"0.7.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^2.1.4","browserify":"^14.4.0","fake-raf":"1.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^2.6.0","gulp-uglify":"^3.0.0","knuth-shuffle":"^1.0.1","testem":"^1.18.1","typescript":"^2.4.2","xyz":"2.1.0"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"e203f711c60fde72fa391f0a8e927df4a376204b","_id":"snabbdom@0.7.0","_npmVersion":"5.0.4","_nodeVersion":"8.2.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"c09e2baa0f8d43d306a3aa7502b62fdde2b4154e","size":168791,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.7.0.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom-0.7.0.tgz_1501180107309_0.5759658659808338"},"publish_time":1501180108735,"_hasShrinkwrap":false,"_cnpm_publish_time":1501180108735,"_cnpmcore_publish_time":"2021-12-16T19:11:46.554Z"},"0.6.9":{"name":"snabbdom","version":"0.6.9","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f70581a4282be08007fdcb007046a05890d70ecf","_id":"snabbdom@0.6.9","_shasum":"65a392f4c82ca7e8ec72aa0d2fa797cf5c73b8d7","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.1","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"shasum":"65a392f4c82ca7e8ec72aa0d2fa797cf5c73b8d7","size":173388,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.9.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/snabbdom-0.6.9.tgz_1495198813557_0.24685752880759537"},"publish_time":1495198815176,"_hasShrinkwrap":false,"_cnpm_publish_time":1495198815176,"_cnpmcore_publish_time":"2021-12-16T19:11:47.899Z"},"0.6.8":{"name":"snabbdom","version":"0.6.8","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f3a3c7b3681e5ddcc8f1a03683a1377af3c9c590","_id":"snabbdom@0.6.8","_shasum":"6ca7f90c203e0450e2525a1c11b0ad7410413c4b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.1","_npmUser":{"name":"staltz","email":"andre+npm@staltz.com"},"dist":{"shasum":"6ca7f90c203e0450e2525a1c11b0ad7410413c4b","size":173302,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.8.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.8.tgz_1494940650729_0.3093876268249005"},"publish_time":1494940651834,"_hasShrinkwrap":false,"_cnpm_publish_time":1494940651834,"_cnpmcore_publish_time":"2021-12-16T19:11:48.713Z"},"0.6.7":{"name":"snabbdom","version":"0.6.7","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"6f12fdc9ddd6eb277316c276333657b1a6eea5b1","_id":"snabbdom@0.6.7","_shasum":"045d9fc292574fe3597578bde2d9c403f79a1352","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.5.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"045d9fc292574fe3597578bde2d9c403f79a1352","size":237320,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.7.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.7.tgz_1489258925128_0.43150724307633936"},"publish_time":1489258925904,"_hasShrinkwrap":false,"_cnpm_publish_time":1489258925904,"_cnpmcore_publish_time":"2021-12-16T19:11:49.510Z"},"0.6.6":{"name":"snabbdom","version":"0.6.6","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"dc837b70f9ddad4447f1b232a995434286781c2f","_id":"snabbdom@0.6.6","_shasum":"c865eb8386754056821eaed5285b6625b6e365c3","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.5.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"c865eb8386754056821eaed5285b6625b6e365c3","size":234422,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.6.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.6.tgz_1488886069060_0.2589486262295395"},"publish_time":1488886069820,"_hasShrinkwrap":false,"_cnpm_publish_time":1488886069820,"_cnpmcore_publish_time":"2021-12-16T19:11:50.041Z"},"0.6.5":{"name":"snabbdom","version":"0.6.5","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"9910df92b383d31130ee36174f3db3c55dd17c28","_id":"snabbdom@0.6.5","_shasum":"01b0cba8d623eca19e570876630c12c057830066","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"cycle","email":"andre+npmcycle@staltz.com"},"dist":{"shasum":"01b0cba8d623eca19e570876630c12c057830066","size":172072,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.5.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.5.tgz_1488037121064_0.9144208126235753"},"publish_time":1488037121838,"_hasShrinkwrap":false,"_cnpm_publish_time":1488037121838,"_cnpmcore_publish_time":"2021-12-16T19:11:50.605Z"},"0.6.4":{"name":"snabbdom","version":"0.6.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"062936dbf1005412ff4c942373019e1c187f1f5a","_id":"snabbdom@0.6.4","_shasum":"6cf8c658a51d7869bd271034296ef633e6126257","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"cycle","email":"andre+npmcycle@staltz.com"},"dist":{"shasum":"6cf8c658a51d7869bd271034296ef633e6126257","size":159290,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.4.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.4.tgz_1486646045650_0.910324614495039"},"publish_time":1486646047957,"_hasShrinkwrap":false,"_cnpm_publish_time":1486646047957,"_cnpmcore_publish_time":"2021-12-16T19:11:51.229Z"},"0.6.3":{"name":"snabbdom","version":"0.6.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f143528e2e6ebff936d76644a8187512368e77c2","_id":"snabbdom@0.6.3","_shasum":"5eaa55a74b1e542e5fffbe6b8eaf170b0c4ba533","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"cycle","email":"andre+npmcycle@staltz.com"},"dist":{"shasum":"5eaa55a74b1e542e5fffbe6b8eaf170b0c4ba533","size":140373,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.3.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.3.tgz_1484563564819_0.6462919018231332"},"publish_time":1484563566951,"_hasShrinkwrap":false,"_cnpm_publish_time":1484563566951,"_cnpmcore_publish_time":"2021-12-16T19:11:51.704Z"},"0.6.2":{"name":"snabbdom","version":"0.6.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.1.0","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"3455d1dc2169012607b511b4b5c840fc19ba9d95","_id":"snabbdom@0.6.2","_shasum":"a69adaf22500336ca1c58a81b1ae9ca01803d79e","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"cycle","email":"andre+npmcycle@staltz.com"},"dist":{"shasum":"a69adaf22500336ca1c58a81b1ae9ca01803d79e","size":139774,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.2.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.2.tgz_1484563059321_0.7058947596233338"},"publish_time":1484563061890,"_hasShrinkwrap":false,"_cnpm_publish_time":1484563061890,"_cnpmcore_publish_time":"2021-12-16T19:11:52.135Z"},"0.6.1":{"name":"snabbdom","version":"0.6.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.0.6","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"e570f4cf03f3d6f5f1f7fc179771c039416833fe","_id":"snabbdom@0.6.1","_shasum":"b006fb943dc2710b212bf5640aaf5704c1523f9a","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.3.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"b006fb943dc2710b212bf5640aaf5704c1523f9a","size":207060,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.1.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.1.tgz_1483648809359_0.5942706200294197"},"publish_time":1483648810155,"_hasShrinkwrap":false,"_cnpm_publish_time":1483648810155,"_cnpmcore_publish_time":"2021-12-16T19:11:52.749Z"},"0.6.0":{"name":"snabbdom","version":"0.6.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","typescript":"^2.0.6","xyz":"0.5.x"},"scripts":{"pretest":"npm run compile","test":"testem","compile":"tsc","prepublish":"npm run compile","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"0483640fa3249d21a2f9b644c542374d38714baf","_id":"snabbdom@0.6.0","_shasum":"d7ee24cddb72f3f9656247b89b3a3617b6c130ab","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.3.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"d7ee24cddb72f3f9656247b89b3a3617b6c130ab","size":229367,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.6.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.6.0.tgz_1483616844601_0.795087939593941"},"publish_time":1483616847660,"deprecated":"Please upgrade to >=0.6.1 as there was a publishing issue with this version.","_hasShrinkwrap":false,"_cnpm_publish_time":1483616847660,"_cnpmcore_publish_time":"2021-12-16T19:11:53.526Z"},"0.5.4":{"name":"snabbdom","version":"0.5.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"type-definitions/snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"0fbcfd3278a80177e23190e131ff871a73acbbcd","_id":"snabbdom@0.5.4","_shasum":"82d726fd495843d8920d54ac3ca670b7e503375e","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.7.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"82d726fd495843d8920d54ac3ca670b7e503375e","size":187428,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.5.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.5.4.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.5.4.tgz_1476981075998_0.6150636174716055"},"publish_time":1476981078372,"_hasShrinkwrap":false,"_cnpm_publish_time":1476981078372,"_cnpmcore_publish_time":"2021-12-16T19:11:53.939Z"},"0.5.3":{"name":"snabbdom","version":"0.5.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"type-definitions/snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"3e3acfcc54853a69890ddd917196dabc5028c215","_id":"snabbdom@0.5.3","_shasum":"c8b14f8ac3dbb0e83d8b56c1468902535a3ba241","_from":".","_npmVersion":"3.10.6","_nodeVersion":"6.3.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"c8b14f8ac3dbb0e83d8b56c1468902535a3ba241","size":116215,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.5.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.5.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.5.3.tgz_1473421651986_0.6943949619308114"},"publish_time":1473421653749,"_hasShrinkwrap":false,"_cnpm_publish_time":1473421653749,"_cnpmcore_publish_time":"2021-12-16T19:11:54.369Z"},"0.5.2":{"name":"snabbdom","version":"0.5.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"type-definitions/snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f178f91dfa0a7a62188efeabfbc40b9a80a0f869","_id":"snabbdom@0.5.2","_shasum":"25cce210bc92aa14f92c98b94469e8e636744b52","_from":".","_npmVersion":"3.10.6","_nodeVersion":"6.3.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"25cce210bc92aa14f92c98b94469e8e636744b52","size":116072,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.5.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.5.2.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.5.2.tgz_1472888123768_0.23706503910943866"},"publish_time":1472888126349,"_hasShrinkwrap":false,"_cnpm_publish_time":1472888126349,"_cnpmcore_publish_time":"2021-12-16T19:11:55.280Z"},"0.5.1":{"name":"snabbdom","version":"0.5.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","typings":"type-definitions/snabbdom.d.ts","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","gulp":"^3.9.1","gulp-clean":"^0.3.2","gulp-rename":"^1.2.2","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.3","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"fd539435f65f7ea0cf747486eb32a4059ada9f07","_id":"snabbdom@0.5.1","_shasum":"fbd7eac65fef626ebe330fc93b538f8aa5acaff7","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.2.2","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"fbd7eac65fef626ebe330fc93b538f8aa5acaff7","size":115313,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.5.1.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/snabbdom-0.5.1.tgz_1469128822583_0.9427410962525755"},"publish_time":1469128824430,"_hasShrinkwrap":false,"_cnpm_publish_time":1469128824430,"_cnpmcore_publish_time":"2021-12-16T19:11:55.858Z"},"0.5.0":{"name":"snabbdom","version":"0.5.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"cd57100c9755247740c7d1265ab0016d377c69ef","_id":"snabbdom@0.5.0","_shasum":"be46231942602154b74cd94985dd9deda5b41761","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.1.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"be46231942602154b74cd94985dd9deda5b41761","size":74412,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.5.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.5.0.tgz_1463492612339_0.21068297838792205"},"publish_time":1463492614972,"_hasShrinkwrap":false,"_cnpm_publish_time":1463492614972,"_cnpmcore_publish_time":"2021-12-16T19:11:56.206Z"},"0.4.2":{"name":"snabbdom","version":"0.4.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"3d2916a9518435b8e97374755cf6dc3876b72cfd","_id":"snabbdom@0.4.2","_shasum":"adb152274000988076098965b48d03ab0eb1e0a6","_from":".","_npmVersion":"3.8.0","_nodeVersion":"5.7.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"adb152274000988076098965b48d03ab0eb1e0a6","size":71711,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.4.2.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.4.2.tgz_1457987575490_0.8999806747306138"},"publish_time":1457987578258,"_hasShrinkwrap":false,"_cnpm_publish_time":1457987578258,"_cnpmcore_publish_time":"2021-12-16T19:11:56.505Z"},"0.4.1":{"name":"snabbdom","version":"0.4.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"8a5862a6524cadf76acd61242b6c34d321d52da4","_id":"snabbdom@0.4.1","_shasum":"e9a144b32622ace191867de6ba9e8ddd39996f81","_from":".","_npmVersion":"3.8.0","_nodeVersion":"5.7.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"e9a144b32622ace191867de6ba9e8ddd39996f81","size":71713,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.4.1.tgz"},"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.4.1.tgz_1457899294839_0.7052195717114955"},"publish_time":1457899297143,"_hasShrinkwrap":false,"_cnpm_publish_time":1457899297143,"_cnpmcore_publish_time":"2021-12-16T19:11:57.188Z"},"0.4.0":{"name":"snabbdom","version":"0.4.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"946e34cf75b09bc1b18f958533ba9679947b1889","_id":"snabbdom@0.4.0","_shasum":"ff3a8c0eeb53eacfc919a0dc73797ae1ac095c36","_from":".","_npmVersion":"3.7.5","_nodeVersion":"5.7.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"ff3a8c0eeb53eacfc919a0dc73797ae1ac095c36","size":71692,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.4.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.4.0.tgz_1457097012614_0.7452762080356479"},"publish_time":1457097016143,"_hasShrinkwrap":false,"_cnpm_publish_time":1457097016143,"_cnpmcore_publish_time":"2021-12-16T19:11:57.503Z"},"0.3.4":{"name":"snabbdom","version":"0.3.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"c49e5a1341505a82872c3a26eb55679aa904414f","_id":"snabbdom@0.3.4","_shasum":"a3992ed17c9247f4c3ab2dc720c854c8ca538d95","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.6.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"a3992ed17c9247f4c3ab2dc720c854c8ca538d95","size":70821,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.3.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.3.4.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.3.4.tgz_1456479085497_0.05946332891471684"},"publish_time":1456479088522,"_hasShrinkwrap":false,"_cnpm_publish_time":1456479088522,"_cnpmcore_publish_time":"2021-12-16T19:11:58.197Z"},"0.3.3":{"name":"snabbdom","version":"0.3.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2","xyz":"0.5.x"},"scripts":{"test":"testem","release-major":"xyz --repo git@github.com:paldepind/snabbdom.git --increment major","release-minor":"xyz --repo git@github.com:paldepind/snabbdom.git --increment minor","release-patch":"xyz --repo git@github.com:paldepind/snabbdom.git --increment patch"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"74fb8eaae7df0f921cd27721dbd1c18672aaf6a0","_id":"snabbdom@0.3.3","_shasum":"0fa5c64c90d9eb2c760c32b824ee3a6af3e06e68","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.5.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"0fa5c64c90d9eb2c760c32b824ee3a6af3e06e68","size":65365,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.3.3.tgz"},"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.3.3.tgz_1455557304072_0.5703834311570972"},"publish_time":1455557308541,"_hasShrinkwrap":false,"_cnpm_publish_time":1455557308541,"_cnpmcore_publish_time":"2021-12-16T19:11:59.037Z"},"0.3.2":{"name":"snabbdom","version":"0.3.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","browserify":"^13.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1","testem":"^1.0.2"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"ab5d2d89e3d301d37e24d1b8a532a7d9a0d11046","_id":"snabbdom@0.3.2","_shasum":"3c48e1c32e6546781359d471f6362dadcbfa9ba6","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"dist":{"shasum":"3c48e1c32e6546781359d471f6362dadcbfa9ba6","size":34615,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.3.2.tgz"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/snabbdom-0.3.2.tgz_1455267368559_0.5825633083004504"},"publish_time":1455267372208,"_hasShrinkwrap":false,"_cnpm_publish_time":1455267372208,"_cnpmcore_publish_time":"2021-12-16T19:11:59.319Z"},"0.3.1":{"name":"snabbdom","version":"0.3.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"72aa2c62fbe98924a17eda02c3f0e232a9a99186","_id":"snabbdom@0.3.1","_shasum":"50ffb4cf0ffa8b6169e1dd814b8a5c7250c6f779","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.4.1","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"50ffb4cf0ffa8b6169e1dd814b8a5c7250c6f779","size":63661,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.3.1.tgz"},"publish_time":1453539003097,"_hasShrinkwrap":false,"_cnpm_publish_time":1453539003097,"_cnpmcore_publish_time":"2021-12-16T19:11:59.820Z"},"0.3.0":{"name":"snabbdom","version":"0.3.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"9309dd3c831e82062c63a84184723b8248f0bb64","_id":"snabbdom@0.3.0","_shasum":"4ebd8d5bd7d044f726d00be82f290e7ae58e357f","_from":".","_npmVersion":"3.5.2","_nodeVersion":"5.4.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"4ebd8d5bd7d044f726d00be82f290e7ae58e357f","size":63444,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.3.0.tgz"},"publish_time":1452535490925,"_hasShrinkwrap":false,"_cnpm_publish_time":1452535490925,"_cnpmcore_publish_time":"2021-12-16T19:12:00.204Z"},"0.2.8":{"name":"snabbdom","version":"0.2.8","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"29acfb2db7621580ef9efe0b2c94b7d8897a7dc9","_id":"snabbdom@0.2.8","_shasum":"ed3dc8b46d825201ac9d3f717cb57b01354b4240","_from":".","_npmVersion":"3.5.0","_nodeVersion":"5.1.0","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"ed3dc8b46d825201ac9d3f717cb57b01354b4240","size":61700,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.8.tgz"},"publish_time":1450208563177,"_hasShrinkwrap":false,"_cnpm_publish_time":1450208563177,"_cnpmcore_publish_time":"2021-12-16T19:12:00.694Z"},"0.2.7":{"name":"snabbdom","version":"0.2.7","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"74e1fb1d0554ae8fea218b5fc2a950c89799a9fd","_id":"snabbdom@0.2.7","_shasum":"6bb98bb7432ee279b5f09e13975f7a38d49681b3","_from":".","_npmVersion":"2.14.3","_nodeVersion":"0.12.7","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"6bb98bb7432ee279b5f09e13975f7a38d49681b3","size":58789,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.7.tgz"},"publish_time":1445150097533,"_hasShrinkwrap":false,"_cnpm_publish_time":1445150097533,"_cnpmcore_publish_time":"2021-12-16T19:12:01.068Z"},"0.2.6":{"name":"snabbdom","version":"0.2.6","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"294014066b2faf7d0d70e154588282bfd03eb378","_id":"snabbdom@0.2.6","_shasum":"17bedbf3fad59297f1d54f5d80f6e422d54c422f","_from":".","_npmVersion":"2.13.2","_nodeVersion":"0.12.7","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"17bedbf3fad59297f1d54f5d80f6e422d54c422f","size":58285,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.6.tgz"},"publish_time":1439792571374,"_hasShrinkwrap":false,"_cnpm_publish_time":1439792571374,"_cnpmcore_publish_time":"2021-12-16T19:12:01.837Z"},"0.2.5":{"name":"snabbdom","version":"0.2.5","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"d0a2f5176e455e149b660493c4b7fda0720db9b7","_id":"snabbdom@0.2.5","_shasum":"6e2abe9aa87435dde74c517d332b943e3aeb9364","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"6e2abe9aa87435dde74c517d332b943e3aeb9364","size":105995,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.5.tgz"},"publish_time":1438163378282,"_hasShrinkwrap":false,"_cnpm_publish_time":1438163378282,"_cnpmcore_publish_time":"2021-12-16T19:12:02.340Z"},"0.2.4":{"name":"snabbdom","version":"0.2.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f839ac08bbb943587c9aa525ea95499c93526a87","_id":"snabbdom@0.2.4","_shasum":"812ea5f688e6b3bb297534f362ef631d8abc436e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"812ea5f688e6b3bb297534f362ef631d8abc436e","size":105870,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.4.tgz"},"publish_time":1438067171568,"_hasShrinkwrap":false,"_cnpm_publish_time":1438067171568,"_cnpmcore_publish_time":"2021-12-16T19:12:02.767Z"},"0.2.3":{"name":"snabbdom","version":"0.2.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f839ac08bbb943587c9aa525ea95499c93526a87","_id":"snabbdom@0.2.3","_shasum":"934680129e3a961c42f9713de123a715591ed350","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"934680129e3a961c42f9713de123a715591ed350","size":104127,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.3.tgz"},"publish_time":1437220130327,"_hasShrinkwrap":false,"_cnpm_publish_time":1437220130327,"_cnpmcore_publish_time":"2021-12-16T19:12:03.301Z"},"0.2.2":{"name":"snabbdom","version":"0.2.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"f72e48dc05b1fa7b7088f5289b10b48fbad5eb5b","_id":"snabbdom@0.2.2","_shasum":"00eff67e41bc0024299eda540955351973cc1f31","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"00eff67e41bc0024299eda540955351973cc1f31","size":56123,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.2.tgz"},"publish_time":1436960318627,"_hasShrinkwrap":false,"_cnpm_publish_time":1436960318627,"_cnpmcore_publish_time":"2021-12-16T19:12:03.657Z"},"0.2.1":{"name":"snabbdom","version":"0.2.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"35b62dee54045d556a9ee9ebc0504eb4b2606b31","_id":"snabbdom@0.2.1","_shasum":"f27a216386b365fd634460d6e904608891b758bb","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"f27a216386b365fd634460d6e904608891b758bb","size":103727,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.1.tgz"},"publish_time":1435610970288,"_hasShrinkwrap":false,"_cnpm_publish_time":1435610970288,"_cnpmcore_publish_time":"2021-12-16T19:12:04.099Z"},"0.2.0":{"name":"snabbdom","version":"0.2.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"4c1893423a54f2c1ef02e356e2f0f6ba95fafaea","_id":"snabbdom@0.2.0","_shasum":"1591e62cbad84095060ed2d6acb6b6e89752339d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"1591e62cbad84095060ed2d6acb6b6e89752339d","size":103296,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.2.0.tgz"},"publish_time":1434014423994,"_hasShrinkwrap":false,"_cnpm_publish_time":1434014423994,"_cnpmcore_publish_time":"2021-12-16T19:12:04.542Z"},"0.1.5":{"name":"snabbdom","version":"0.1.5","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"c67611f50965c069babfb7495b39fac4a23bfea9","_id":"snabbdom@0.1.5","_shasum":"e1808990c9fb65459b6c07161c50d48c6d35356b","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"e1808990c9fb65459b6c07161c50d48c6d35356b","size":101023,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.5.tgz"},"publish_time":1433406850050,"_hasShrinkwrap":false,"_cnpm_publish_time":1433406850050,"_cnpmcore_publish_time":"2021-12-16T19:12:05.012Z"},"0.1.4":{"name":"snabbdom","version":"0.1.4","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"b4b90ac609df8cbe4e8711bf73fdacb32bd0c1e3","_id":"snabbdom@0.1.4","_shasum":"06bba93ba59a0c12a5e6c502dd1ddfced4638fdb","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"06bba93ba59a0c12a5e6c502dd1ddfced4638fdb","size":100470,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.4.tgz"},"publish_time":1433157316117,"_hasShrinkwrap":false,"_cnpm_publish_time":1433157316117,"_cnpmcore_publish_time":"2021-12-16T19:12:05.394Z"},"0.1.3":{"name":"snabbdom","version":"0.1.3","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"b4b90ac609df8cbe4e8711bf73fdacb32bd0c1e3","_id":"snabbdom@0.1.3","_shasum":"3d93b328dc2365bddef55a3a092d5a7bd86fec88","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"3d93b328dc2365bddef55a3a092d5a7bd86fec88","size":56387,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.3.tgz"},"publish_time":1432988636097,"_hasShrinkwrap":false,"_cnpm_publish_time":1432988636097,"_cnpmcore_publish_time":"2021-12-16T19:12:05.658Z"},"0.1.2":{"name":"snabbdom","version":"0.1.2","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"dc0744c57a00bf446f6e051c214951409f31d35d","_id":"snabbdom@0.1.2","_shasum":"de6fc0de8c9f22efde830d9f89638b3f507210d5","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"de6fc0de8c9f22efde830d9f89638b3f507210d5","size":99244,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.2.tgz"},"publish_time":1432655930630,"_hasShrinkwrap":false,"_cnpm_publish_time":1432655930630,"_cnpmcore_publish_time":"2021-12-16T19:12:06.425Z"},"0.1.1":{"name":"snabbdom","version":"0.1.1","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"benchmark":"^1.0.0","fake-raf":"0.0.1","knuth-shuffle":"^1.0.1"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"dc0744c57a00bf446f6e051c214951409f31d35d","_id":"snabbdom@0.1.1","_shasum":"8264a46c50e48d1bf18afeb33d516349b2f6b121","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"8264a46c50e48d1bf18afeb33d516349b2f6b121","size":55813,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.1.tgz"},"publish_time":1432654952511,"_hasShrinkwrap":false,"_cnpm_publish_time":1432654952511,"_cnpmcore_publish_time":"2021-12-16T19:12:06.743Z"},"0.1.0":{"name":"snabbdom","version":"0.1.0","description":"A virtual DOM library with focus on simplicity, modularity, powerful features and performance.","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{},"devDependencies":{"knuth-shuffle":"^1.0.1","benchmark":"^1.0.0"},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"59cee0ede97bfe8746033d0e2807a7b6d491f07d","_id":"snabbdom@0.1.0","_shasum":"456171fdc78fcd73874ae641b77f0f24126741b5","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"456171fdc78fcd73874ae641b77f0f24126741b5","size":97657,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.1.0.tgz"},"publish_time":1432544578087,"_hasShrinkwrap":false,"_cnpm_publish_time":1432544578087,"_cnpmcore_publish_time":"2021-12-16T19:12:07.295Z"},"0.0.1":{"name":"snabbdom","version":"0.0.1","description":"A virtual DOM library. Lighter, better, faster, simpler!","main":"snabbdom.js","directories":{"example":"examples","test":"test"},"dependencies":{"knuth-shuffle":"^1.0.1","benchmark":"^1.0.0"},"devDependencies":{},"scripts":{"test":"testem"},"repository":{"type":"git","url":"git+https://github.com/paldepind/snabbdom.git"},"keywords":["virtual","dom","light","kiss","performance"],"author":{"name":"Simon Friis Vindum"},"license":"MIT","bugs":{"url":"https://github.com/paldepind/snabbdom/issues"},"homepage":"https://github.com/paldepind/snabbdom#readme","gitHead":"9c35436bbf5f981bdb95ee29d4ca63da2ad519dc","_id":"snabbdom@0.0.1","_shasum":"6fe5269cabd31263bf902287aafe0209d7823ca8","_from":".","_npmVersion":"2.8.3","_nodeVersion":"0.12.2","_npmUser":{"name":"paldepind","email":"simonfv@gmail.com"},"maintainers":[{"name":"mightyiam","email":"mightyiampresence@gmail.com"},{"name":"staltz","email":"andre+npm@staltz.com"}],"dist":{"shasum":"6fe5269cabd31263bf902287aafe0209d7823ca8","size":257151,"noattachment":false,"key":"/snabbdom/-/snabbdom-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/snabbdom/download/snabbdom-0.0.1.tgz"},"publish_time":1431780393191,"_hasShrinkwrap":false,"_cnpm_publish_time":1431780393191,"_cnpmcore_publish_time":"2021-12-16T19:12:07.941Z"}},"readme":"<img alt=\"Snabbdom\" src=\"readme-title.svg\" width=\"356px\">\n\nA virtual DOM library with focus on simplicity, modularity, powerful features\nand performance.\n\n---\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://github.com/snabbdom/snabbdom/actions/workflows/steps.yml/badge.svg)](https://github.com/snabbdom/snabbdom/actions/workflows/steps.yml)\n[![npm version](https://badge.fury.io/js/snabbdom.svg)](https://badge.fury.io/js/snabbdom)\n[![npm downloads](https://img.shields.io/npm/dm/snabbdom.svg)](https://www.npmjs.com/package/snabbdom)\n[![Join the chat at https://gitter.im/snabbdom/snabbdom](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snabbdom/snabbdom?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[![Donate to our collective](https://opencollective.com/snabbdom/donate/button@2x.png?color=blue)](https://opencollective.com/snabbdom#section-contribute)\n\nThanks to [Browserstack](https://www.browserstack.com/) for providing access to\ntheir great cross-browser testing tools.\n\n---\n\nEnglish | [简体中文](./README-zh_CN.md)\n\n## Introduction\n\nVirtual DOM is awesome. It allows us to express our application's view\nas a function of its state. But existing solutions were way way too\nbloated, too slow, lacked features, had an API biased towards OOP\nand/or lacked features I needed.\n\nSnabbdom consists of an extremely simple, performant and extensible\ncore that is only ≈ 200 SLOC. It offers a modular architecture with\nrich functionality for extensions through custom modules. To keep the\ncore simple, all non-essential functionality is delegated to modules.\n\nYou can mold Snabbdom into whatever you desire! Pick, choose and\ncustomize the functionality you want. Alternatively you can just use\nthe default extensions and get a virtual DOM library with high\nperformance, small size and all the features listed below.\n\n## Features\n\n- Core features\n  - About 200 SLOC – you could easily read through the entire core and fully\n    understand how it works.\n  - Extendable through modules.\n  - A rich set of hooks available, both per vnode and globally for modules,\n    to hook into any part of the diff and patch process.\n  - Splendid performance. Snabbdom is among the fastest virtual DOM libraries.\n  - Patch function with a function signature equivalent to a reduce/scan\n    function. Allows for easier integration with a FRP library.\n- Features in modules\n  - `h` function for easily creating virtual DOM nodes.\n  - [SVG _just works_ with the `h` helper](#svg).\n  - Features for doing complex CSS animations.\n  - Powerful event listener functionality.\n  - [Thunks](#thunks) to optimize the diff and patch process even further.\n  - [JSX support, including TypeScript types](#jsx)\n- Third party features\n  - Server-side HTML output provided by [snabbdom-to-html](https://github.com/acstll/snabbdom-to-html).\n  - Compact virtual DOM creation with [snabbdom-helpers](https://github.com/krainboltgreene/snabbdom-helpers).\n  - Template string support using [snabby](https://github.com/jamen/snabby).\n  - Virtual DOM assertion with [snabbdom-looks-like](https://github.com/jvanbruegge/snabbdom-looks-like)\n\n## Example\n\n```mjs\nimport {\n  init,\n  classModule,\n  propsModule,\n  styleModule,\n  eventListenersModule,\n  h,\n} from \"snabbdom\";\n\nconst patch = init([\n  // Init patch function with chosen modules\n  classModule, // makes it easy to toggle classes\n  propsModule, // for setting properties on DOM elements\n  styleModule, // handles styling on elements with support for animations\n  eventListenersModule, // attaches event listeners\n]);\n\nconst container = document.getElementById(\"container\");\n\nconst vnode = h(\"div#container.two.classes\", { on: { click: someFn } }, [\n  h(\"span\", { style: { fontWeight: \"bold\" } }, \"This is bold\"),\n  \" and this is just normal text\",\n  h(\"a\", { props: { href: \"/foo\" } }, \"I'll take you places!\"),\n]);\n// Patch into empty DOM element – this modifies the DOM as a side effect\npatch(container, vnode);\n\nconst newVnode = h(\n  \"div#container.two.classes\",\n  { on: { click: anotherEventHandler } },\n  [\n    h(\n      \"span\",\n      { style: { fontWeight: \"normal\", fontStyle: \"italic\" } },\n      \"This is now italic type\"\n    ),\n    \" and this is still just normal text\",\n    h(\"a\", { props: { href: \"/bar\" } }, \"I'll take you places!\"),\n  ]\n);\n// Second `patch` invocation\npatch(vnode, newVnode); // Snabbdom efficiently updates the old view to the new state\n```\n\n## More examples\n\n- [Animated reordering of elements](http://snabbdom.github.io/snabbdom/examples/reorder-animation/)\n- [Hero transitions](http://snabbdom.github.io/snabbdom/examples/hero/)\n- [SVG Carousel](http://snabbdom.github.io/snabbdom/examples/carousel-svg/)\n\n---\n\n## Table of contents\n\n- [Core documentation](#core-documentation)\n  - [`init`](#init)\n  - [`patch`](#patch)\n    - [Unmounting](#unmounting)\n  - [`h`](#h)\n  - [`fragment`](#fragment-experimental) (experimental)\n  - [`tovnode`](#tovnode)\n  - [Hooks](#hooks)\n    - [Overview](#overview)\n    - [Usage](#usage)\n    - [The `init` hook](#the-init-hook)\n    - [The `insert` hook](#the-insert-hook)\n    - [The `remove` hook](#the-remove-hook)\n    - [The `destroy` hook](#the-destroy-hook)\n  - [Creating modules](#creating-modules)\n- [Modules documentation](#modules-documentation)\n  - [The class module](#the-class-module)\n  - [The props module](#the-props-module)\n  - [The attributes module](#the-attributes-module)\n  - [The dataset module](#the-dataset-module)\n  - [The style module](#the-style-module)\n    - [Custom properties (CSS variables)](#custom-properties-css-variables)\n    - [Delayed properties](#delayed-properties)\n    - [Set properties on `remove`](#set-properties-on-remove)\n    - [Set properties on `destroy`](#set-properties-on-destroy)\n  - [The eventlisteners module](#the-eventlisteners-module)\n- [SVG](#svg)\n  - [Classes in SVG Elements](#classes-in-svg-elements)\n- [Thunks](#thunks)\n- [JSX](#jsx)\n  - [TypeScript](#typescript)\n  - [Babel](#babel)\n- [Virtual Node](#virtual-node)\n  - [sel : String](#sel--string)\n  - [data : Object](#data--object)\n  - [children : Array<vnode>](#children--arrayvnode)\n  - [text : string](#text--string)\n  - [elm : Element](#elm--element)\n  - [key : string | number](#key--string--number)\n- [Structuring applications](#structuring-applications)\n- [Common errors](#common-errors)\n- [Opportunity for community feedback](#opportunity-for-community-feedback)\n\n## Core documentation\n\nThe core of Snabbdom provides only the most essential functionality.\nIt is designed to be as simple as possible while still being fast and\nextendable.\n\n### `init`\n\nThe core exposes only one single function `init`. This `init`\ntakes a list of modules and returns a `patch` function that uses the\nspecified set of modules.\n\n```mjs\nimport { classModule, styleModule } from \"snabbdom\";\n\nconst patch = init([classModule, styleModule]);\n```\n\n### `patch`\n\nThe `patch` function returned by `init` takes two arguments. The first\nis a DOM element or a vnode representing the current view. The second\nis a vnode representing the new, updated view.\n\nIf a DOM element with a parent is passed, `newVnode` will be turned\ninto a DOM node, and the passed element will be replaced by the\ncreated DOM node. If an old vnode is passed, Snabbdom will efficiently\nmodify it to match the description in the new vnode.\n\nAny old vnode passed must be the resulting vnode from a previous call\nto `patch`. This is necessary since Snabbdom stores information in the\nvnode. This makes it possible to implement a simpler and more\nperformant architecture. This also avoids the creation of a new old\nvnode tree.\n\n```mjs\npatch(oldVnode, newVnode);\n```\n\n#### Unmounting\n\nWhile there is no API specifically for removing a VNode tree from its mount point element, one way of almost achieving this is providing a comment VNode as the second argument to `patch`, such as:\n\n```mjs\npatch(\n  oldVnode,\n  h(\"!\", {\n    hooks: {\n      post: () => {\n        /* patch complete */\n      },\n    },\n  })\n);\n```\n\nOf course, then there is still a single comment node at the mount point.\n\n### `h`\n\nIt is recommended that you use `h` to create vnodes. It accepts a\ntag/selector as a string, an optional data object and an optional string or\narray of children.\n\n```mjs\nimport { h } from \"snabbdom\";\n\nconst vnode = h(\"div\", { style: { color: \"#000\" } }, [\n  h(\"h1\", \"Headline\"),\n  h(\"p\", \"A paragraph\"),\n]);\n```\n\n### `fragment` (experimental)\n\nCaution: This feature is currently experimental and must be opted in.\nIts API may be changed without an major version bump.\n\n```mjs\nconst patch = init(modules, undefined, {\n  experimental: {\n    fragments: true,\n  },\n});\n```\n\nCreates a virtual node that will be converted to a document fragment containing the given children.\n\n```mjs\nimport { fragment, h } from \"snabbdom\";\n\nconst vnode = fragment([\"I am\", h(\"span\", [\" a\", \" fragment\"])]);\n```\n\n### `tovnode`\n\nConverts a DOM node into a virtual node. Especially good for patching over an pre-existing,\nserver-side generated content.\n\n```mjs\nimport {\n  init,\n  classModule,\n  propsModule,\n  styleModule,\n  eventListenersModule,\n  h,\n  toVNode,\n} from \"snabbdom\";\n\nconst patch = init([\n  // Init patch function with chosen modules\n  classModule, // makes it easy to toggle classes\n  propsModule, // for setting properties on DOM elements\n  styleModule, // handles styling on elements with support for animations\n  eventListenersModule, // attaches event listeners\n]);\n\nconst newVNode = h(\"div\", { style: { color: \"#000\" } }, [\n  h(\"h1\", \"Headline\"),\n  h(\"p\", \"A paragraph\"),\n]);\n\npatch(toVNode(document.querySelector(\".container\")), newVNode);\n```\n\n### Hooks\n\nHooks are a way to hook into the lifecycle of DOM nodes. Snabbdom\noffers a rich selection of hooks. Hooks are used both by modules to\nextend Snabbdom, and in normal code for executing arbitrary code at\ndesired points in the life of a virtual node.\n\n#### Overview\n\n| Name        | Triggered when                                     | Arguments to callback   |\n| ----------- | -------------------------------------------------- | ----------------------- |\n| `pre`       | the patch process begins                           | none                    |\n| `init`      | a vnode has been added                             | `vnode`                 |\n| `create`    | a DOM element has been created based on a vnode    | `emptyVnode, vnode`     |\n| `insert`    | an element has been inserted into the DOM          | `vnode`                 |\n| `prepatch`  | an element is about to be patched                  | `oldVnode, vnode`       |\n| `update`    | an element is being updated                        | `oldVnode, vnode`       |\n| `postpatch` | an element has been patched                        | `oldVnode, vnode`       |\n| `destroy`   | an element is directly or indirectly being removed | `vnode`                 |\n| `remove`    | an element is directly being removed from the DOM  | `vnode, removeCallback` |\n| `post`      | the patch process is done                          | none                    |\n\nThe following hooks are available for modules: `pre`, `create`,\n`update`, `destroy`, `remove`, `post`.\n\nThe following hooks are available in the `hook` property of individual\nelements: `init`, `create`, `insert`, `prepatch`, `update`,\n`postpatch`, `destroy`, `remove`.\n\n#### Usage\n\nTo use hooks, pass them as an object to `hook` field of the data\nobject argument.\n\n```mjs\nh(\"div.row\", {\n  key: movie.rank,\n  hook: {\n    insert: (vnode) => {\n      movie.elmHeight = vnode.elm.offsetHeight;\n    },\n  },\n});\n```\n\n#### The `init` hook\n\nThis hook is invoked during the patch process when a new virtual node\nhas been found. The hook is called before Snabbdom has processed the\nnode in any way. I.e., before it has created a DOM node based on the\nvnode.\n\n#### The `insert` hook\n\nThis hook is invoked once the DOM element for a vnode has been\ninserted into the document _and_ the rest of the patch cycle is done.\nThis means that you can do DOM measurements (like using\n[getBoundingClientRect](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect)\nin this hook safely, knowing that no elements will be changed\nafterwards that could affect the position of the inserted elements.\n\n#### The `remove` hook\n\nAllows you to hook into the removal of an element. The hook is called\nonce a vnode is to be removed from the DOM. The handling function\nreceives both the vnode and a callback. You can control and delay the\nremoval with the callback. The callback should be invoked once the\nhook is done doing its business, and the element will only be removed\nonce all `remove` hooks have invoked their callback.\n\nThe hook is only triggered when an element is to be removed from its\nparent – not if it is the child of an element that is removed. For\nthat, see the `destroy` hook.\n\n#### The `destroy` hook\n\nThis hook is invoked on a virtual node when its DOM element is removed\nfrom the DOM or if its parent is being removed from the DOM.\n\nTo see the difference between this hook and the `remove` hook,\nconsider an example.\n\n```mjs\nconst vnode1 = h(\"div\", [h(\"div\", [h(\"span\", \"Hello\")])]);\nconst vnode2 = h(\"div\", []);\npatch(container, vnode1);\npatch(vnode1, vnode2);\n```\n\nHere `destroy` is triggered for both the inner `div` element _and_ the\n`span` element it contains. `remove`, on the other hand, is only\ntriggered on the `div` element because it is the only element being\ndetached from its parent.\n\nYou can, for instance, use `remove` to trigger an animation when an\nelement is being removed and use the `destroy` hook to additionally\nanimate the disappearance of the removed element's children.\n\n### Creating modules\n\nModules works by registering global listeners for [hooks](#hooks). A module is simply a dictionary mapping hook names to functions.\n\n```mjs\nconst myModule = {\n  create: function (oldVnode, vnode) {\n    // invoked whenever a new virtual node is created\n  },\n  update: function (oldVnode, vnode) {\n    // invoked whenever a virtual node is updated\n  },\n};\n```\n\nWith this mechanism you can easily augment the behaviour of Snabbdom.\nFor demonstration, take a look at the implementations of the default\nmodules.\n\n## Modules documentation\n\nThis describes the core modules. All modules are optional. JSX examples assume you're using the [`jsx` pragma](#jsx) provided by this library.\n\n### The class module\n\nThe class module provides an easy way to dynamically toggle classes on\nelements. It expects an object in the `class` data property. The\nobject should map class names to booleans that indicates whether or\nnot the class should stay or go on the vnode.\n\n```mjs\nh(\"a\", { class: { active: true, selected: false } }, \"Toggle\");\n```\n\nIn JSX, you can use `class` like this:\n\n```jsx\n<div class={{ foo: true, bar: true }} />\n// Renders as: <div class=\"foo bar\"></div>\n```\n\n### The props module\n\nAllows you to set properties on DOM elements.\n\n```mjs\nh(\"a\", { props: { href: \"/foo\" } }, \"Go to Foo\");\n```\n\nIn JSX, you can use `props` like this:\n\n```jsx\n<input props={{ name: \"foo\" }} />\n// Renders as: <input name=\"foo\" /> with input.name === \"foo\"\n```\n\nProperties can only be set. Not removed. Even though browsers allow addition and\ndeletion of custom properties, deletion will not be attempted by this module.\nThis makes sense, because native DOM properties cannot be removed. And\nif you are using custom properties for storing values or referencing\nobjects on the DOM, then please consider using\n[data-\\* attributes](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes)\ninstead. Perhaps via [the dataset module](#the-dataset-module).\n\n### The attributes module\n\nSame as props, but set attributes instead of properties on DOM elements.\n\n```mjs\nh(\"a\", { attrs: { href: \"/foo\" } }, \"Go to Foo\");\n```\n\nIn JSX, you can use `attrs` like this:\n\n```jsx\n<div attrs={{ \"aria-label\": \"I'm a div\" }} />\n// Renders as: <div aria-label=\"I'm a div\"></div>\n```\n\nAttributes are added and updated using `setAttribute`. In case of an\nattribute that had been previously added/set and is no longer present\nin the `attrs` object, it is removed from the DOM element's attribute\nlist using `removeAttribute`.\n\nIn the case of boolean attributes (e.g. `disabled`, `hidden`,\n`selected` ...), the meaning doesn't depend on the attribute value\n(`true` or `false`) but depends instead on the presence/absence of the\nattribute itself in the DOM element. Those attributes are handled\ndifferently by the module: if a boolean attribute is set to a\n[falsy value](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n(`0`, `-0`, `null`, `false`,`NaN`, `undefined`, or the empty string\n(`\"\"`)), then the attribute will be removed from the attribute list of\nthe DOM element.\n\n### The dataset module\n\nAllows you to set custom data attributes (`data-*`) on DOM elements. These can then be accessed with the [HTMLElement.dataset](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset) property.\n\n```mjs\nh(\"button\", { dataset: { action: \"reset\" } }, \"Reset\");\n```\n\nIn JSX, you can use `dataset` like this:\n\n```jsx\n<div dataset={{ foo: \"bar\" }} />\n// Renders as: <div data-foo=\"bar\"></div>\n```\n\n### The style module\n\nThe style module is for making your HTML look slick and animate smoothly. At\nits core it allows you to set CSS properties on elements.\n\n```mjs\nh(\n  \"span\",\n  {\n    style: {\n      border: \"1px solid #bada55\",\n      color: \"#c0ffee\",\n      fontWeight: \"bold\",\n    },\n  },\n  \"Say my name, and every colour illuminates\"\n);\n```\n\nIn JSX, you can use `style` like this:\n\n```jsx\n<div\n  style={{\n    border: \"1px solid #bada55\",\n    color: \"#c0ffee\",\n    fontWeight: \"bold\",\n  }}\n/>\n// Renders as: <div style=\"border: 1px solid #bada55; color: #c0ffee; font-weight: bold\"></div>\n```\n\n#### Custom properties (CSS variables)\n\nCSS custom properties (aka CSS variables) are supported, they must be prefixed\nwith `--`\n\n```mjs\nh(\n  \"div\",\n  {\n    style: { \"--warnColor\": \"yellow\" },\n  },\n  \"Warning\"\n);\n```\n\n#### Delayed properties\n\nYou can specify properties as being delayed. Whenever these properties\nchange, the change is not applied until after the next frame.\n\n```mjs\nh(\n  \"span\",\n  {\n    style: {\n      opacity: \"0\",\n      transition: \"opacity 1s\",\n      delayed: { opacity: \"1\" },\n    },\n  },\n  \"Imma fade right in!\"\n);\n```\n\nThis makes it easy to declaratively animate the entry of elements.\n\nThe `all` value of `transition-property` is not supported.\n\n#### Set properties on `remove`\n\nStyles set in the `remove` property will take effect once the element\nis about to be removed from the DOM. The applied styles should be\nanimated with CSS transitions. Only once all the styles are done\nanimating will the element be removed from the DOM.\n\n```mjs\nh(\n  \"span\",\n  {\n    style: {\n      opacity: \"1\",\n      transition: \"opacity 1s\",\n      remove: { opacity: \"0\" },\n    },\n  },\n  \"It's better to fade out than to burn away\"\n);\n```\n\nThis makes it easy to declaratively animate the removal of elements.\n\nThe `all` value of `transition-property` is not supported.\n\n#### Set properties on `destroy`\n\n```mjs\nh(\n  \"span\",\n  {\n    style: {\n      opacity: \"1\",\n      transition: \"opacity 1s\",\n      destroy: { opacity: \"0\" },\n    },\n  },\n  \"It's better to fade out than to burn away\"\n);\n```\n\nThe `all` value of `transition-property` is not supported.\n\n### The eventlisteners module\n\nThe event listeners module gives powerful capabilities for attaching\nevent listeners.\n\nYou can attach a function to an event on a vnode by supplying an\nobject at `on` with a property corresponding to the name of the event\nyou want to listen to. The function will be called when the event\nhappens and will be passed the event object that belongs to it.\n\n```mjs\nfunction clickHandler(ev) {\n  console.log(\"got clicked\");\n}\nh(\"div\", { on: { click: clickHandler } });\n```\n\nIn JSX, you can use `on` like this:\n\n```js\n<div on={{ click: clickHandler }} />\n```\n\nSnabbdom allows swapping event handlers between renders. This happens without\nactually touching the event handlers attached to the DOM.\n\nNote, however, that **you should be careful when sharing event\nhandlers between vnodes**, because of the technique this module uses\nto avoid re-binding event handlers to the DOM. (And in general,\nsharing data between vnodes is not guaranteed to work, because modules\nare allowed to mutate the given data).\n\nIn particular, you should **not** do something like this:\n\n```mjs\n// Does not work\nconst sharedHandler = {\n  change: function (e) {\n    console.log(\"you chose: \" + e.target.value);\n  },\n};\nh(\"div\", [\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"0\" },\n    on: sharedHandler,\n  }),\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"1\" },\n    on: sharedHandler,\n  }),\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"2\" },\n    on: sharedHandler,\n  }),\n]);\n```\n\nFor many such cases, you can use array-based handlers instead (described above).\nAlternatively, simply make sure each node is passed unique `on` values:\n\n```mjs\n// Works\nconst sharedHandler = function (e) {\n  console.log(\"you chose: \" + e.target.value);\n};\nh(\"div\", [\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"0\" },\n    on: { change: sharedHandler },\n  }),\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"1\" },\n    on: { change: sharedHandler },\n  }),\n  h(\"input\", {\n    props: { type: \"radio\", name: \"test\", value: \"2\" },\n    on: { change: sharedHandler },\n  }),\n]);\n```\n\n## SVG\n\nSVG just works when using the `h` function for creating virtual\nnodes. SVG elements are automatically created with the appropriate\nnamespaces.\n\n```mjs\nconst vnode = h(\"div\", [\n  h(\"svg\", { attrs: { width: 100, height: 100 } }, [\n    h(\"circle\", {\n      attrs: {\n        cx: 50,\n        cy: 50,\n        r: 40,\n        stroke: \"green\",\n        \"stroke-width\": 4,\n        fill: \"yellow\",\n      },\n    }),\n  ]),\n]);\n```\n\nSee also the [SVG example](./examples/svg) and the [SVG Carousel example](./examples/carousel-svg/).\n\n### Classes in SVG Elements\n\nCertain browsers (like IE &lt;=11) [do not support `classList` property in SVG elements](http://caniuse.com/#feat=classlist).\nBecause the _class_ module internally uses `classList`, it will not work in this case unless you use a [classList polyfill](https://www.npmjs.com/package/classlist-polyfill).\n(If you don't want to use a polyfill, you can use the `class` attribute with the _attributes_ module).\n\n## Thunks\n\nThe `thunk` function takes a selector, a key for identifying a thunk,\na function that returns a vnode and a variable amount of state\nparameters. If invoked, the render function will receive the state\narguments.\n\n`thunk(selector, key, renderFn, [stateArguments])`\n\nThe `renderFn` is invoked only if the `renderFn` is changed or `[stateArguments]` array length or it's elements are changed.\n\nThe `key` is optional. It should be supplied when the `selector` is\nnot unique among the thunks siblings. This ensures that the thunk is\nalways matched correctly when diffing.\n\nThunks are an optimization strategy that can be used when one is\ndealing with immutable data.\n\nConsider a simple function for creating a virtual node based on a number.\n\n```mjs\nfunction numberView(n) {\n  return h(\"div\", \"Number is: \" + n);\n}\n```\n\nThe view depends only on `n`. This means that if `n` is unchanged,\nthen creating the virtual DOM node and patching it against the old\nvnode is wasteful. To avoid the overhead we can use the `thunk` helper\nfunction.\n\n```mjs\nfunction render(state) {\n  return thunk(\"num\", numberView, [state.number]);\n}\n```\n\nInstead of actually invoking the `numberView` function this will only\nplace a dummy vnode in the virtual tree. When Snabbdom patches this\ndummy vnode against a previous vnode, it will compare the value of\n`n`. If `n` is unchanged it will simply reuse the old vnode. This\navoids recreating the number view and the diff process altogether.\n\nThe view function here is only an example. In practice thunks are only\nrelevant if you are rendering a complicated view that takes\nsignificant computational time to generate.\n\n## JSX\n\nNote that JSX fragments are still experimental and must be opted in.\nSee [`fragment`](#fragment-experimental) section for details.\n\n### TypeScript\n\nAdd the following options to your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react\",\n    \"jsxFactory\": \"jsx\",\n    \"jsxFragmentFactory\": \"Fragment\"\n  }\n}\n```\n\nThen make sure that you use the `.tsx` file extension and import the `jsx` function and the `Fragment` function at the top of the file:\n\n```tsx\nimport { Fragment, jsx, VNode } from \"snabbdom\";\n\nconst node: VNode = (\n  <div>\n    <span>I was created with JSX</span>\n  </div>\n);\n\nconst fragment: VNode = (\n  <>\n    <span>JSX fragments</span>\n    are experimentally supported\n  </>\n);\n```\n\n### Babel\n\nAdd the following options to your babel configuration:\n\n```json\n{\n  \"plugins\": [\n    [\n      \"@babel/plugin-transform-react-jsx\",\n      {\n        \"pragma\": \"jsx\",\n        \"pragmaFrag\": \"Fragment\"\n      }\n    ]\n  ]\n}\n```\n\nThen import the `jsx` function and the `Fragment` function at the top of the file:\n\n```jsx\nimport { Fragment, jsx } from \"snabbdom\";\n\nconst node = (\n  <div>\n    <span>I was created with JSX</span>\n  </div>\n);\n\nconst fragment = (\n  <>\n    <span>JSX fragments</span>\n    are experimentally supported\n  </>\n);\n```\n\n## Virtual Node\n\n**Properties**\n\n- [sel](#sel--string)\n- [data](#data--object)\n- [children](#children--array)\n- [text](#text--string)\n- [elm](#elm--element)\n- [key](#key--string--number)\n\n### sel : String\n\nThe `.sel` property of a virtual node is the CSS selector passed to\n[`h()`](#snabbdomh) during creation. For example: `h('div#container', {}, [...])` will create a a virtual node which has `div#container` as\nits `.sel` property.\n\n### data : Object\n\nThe `.data` property of a virtual node is the place to add information\nfor [modules](#modules-documentation) to access and manipulate the\nreal DOM element when it is created; Add styles, CSS classes,\nattributes, etc.\n\nThe data object is the (optional) second parameter to [`h()`](#snabbdomh)\n\nFor example `h('div', {props: {className: 'container'}}, [...])` will produce a virtual node with\n\n```mjs\n({\n  props: {\n    className: \"container\",\n  },\n});\n```\n\nas its `.data` object.\n\n### children : Array<vnode>\n\nThe `.children` property of a virtual node is the third (optional)\nparameter to [`h()`](#snabbdomh) during creation. `.children` is\nsimply an Array of virtual nodes that should be added as children of\nthe parent DOM node upon creation.\n\nFor example `h('div', {}, [ h('h1', {}, 'Hello, World') ])` will\ncreate a virtual node with\n\n```mjs\n[\n  {\n    sel: \"h1\",\n    data: {},\n    children: undefined,\n    text: \"Hello, World\",\n    elm: Element,\n    key: undefined,\n  },\n];\n```\n\nas its `.children` property.\n\n### text : string\n\nThe `.text` property is created when a virtual node is created with\nonly a single child that possesses text and only requires\n`document.createTextNode()` to be used.\n\nFor example: `h('h1', {}, 'Hello')` will create a virtual node with\n`Hello` as its `.text` property.\n\n### elm : Element\n\nThe `.elm` property of a virtual node is a pointer to the real DOM\nnode created by snabbdom. This property is very useful to do\ncalculations in [hooks](#hooks) as well as\n[modules](#modules-documentation).\n\n### key : string | number\n\nThe `.key` property is created when a key is provided inside of your\n[`.data`](#data--object) object. The `.key` property is used to keep\npointers to DOM nodes that existed previously to avoid recreating them\nif it is unnecessary. This is very useful for things like list\nreordering. A key must be either a string or a number to allow for\nproper lookup as it is stored internally as a key/value pair inside of\nan object, where `.key` is the key and the value is the\n[`.elm`](#elm--element) property created.\n\nIf provided, the `.key` property must be unique among sibling elements.\n\nFor example: `h('div', {key: 1}, [])` will create a virtual node\nobject with a `.key` property with the value of `1`.\n\n## Structuring applications\n\nSnabbdom is a low-level virtual DOM library. It is unopinionated with\nregards to how you should structure your application.\n\nHere are some approaches to building applications with Snabbdom.\n\n- [functional-frontend-architecture](https://github.com/paldepind/functional-frontend-architecture) –\n  a repository containing several example applications that\n  demonstrates an architecture that uses Snabbdom.\n- [Cycle.js](https://cycle.js.org/) –\n  \"A functional and reactive JavaScript framework for cleaner code\"\n  uses Snabbdom\n- [Vue.js](http://vuejs.org/) use a fork of snabbdom.\n- [scheme-todomvc](https://github.com/amirouche/scheme-todomvc/) build\n  redux-like architecture on top of snabbdom bindings.\n- [kaiju](https://github.com/AlexGalays/kaiju) -\n  Stateful components and observables on top of snabbdom\n- [Tweed](https://tweedjs.github.io) –\n  An Object Oriented approach to reactive interfaces.\n- [Cyclow](http://cyclow.js.org) -\n  \"A reactive frontend framework for JavaScript\"\n  uses Snabbdom\n- [Tung](https://github.com/Reon90/tung) –\n  A JavaScript library for rendering html. Tung helps to divide html and JavaScript development.\n- [sprotty](https://github.com/theia-ide/sprotty) - \"A web-based diagramming framework\" uses Snabbdom.\n- [Mark Text](https://github.com/marktext/marktext) - \"Realtime preview Markdown Editor\" build on Snabbdom.\n- [puddles](https://github.com/flintinatux/puddles) -\n  \"Tiny vdom app framework. Pure Redux. No boilerplate.\" - Built with :heart: on Snabbdom.\n- [Backbone.VDOMView](https://github.com/jcbrand/backbone.vdomview) - A [Backbone](http://backbonejs.org/) View with VirtualDOM capability via Snabbdom.\n- [Rosmaro Snabbdom starter](https://github.com/lukaszmakuch/rosmaro-snabbdom-starter) - Building user interfaces with state machines and Snabbdom.\n- [Pureact](https://github.com/irony/pureact) - \"65 lines implementation of React incl Redux and hooks with only one dependency - Snabbdom\"\n- [Snabberb](https://github.com/tobymao/snabberb) - A minimalistic Ruby framework using [Opal](https://github.com/opal/opal) and Snabbdom for building reactive views.\n- [WebCell](https://github.com/EasyWebApp/WebCell) - Web Components engine based on JSX & TypeScript\n\nBe sure to share it if you're building an application in another way\nusing Snabbdom.\n\n## Common errors\n\n```text\nUncaught NotFoundError: Failed to execute 'insertBefore' on 'Node':\n    The node before which the new node is to be inserted is not a child of this node.\n```\n\nThe reason for this error is reusing of vnodes between patches (see code example), snabbdom stores actual dom nodes inside the virtual dom nodes passed to it as performance improvement, so reusing nodes between patches is not supported.\n\n```mjs\nconst sharedNode = h(\"div\", {}, \"Selected\");\nconst vnode1 = h(\"div\", [\n  h(\"div\", {}, [\"One\"]),\n  h(\"div\", {}, [\"Two\"]),\n  h(\"div\", {}, [sharedNode]),\n]);\nconst vnode2 = h(\"div\", [\n  h(\"div\", {}, [\"One\"]),\n  h(\"div\", {}, [sharedNode]),\n  h(\"div\", {}, [\"Three\"]),\n]);\npatch(container, vnode1);\npatch(vnode1, vnode2);\n```\n\nYou can fix this issue by creating a shallow copy of the object (here with object spread syntax):\n\n```mjs\nconst vnode2 = h(\"div\", [\n  h(\"div\", {}, [\"One\"]),\n  h(\"div\", {}, [{ ...sharedNode }]),\n  h(\"div\", {}, [\"Three\"]),\n]);\n```\n\nAnother solution would be to wrap shared vnodes in a factory function:\n\n```mjs\nconst sharedNode = () => h(\"div\", {}, \"Selected\");\nconst vnode1 = h(\"div\", [\n  h(\"div\", {}, [\"One\"]),\n  h(\"div\", {}, [\"Two\"]),\n  h(\"div\", {}, [sharedNode()]),\n]);\n```\n\n## Opportunity for community feedback\n\nPull requests that the community may care to provide feedback on should be\nmerged after such opportunity of a few days was provided.\n","_attachments":{},"homepage":"https://github.com/snabbdom/snabbdom#readme","bugs":{"url":"https://github.com/snabbdom/snabbdom/issues"},"license":"MIT"}