{"_id":"html2sketch","_rev":"71-0c8e182816de3277c8451f3bbf3c6062","name":"html2sketch","dist-tags":{"latest":"1.0.2","next":"0.4.5-0","beta":"1.0.0-beta.22"},"versions":{"0.0.1":{"name":"html2sketch","version":"0.0.1","author":{"name":"arvinxx"},"description":"praser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"test":"jest --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"^5.1.0","@types/jest":"^26.0.4","jest":"^24.8.0","prettier":"^1.18.2","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6"},"dependencies":{"color":"^3.1.2","normalize-css-color":"^1.0.2","svg-pathdata":"^5.0.5"},"gitHead":"5f13afb99152bbf56f44289bf5119ebe998025fa","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ZLnBAL+Ntr5Y0FfONrPFeU35ZPWOrlSjlRs5KbcOq83UpYG4N/7d17ie48FyK1oYVM7+32yaojZP1AHLdTXyiQ==","shasum":"1687af8d777c4e84a3632add741f2fd2dd0e1d8a","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.0.1.tgz","fileCount":130,"unpackedSize":197936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEAnFCRA9TVsSAnZWagAAUjoP/0X+NnTJAB4zUUprZGne\nBFt18kHvWTbS97Dq6jwFNtnZvOkzHngCWxRfWJnzFPN5MsUMUie5b8Z2lRMF\nRgFlpLOKE3UfmoTz1rhrD6r0Qwt5qKqajmqF80UQFN/Hwg0XEO2rPEoLfN0E\nc5TnTBGaZo631gZHlOB6SrO+kZfMYduoFlG4cSMwIZdjNnsh4125U3u4l20q\n6fiRDAAbnuEQ4+TQLufqJ3VJ4VV1iICz7UUwFFBE0i4tLPmHfT5U0Q0NGf8V\nL0C9BCgbhrOtEOrxGGiPLthZmdLiw4DQnDkOfhgusaO40NlI131bh7YlKnpI\nVOABPRS1Oz5Kehp0eyGpBf5KE0UKFIXArU+m7LYnCnXkLRiGYR1rgktlJtw8\nILuERYPdU7P1oppmL5pk+7qt5zoWhe2XNgwSA5ng6GSoP/IyxbD/RD5xMAJu\nNglRjXr002Qt/h3UOryXwojMkg9i3rkL2k9n44nyPY+qsQ78+4ziNbAql7qq\n/relwZYE6wIxWgHAw3ADx5Q/JleUC4Q/3EoZQ+4QgpGx9vJ2Zc+jGDoHnr4G\n7PVSOIWwSegrv98pSBiRwRVBHgF5ncqHSQ84Y8ZjdwKb8a6UkmXzbWEukH/j\nxbDjeGixNzWJGQvW1nU79jdSV/u/92WBCsXjh7YgCY8EU51tMkqh9W2X9Q6V\n+GNl\r\n=uZQD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXtgy97NfeXwKDrB4R48XQH1CWxvCj3zrM4IPCB+08GQIgUJCfvfNPJAj4ao9Xf+vxxkmgP9uar6WxUIlvARZOx5Q="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.0.1_1594886596631_0.8626735079172525"},"_hasShrinkwrap":false},"0.0.2":{"name":"html2sketch","version":"0.0.2","author":{"name":"arvinxx"},"description":"praser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"test":"jest --config jestconfig.json","build":"tsc","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"^5.1.0","@types/jest":"^26.0.4","jest":"^24.8.0","prettier":"^1.18.2","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6"},"dependencies":{"color":"^3.1.2","normalize-css-color":"^1.0.2","svg-pathdata":"^5.0.5"},"gitHead":"8ebb3ac7ca2712b45dd03aa749bf0922330c6917","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-UYE9btM4H6iky+CCdiaKBb2I/+s2iCM1MxWvyzNYlnW4noTKl1o58u64AZlKxniEdoOa7vPaCTKZjQM9DZ+l+A==","shasum":"9da69bff55ee8b9c0066eceb0d35cf89c1eb54c8","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.0.2.tgz","fileCount":130,"unpackedSize":197875,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEAvQCRA9TVsSAnZWagAAbZQP/jGhDGiKH4Ds8+7BMlPG\nNzAyvWJo4jgg24b3znNHuc9QnRcEHIGenMEpYoBs941Kj0yCHMXuuiv7FcYL\nqlOXGnudl6e8Y65sev0ognsc+51D+6w1Lj++UNMrLVYvBgBmPKeBY599OAfl\n2snbKwqBOmJELZWnxh0jHur+zhlkJ9aGQc68uNSUiuv+QANm3m54YWlZ+FHP\nzsgYcZUfDYx982x/3K6rI+REEy+r6iqki5pHmsrMrwhI6i4KZC3bqmtM6uEK\nWfVQ0EIx+68hw16NDq/YzlAnWhFBbnfp4S9TJoqY2Cj1MEuhLw6uO0O1taYG\nLqOB69N+RDnace5xYE3wiSrdyxUq2gVJXwDz3sseWEIYoGl9XmxsPTJAm+5a\ngUg2qo1npqj65eUZqw5TebDxxcKR4L2rgw4KSDB7Yl+Jl0HLwZ2UCusypvil\nBBn0uYIWuGeYiKJ/Qujwu0NNzu0sWEgbLu6541WqjYJyM9n4wzDITyfUDyJo\nFC7gAXDdh2cxHBmEY4fookznBjhGnixzXtoVv9lqvODHDnjb97hGGl5DoPlf\nhToTAjn4oABQlTpuWibvQQg6bnlhON7MI8L1kiC50GQVBNCM6+RjitLBVb3O\nXrurFRMuh0DA/wlIY0+kN0KM/5dYDR1ns9oBbG6ngLxCpDdE6JHpFR8rL7Qw\niehG\r\n=7lyd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBodOmEtEYWrHeVVSsTl5JZxfKh4pxg2RS9V7u3EN5TAiEA4WAooOjE8tPQA/PHrI1lbCgd+2VnTclTwka2rsRr5Kg="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.0.2_1594887119770_0.20771773685461437"},"_hasShrinkwrap":false},"0.0.3":{"name":"html2sketch","version":"0.0.3","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","build":"tsc","test":"jest --config jestconfig.json","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","jest":"^24.8.0","prettier":"^1.18.2","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6"},"dependencies":{"color":"^3.1.2","normalize-css-color":"^1.0.2","svg-pathdata":"^5.0.5"},"gitHead":"63aca4d13d625a2283e369c97117887da52e9269","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.0.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-dVeOaZ0lcnUnenJDD3TuGR5pByie+uZ/Hu5Le2+uXU789P63ACVf118FIMi+SzK8BvEQqHoi48P7kDEmXVZgYg==","shasum":"b86d793ebd62eb6fcd7e060382a85a016674aa41","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.0.3.tgz","fileCount":220,"unpackedSize":330214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFkqvCRA9TVsSAnZWagAAtdMQAJqGKzv5oKlBnvjCq31t\n7FDVXDq9A2+Ijmn6PnwN79Ol8DF2ILNcQIMfdlajB/lSciwxfMfRwmqa5uko\nbNbkTLyex1FYesH3o+n6cF/E9iU662ugdPWkBrVMFxs2yTaHf2E6G+wW9BNe\nbzO43ph2AezvV2rvlx2ZMH29w06WffOgW1CPHYlIoJf35Fe5moSlbyad6GIA\nu3xpA9THBx2PgmqZyoKulaHoWZK5Km0Ky1GLaJhjcN73Ns0KBHOCXxCCV+i7\ni+xahfMpFlYtVkyNd6oUmTdSrgwvBpN4dP8GQG04BOre8tXbv2/y+qKsFaEQ\nMSQFKqDGTGJWYtG70kscZj3lA8o92fntqX2wgBPibc4NTEUelKW1TESv+fpv\nIfdiCYrFq2Ne4qoeAopcQ6keQTyz0ifio6T3fpoEThoAlfQQE07QikxgAmvK\ndgtJymvO64QIesVRi3yekvXqXWoKMVZ/rjVjRkyu5NCTxnT9Ow2KyliMfRbO\nmEZOer77W2uM2dwna2sj4TBrusvowRbAUOVYNRkKg+X8A5MVqjrGqgAvdUVf\n3PDSVdu3HbG5cG2XGhM0flHsdydMSkl9reQ34FaYIbTuqgXroMNSTfKiWZKk\nitTzRetS9F6CRMf/GWGNM+9gPVB5xlXitJyDS+Xm1j+uAVhI4vv6kaGTGpSO\nplvm\r\n=ELD5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEXYc3WEfeNtq2E0hIuSVaQ44MEVJ9EACEaaLczItOiAiEAqjSVu3Yqiukb8mbPQZu662cgehYCAp1gkgvMQbIodkY="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.0.3_1595296431103_0.6992690695455706"},"_hasShrinkwrap":false},"0.1.0":{"name":"html2sketch","version":"0.1.0","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","lodash":"^4.17.19","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"e10fa9b7c9727846e4ab98993fafcce255cd342a","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-LFo4C0UVd3UJa37evQLNcNxclT27Rk1RBrtzoctnh8eA69oQJZGjgbgVB69HKT0awRwZkjiaX41f1L/zg9BdCg==","shasum":"ad861bd22b523c8f2bbd3de9123803778ab64e8c","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.0.tgz","fileCount":154,"unpackedSize":271652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHjk2CRA9TVsSAnZWagAARyoP/2mCM5lafoisfzgjZGdg\neRE1c0DkgZvALpPlywdE8SsmFWeVF/MWx4B6WYON1ObWocbCH4FnqDrOJQ6Z\nRJA0bIXOXu6Nw4cBqnORV0DnHOdehAdg8c5Ya0+99IXVat5GdNvAA+ggzBJz\nrf7t3fz4sT10XBxy7PtxKeiO5kUyylvN049t7DQuUoBiD3mITnZpUmpMcBfP\nzzLYVYzDRb/4f9ds8ygtGx616pXUU/aFD7K04ibI9wvglj0Sy2rLY6AHe9iI\nL2ZKrcSkGi4G58OQ+gjQ49UAagSpnE4GNlafA//B2jzbDNklA0uBmzBzdSU3\n/z9+AaYUbBtItV7RGpW7FBTGu97cA7Ob9ij7HE2I6Hh9ZrnDDXxYYs2tj2Xe\nz6tazf8RyYMjzTBXoyuWhb+oTl3qEjqfMAO7kuirn++E+SwBZtLtJVguyjWt\nmr1EEtztPgYmhY2Ky5R5wCsZ9g9JbKNzNtAJiiPuQ2t5VxJzYBPZ1c0XeZl1\nUMFIx9P7SHxd4NfqP5hBJYoQzGkCNYCHLwiV7+LdakiI571IyV4FJK0uCXLv\nVVzRFuZoSvgKan7o13yFWG7zM9NoSvWyjbQ6/m0tCkI94GDKfWGM5diRU94X\nPY5ImRwFu5I/ZHMgYfrfRvKlUMi2vcCMKP+k9nNRnFxTvpinapTmAxgmKKWo\nNo9s\r\n=TjCc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr2IyEUHIjtZBUAK1KFn4LiJnUNG1/PbkSIdDBAvUnyQIgPNo+Lv/w1AWH1jvzy0Avom5Vv5szTVAsz63LsrO9TAA="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.0_1595816246256_0.940738877566323"},"_hasShrinkwrap":false},"0.1.1":{"name":"html2sketch","version":"0.1.1","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","lodash":"^4.17.19","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"f6d3ed416d9cbd507b62463282e4c8aaad767dd2","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-709vvqE4qTtCl0alu8mu7kpddebEYwLkOFUYNLqYIsyAmVAiuKtxWJzHrldVDPeyi0kOI5tFlYdOfkj9ioNrlA==","shasum":"057de79be76161f19081e9772a0d5599610ea3f2","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.1.tgz","fileCount":157,"unpackedSize":279068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHmhWCRA9TVsSAnZWagAAW0kP/1oFIhzAAngwV8F5G4yg\nZWOQBDkrDfqbT0K1fxheT9dM+uwOndLvNgQ398EdqAsbZKU7qvWhlb8wJ4UC\nH9KA7uvPD8nAXTSgkIZ392d3CQyhLNmWABIpW4/GgistcSX7s7zWga/oKQAD\n/g7rrYEASEdWNvs0yMWgdkmouqmIYRglsT/vZW/SsWnJ3r35aR+MQJrPotEW\nSpzNY7LboqsbSy+wpPPIBgrp2QkeGiLq6fEHkvcdvYI+EaScSeAZh5mrtlAJ\nWiyYmZBqCiUO5TCMH7GAhknJwBHIwPTfsTcv8s08HG9mVwHtffaYBMk7mCIq\ngOQQJqqGWFoE1f4koyDe0CjGE9hhjYgXTIzovdkvrZBVQkPfbEyz5gPYrzD1\nxn+A6mHwyorBOXjuakaTH0i5aGejUlnlQFnQHS+fFlxoaZQJMcr5KYmzIoOX\nV2C7RbW+f8xmHPy2eES6QbH4NNDUWqMR/f6/LrxVSxhixN00sYbNxN2E4wIs\njk2OnVuqCKH1Jwb0sw4otyEAVx6MixKPTontlTv5hHcem6u03IO8weMcd4Ix\nIsA5dtTo4v2nDsAUDx0Cd+zE4VH6hO67C8maWuZ2HsK89nRY24aK1UK3dj5a\n3vUCsOWS9hM+sx1AMtuZE0PF/Pat0EHwctC2Eo5PjLGNemeZ9TekSlqg9EJj\nsD/5\r\n=eSDp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvLQOFmQNo8lnipdPz5jajJXDmg3YEKdLkQJsQd7FMLwIhAOogXkn8eLHUDOVtLWSC0fN3lBV3R30c+fywKu/LeVEJ"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.1_1595828309669_0.9025175658602265"},"_hasShrinkwrap":false},"0.1.2":{"name":"html2sketch","version":"0.1.2","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","lodash":"^4.17.19","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"e82625ae968251cb37bcbaa5e31c2b64aa12195c","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-2fYmXnG0Xd6ZQRuewxyJmIXjlwW8xKQ4a8sfz/jfGdsb3N1VmwAkmHb6b72+kuSNCfjecaH+K+p8/gDOMYI3og==","shasum":"cad4d576264e990cf35c1fefb1034c94eb27a256","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.2.tgz","fileCount":157,"unpackedSize":278882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHmmNCRA9TVsSAnZWagAA/o8P+wdUQQs3Jf1j3o83l63M\nN87nkA0IpNgDL0maf8121tGJTicF3uYp7Fw3ul5uua5T55WNCmhNlNxZavZ4\nUyWZ277Zutb1obiC7qJ+y6LjTOjcLTjL2QtKcO109EmsTZS540/0dkoclBIN\n3ZkEp9kidTkqYPepW4IJefIehyXm3pOzhqNTUMwYz/Mbr8CktvM3SZTeq/ZG\nXI8hy/8BZjJuk/mSZJFOHf9ZaHOIo45fj2vYlCFTNBRSJmnyEXPaey5MNABs\n4fvUK/2Zq48r/scSzbisM1ivBzNjE79VVTYH2IwYUVkwArq9SXrLVvV8oEXd\n7A1UYJOY+zjG7Cec3f1IiUsKzs8XBhw7ZCSn0e+V8+35wf2NhIClCPHLgQFg\nyy60EIcvPivQ4xhbrkZ46Hg9Cv93DrTeegPiDmUCT+haPsBzq1d4ATBCpzCZ\nDn2c8dD115rJ5dwE3ILq4dvchllvRIbD3D++Qk/YSVgf94Oi3ZV5rS60ZpGV\nq1OKlfyGh4tHUuLOrYOkStQlH+RNdw7xvBcot+h4oeZ6c7dDo3AsNUNxJvg2\nIBKSEUlkFA5YrADJv1BxHlib6SQeGZmG5PSNg+Z8O02ck2oHDpuBmIwNZ7ie\nuI4dxsiHZqi/OlMDk5evJHgGpwDFL1D1WYqQjjT4UiD4BKi5Lxsgynpnkj3p\nFGLI\r\n=FzoI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD27yaBauDyYv1SltnEnuh4gI+eI3iBN1C0OQbbv0oIsgIhAN/hd0QDHMMofe2RhsyeOIfaCka7SxvoF8bgaTtrvphC"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.2_1595828620760_0.6576182521490437"},"_hasShrinkwrap":false},"0.1.3":{"name":"html2sketch","version":"0.1.3","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","lodash":"^4.17.19","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"e82625ae968251cb37bcbaa5e31c2b64aa12195c","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.3","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PlStCgel0wwMb2z+NBSnGzr5trxu6ZQZ3chaRypfts7pjFRsyeJhSBNRKYG2gHzFUf2frY1JCvESby2wE0h5Xw==","shasum":"4de36776dfed543c31a69bc4e651c9c0ecc2735b","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.3.tgz","fileCount":157,"unpackedSize":308345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHpamCRA9TVsSAnZWagAAeCYQAIECW+zI3kcKPOtjI1v4\nY397SHR8ruDyIY3GIzMYNQYcUqno4rwfUFZzJeFscbmepWdZYEsm+jpZtQ2C\n8lNBONHonzO2Lly2yS3jxovbvwE7CDKJCvBwruXkDJKn9t8Ac1gz9+cPeZOh\ndsPemaLSwi6xyNTLk6+J1oOAac1CrJ8bvIEU5erTlO5y7InKNlIMidhMjvsA\nS9nJTiNwTpH5eexuPjLvTsqXFokdXsowM/m7eAA89euX3zxgZy03XR2opmfe\nyFA1CFHz3ICwEEF89FcYs0gdo/UqnsBOvXTdttFjwVDQOvgPqBqjz59uBNbG\nxCeoN/4+jSV1Rt0XD7S6gtkBBu7w9IEdAuN69ocUvCoyEjRb9AibV2ZwJRwA\no4iM5Eo4RDnQKENcJ9oN0x5BSgU4OdLhzPC+XPMawjEYpsMW+eObrZLJoFW5\nz0yjv416JMeH6MnHGX8+9ueR1tzkVb4fAxBTJjPwZtha+W7sotR6LgwXufGr\nJNQKn3COI634KmsTKOjD7u34OE/4YDs1hQnRpX/yv6zEiJcx7LxPHm+NTRdm\nDS0bH1rSZ7R4qU7W6fuT8/ZPWi5f+4ojeCWwhwFtwl9bEuoRuZVt5EnDLhrJ\ncTMkJXLbGogo8VsjoXVtgdsHO+ybUAMf4hFZ50K69umiCAT+HkqJ7VDMoTm3\nKlyf\r\n=BKMw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr8PQdTGbbqFeMIwATyUOBrSXBt3hWFKhBBzWjsIUGzwIgQgbhBR2ppBjNMOUeUCREC0bFa+Ii9NiW4ZUb3lYkhYw="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.3_1595840166376_0.7397423448858971"},"_hasShrinkwrap":false},"0.1.4":{"name":"html2sketch","version":"0.1.4","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"b4612755eb2ab0f97881b267a06167262baa5cac","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.4","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-M+2mywgAeUepCZjf5QfhNJaTk97xfEVFr8XY8P/dJKqRRfPhG7tz8aWG2BII7nVdp5mRm3aRQku+UVWhVShJ/Q==","shasum":"8cb46ef706f2d0b911e1c6c8117c79da4de9d146","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.4.tgz","fileCount":157,"unpackedSize":308319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHpfDCRA9TVsSAnZWagAA8xAP/iyE1LAPRf40XOYe3Vrv\n4w6kUitCi4Ksn3rfJF8yYwUL6Y+/iP4ROi8M6SjWx4M5x3CWLOCuH3IZBUue\nyA+7ZVZH9cYXJZedhGjczQaP8PqEB1Winy0F0CjesuTE0OaJzZzL7HJA6BE/\n1xP8O9n1veV3DDkiOiNmsDNQ2p8czUkzAZ2Xp/O8QWbDZHfpu3B0lWHk9Jny\nAV2pks3HLTlK40hXCndcxiof8fxAF6AqrK7eDOl8ks87CKz5CYsug+FZVURS\nTMaZTiNwIuFIExbGhCrmA443KVp30gaXHFzNFeZq3a8Zj1XEHpKXn5ln1uJU\nGK9hedXErHOxzUW4zk08q0WfRf4n2z3tMgLL4Mys1KCTNVOa3Z1yrA4Qgnm4\n7/RwA/bnh6YWjoIqqK+WJykg697VKMITPImAHp5thTnZmNS/rGKa/Y/eIpLL\n1fkw7cNTh04N5udwTtAiwffSMGowPmeBixl0nd9UPoxDlLusUwi8JEwEO/4r\neXVZYpAe1FoJeBCb1VAhTI/EPlm0/8o7B9eB2HwBp8QZXLsoWiKqtcu0N4a3\n7OyIX2setlHro2JZ5tYtjQk8r1QjqTQeuob55vdtPchWGvYI+PbW2+K0EST4\nn3fEyMOlypEx4qYlinDkb3TMlttK5y/u6rKAbT12ecqB5rGRSrf2puGIjHZ/\noaAS\r\n=M2wT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkwCMugajTPfaC5GLDeVKDsppzxGgzt5qnNSQqNsmcSAIhAKEP1AvS54XbsfxOhqLMk7Z8oO5lBIJPpiFQk39q03CA"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.4_1595840451141_0.5513475497533682"},"_hasShrinkwrap":false},"0.1.5":{"name":"html2sketch","version":"0.1.5","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"lib/index.js","types":"lib/index.d.ts","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"tsc","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"b4612755eb2ab0f97881b267a06167262baa5cac","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.5","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-bvD8tq5HGDJHFyMLCTEuLM6nnusDJM1zhJq2CfOZlsyW31WfpNg1DiJ0iEb4EPbfINrKIACYYcMgs/Yqa2YFEQ==","shasum":"bc0b53df83c8c53971c9c458464f06ce29f0f0a2","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.5.tgz","fileCount":157,"unpackedSize":308319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHptuCRA9TVsSAnZWagAAXRMQAJkUBAuROkEQyFUtC48I\n7ddXaTHA2aD+rx2lUxixPoO6kzpXybS6owcqwZ14Y7HNldfnf23zy9PuQ3Up\nuOrYBtzfkJc/15TkllHHelDk1eV3/DgK3LNoT6AM41tUPNIj5bre/V0tdKZi\nOCbeF3pB6Nxp3LM4eXqIKNJF7mgyVdyZ255b8YP5A7Y92y2sPlEuKNBSXv/N\n2xNvXdksHOYdHp4ZDGS/fdtdDLJndT+L5uLNHR2+acZU2COmhrhYh+YOg19K\n64456xjziH17u0o0hImkjCVd8G3GM0S7Ifx1uYf6kroW3wVA9qPprpsuL+vU\nN6UFMYbKRVmsdvUS3ZkIIVYXtfDMlrkwPcxtucXueNUM5r1rB/Ah4KiRL2tC\nbXkQqS10diIFHC3SGaQyiW6pP216Smo6ENCbyANP3qKLJW27KNfV4yNBqtaF\nGCh2BsqcWQfOGPDY8xTUJJTPH0fna5fRbH2uDvaQFibraesaCXbvediQ/Wlk\n+YzkmOvTIJTyzDzKZxj44KnmklKRXBp7GwgsAZQWDnwR6oIt/37kxhR/m3dv\nkqYo7fsuVfwmVwmWoqIVPp+VgjisGmelGU+TpD9G6JIbrLGidJP0uskE0PbY\ntYqrEY4/QWNzYkGjTnpvKG4qiNiikwRkD7duYieSm0f37z2ySNDKAcKriahH\nUKXa\r\n=iHDr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBqcK+b9muyEuCT/dx4bVJhqa8RmRnLA/EOurvtVCNZeAiEAhEZrNQSfrUWAfapyTPeyEHFMzx+QEhp4NyfJxMQmlvQ="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.5_1595841390539_0.45278527950222514"},"_hasShrinkwrap":false},"0.1.6":{"name":"html2sketch","version":"0.1.6","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-3","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"70c741f7282971a8bd6ae006b831d9e49db43357","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.6","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OR1l0nAxWprg5f/4D9BGRm4QbO4YAfrv+PgJKQ7lWxO2tmY8/jOppWsdEm7Ivy6kR8m2XF8vHoBqkWfZhHuOiQ==","shasum":"80521406820bd352b0d3b099bc80feddb8cdebe1","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.6.tgz","fileCount":301,"unpackedSize":553904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKB9tCRA9TVsSAnZWagAArYUQAJPRWcvse8ily6DOnTIC\n9TZVNga5pYQ/VFQJYkwKzWweeTGYhfAfdrhtM3Jm6haQMxuAMmNZc/F5eyEc\nRZtJUTQna9llYD1es9/JTnqmXP5VJ42t+M6uLbUs06R0dartHWNgH/9r14mR\npIIYNs7SHw/Tx/D2YrReDpO7GN4PDbSVlBPKOpJopAiXjEZNDP08QSIMob9S\n45gh7oKg9+mS/a8VQU4VaE0QMRBKxa8mY3RGePs1/2w+lO3cb4Z+PCTk4rQ2\nEUYusHULi+8CRm+/IgIAm4oMFFtMC7v2uk7sdhGBNQjtM5BFmRtElwVOeqnm\n/HEr7Y/sW9W2FCZIOg51SndFe2ubGMxrHttgLFumvAI2sDRYS6rgS2m96xzB\n2A3gD08IbS4uX6zOB9WMySiD3zyr3ShhYUbYXp1jrYs6hqpk0PQp0Fdia7Pn\nq0QHfrONRZZMBJAoQ1vXQ5iGls0zBn1jOy1H11q6z6tcIUWW4Q0xj956lyiP\nT9Tt0uN6IfwzvR7uz3U9Gp/gHxZVwcomjmOP0K54FJkVi/EDVVP4SZDv+W3a\nbwvvmrpHeTVLY0vd5yDEQxY37iDoW/ITeVvoE1Kmb+xCaSoj5IAQmykRMLsM\nmTqhLTBWNE3XU/RJ67S6QoFPdDGsRk2nEKMPmleoFbOxMW6KRmH1nimq3292\nbcgj\r\n=oaPJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9aF3VVXLfHeam78WFKigO0sdiW7uC7xMND1q9uaVHKAiA9BpX2rjBVOOUk856kcmFu0uZFkVoZfAi5Q6O/m3TAAA=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.6_1596465005216_0.820148446216719"},"_hasShrinkwrap":false},"0.1.7":{"name":"html2sketch","version":"0.1.7","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-3","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"add3bcd3f7e87ddd42791eda67fd6784a4388941","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.7","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6oeKhVTSLvy5hTNFh5s1AYmPV55KbpfMl8pdjP2OP0IP5YmBU8lGvvZRqvZFIdNf6HGMCKq7A4RJnBKTwYKAow==","shasum":"0a452fd34bbbe78afa0587b2ce69e0382e3fb74c","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.7.tgz","fileCount":301,"unpackedSize":553940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKCeHCRA9TVsSAnZWagAAC6cP/RidY1SZL82qUreRDxOy\nNYohpN/6WZfpHOEEVOZG9tl/ECqHEcRIyVYfuIfJrmBl3YctAzytTTOLGWJr\nKkGBrAG9qt940ZM5z7HCbkPk6CgrmjhOwTj2GAhKvcwiVj4iD6WAsoIQXFcs\nEMNaV2mxluyXsqW5nwnvd6p3ZgeMonNoF3kU18psrIQzlwrmtRjNrhpMWfm9\nvgIgKQMx5Agu8drfLjxXoUGJKX5MchZ/w+snifJozcxZ/hvo914AuAwsYIaM\nk9yZQBgzwI/mz3K3YAP9WY0cXdD4WgYfBVANwIaj/vb1kz+vVvCjTXCVp2Sd\nAQ20M06AGnb9CxKeSvWO8qVVHLjChHN67Mt2sujnZyU7YVwokLfOA4MR0BwE\nwKjFnCKJCokPcs7MVbbbiSWvZevfQUlPFZ57Wy5hi9dPBwF/M+dnJnN6R3tO\ndiwcOlNGJ8yHVh21IXyT0/p8WZB24vmYeHdutGUyYHAAZu0uMqMmiR03pBK5\n0YJo7H6WyQO3hTutMuh42dJHDStM4PyG2J3itZf1s0gcES2qu0T4LGyH500s\nImyq8L5gBN8dw3ZJJNlVfz4cVKpyyJoXqQdZ4Nv0ZPSJxu4+inJOm+/6wkeG\nLT1CZgN3Wjok4PuTbTEVWyjIx6ZRRii0XJpAPmCK05qnImwQbQN8em8Joe/U\nL3D7\r\n=7+3C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAz3m9Fu2zsB0eVzEpqOlrvw9VIFXY0kBC62hsohnSCkAiB5M9qrPz+57ulasMIIotN8oaf/wqC1eeqMdx5fdz81xA=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.7_1596467079347_0.8023104868486937"},"_hasShrinkwrap":false},"0.1.8":{"name":"html2sketch","version":"0.1.8","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^1.18.2","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-3","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"add3bcd3f7e87ddd42791eda67fd6784a4388941","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.8","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5qaUepxIG33jD/qD2Pdi4WsEG94HeipnzjQWKjNwIzqvjsPZqCxnUbfhbifUsYNBMxbLSQBKo5MZ2NE/QbPnyg==","shasum":"519452944842930885d6c7ba4f75988285e30c7a","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.8.tgz","fileCount":251,"unpackedSize":514604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKC30CRA9TVsSAnZWagAASc8QAKBXKd1l+38L6aq1ayGm\nqbRBJdJV6KH+THfg7a31EaTAWhMBwY/zCK7GZzDsf/Q9+gJiXwv7AbG1ABzO\nAnMymIBTHgZ0y8s8vFguJnFw9HIUYXvIS/F80GrH9kJAdB2rP9pSKWf0Cpgo\nt/MfRdgtBoMwEM7fTfTU6vXXQkZIaKxhPLzjn11FGcWz1w/8yGbyxQy95kwY\n2hqEBLMy8Wmw3OdJZi0uYqk7NBl1bMbusFscuTww8DBxjB0lpegDLSLWnOCM\n0wPgyg27XCKFayWhrQqCJ8I5tNCtfyWC0YBGZtHbJzhTz8U1xVszG7P1mf9U\nDWiV/FSjWkgxx3IF3JSnQlxlURh8YrPXd7ryMynh3Eys5gSDTobyM8YUVwob\nBvdvcttmV31UxYMnKESXAUMDtAVnR0K2BdcykFVbEDMSvhIZMrhn7wE5v0xd\n/k/jCCEeU+7TVRW5gYIscvGvu3kzlsH/9oJhjB6dxq9Oc43APG83/DkLkh+/\npC9Mp364n6E8JF0dgkueuv6PrPZ7SBAczH1qNCbzAJeJilHg6f/JtATBQcpz\nFX9tZoX02XLHW3KS/Y7iAUNQYVWXrUQsGI9jkso5oJiixfxXui1KPlaOWJFm\nWLvhIc/J9hbNxdfQ32Rsik0Hjojh57KSkAObJgdCAnPFEmZUSBBhE0HJFFrq\noMU6\r\n=ZWU5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHr9BPqogvwtRMKpIUO+kyO8zjdg05VeoYQDB+y4CFuQIhALRJIFCrdjESQ76WmAVNokF2xPOQVXgXd5EBEJhd7kjY"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.8_1596468724367_0.172504864401692"},"_hasShrinkwrap":false},"0.1.9":{"name":"html2sketch","version":"0.1.9","author":{"name":"arvinxx"},"description":"parser html to sketch json","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^1.18.2","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"eefccdb10ca90e241e292609a6f6e8837a307fad","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.9","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-XCOOhEx2sYUznj1XYMeddFaIAwD2VKZZDnthhUeivrJLnwbElTUklX/pquvqzgSYJe1Ssz9Bnvlox0jLO34D6w==","shasum":"410f2e0f10a152c3175217b4444300db475f8974","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.9.tgz","fileCount":251,"unpackedSize":516465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLD1nCRA9TVsSAnZWagAAQxMP/0L3zKGe0vBlGhBkARg6\nqoNhPvhZUn1yAQeHWbfQJ7kIC/cZnL1qiZKyH2Kuhttdc6s1mqtAbVKz5IdH\n5Mk7vlnY+sqdatJY5GYSGwJoKF3yMwqsTNmQPss3cqO+cB+HEps7MyQiI0fd\nG+sadxWsNXCnB3km6kjnRm2Yyr/TzQGYy9Xc6p2KmbbIXuXNxLMRSqUZSEXc\n+yFo/w3yXNZlrECo4C0PVH/+tQReKtA/JlQPskzYICrGysSkIeZ8eL3Drvsu\ndbopFyEU8skbGOK01VPDGfLUAxrj9w1cpbFUDtXp6GDkAarGVvwX9C3J3dAm\nyMh1P4OvV4lSb1El3AdJwDz0jAgExrrTeG9XsSZIqwILnA1OIrzpRmMIwy9n\nOQ1gDC3sDsw7moyKUgzu/Q7OVgtB3YYiuG3zsWZJ6S6d1AfL4JxSyULXWjh3\nz4q2Qo/L2tztsWaskl0g6ajKrFErwOpiq2SkPOQuvt5ojzdST6IJw88K47Y6\nkOYaKDrlScB9MNu3xSrhknvDw3rRR4UYQgZt+NHG0bG7nd9ZUjVRFi4omnvP\nyLDq3G9hQ37PYMVfDU328Wp9MdjtY/tLSTeTB1HeW7ksuAdmTJfoEtc4I0VJ\n4gvcbMAwqGJu2CwnuVxJ3IMTd5LnQOK7tbT1ABnMmYhiCOExPcorMWKHzsaX\nH6SN\r\n=11cN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHnYQsfxjbf1Mp9Vh+oYLHGnGAdKFZcYC+BT/BnwNEVDAiEAr2vco71QV5t/73njgNB8dqbV7AQ6B+PwrSN3Lba5VlU="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.9_1596734822563_0.22532871976126967"},"_hasShrinkwrap":false},"0.1.10":{"name":"html2sketch","version":"0.1.10","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"ffa96d079016abe58e873b8c10f3c51305c2a485","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.10","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Z8/PdCnZJ8sYkby2wA4MyPdycZ7mPzAu/dPLQVC1TCnXhOMRH68EkZ/NptpMqqa2hUxNdL1Z1WqhC1cp46nqPA==","shasum":"2b2cc9c9cbb55a9adb5b8872785c69fb5a872909","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.10.tgz","fileCount":261,"unpackedSize":542296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLoWICRA9TVsSAnZWagAAkAcP/ipLJ9a35gpGhAGIffRR\nmjJGVxcE+VEwutjkE7hjf1piV33hbVpYn2b1Yu4z8g6E3j4GBL4KIcAy/nyz\nVAqmACgcwokY0FagcYpFsJZfUzcg4KDS0/DHh1iKiW0SW9vrCdhrg5+zHL5V\nC54Zsoh690cdN+N3+cMKnYneIzgP84k98EdTgK33c8m8x6VbTkDDg5zcwSno\nI0+mbuuKvEpdOzmIkwlhcme46GnZ2lUCYZzxukwh093Y2la9SQYWbqGgo/Qc\n2GVhIZAHXCiE8QCWnyFoEK1YHxnreJ1e935UgVhbuE/3V3IvzRDgDJf88abt\nGekct9jZOJATDuoEongirZ/dQSXSFk1sMXZNvMPTVKPDXCz/GjX3QcuItQX5\ny4ZwCdnbIJP2bgoV2l9y1DiOqHeV06uKf55zEr/XJFflRuyfNDuiyN2ZkYn+\nN8jmqUyJhxBpQmLOvxzGSfS6tG0Bnee7z41JvzBVxuwegIKWai2T2MzhKHOg\nzyjSLWO+mtNzzQlC+h3DSfdHR0dJvpJEO0JqZ4VtkgmqXb4+VcE2Aud+qj07\nhIPhyjiYLfHcMioz+CdQbiWCVoR16zmVSthL3P+DhQDRjJaFPtL3ov70A1Ea\nBh9Fzx5Ripjs1edgd18M9nhgn7bji9LRgDxnlqCLzvKEXsqFjM/uJG4OUB4z\nI2pZ\r\n=TrD5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBVGQH6ABH+dHEjVdF4KKU/f1hMIH6N2N9gmoERACfYqAiEA/QXfGJRDX0y8maXBhTSeMwhcJ0VTAU0Qbt+GtmSDAso="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.10_1596884360285_0.7052785029305813"},"_hasShrinkwrap":false},"0.1.11":{"name":"html2sketch","version":"0.1.11","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"3d2d99fec234b3e972095ef412876079f6ef46d6","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.11","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-EWgtoTmzNgEtkviBxAYTc/10Q5qr8WHBrIVQM8+//DT+jGMrFKVKFA7yEhRV7WvXgtX9hp5Q/Xva0B6FpASAiA==","shasum":"2ca5115e5f38826a6a6252d11cfd546ac47a5e63","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.11.tgz","fileCount":261,"unpackedSize":541911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLoxRCRA9TVsSAnZWagAATAcP/3r1dzl/z5Bl4Fxinwcy\n/Jtn68R4Eu+peADjeAgVN0olxcIiX1CSPt9SskX1W5YhdlM1PAsZY3iZJ4Wz\n48eV/9CzefgqabqIKV4qv35yGKp/RujB+baDXT+opUZf7YZvAbDsoaeiSssI\nU7ojNmDSyl6hHrN+5lfwU8fFwp8BkDZ8zzJISWnLT5UTx/2jHxYSDcuqIdu1\npW3tFZrNEa9v4FE8xpp0wwfEVZBl8l8Rxn2P2pSo8zvSZWK7FMDdZsI2nzQ8\nsvJ/NcBTdncwHCutOAelxIC2IGwbE+kIbLKd4lo1212U0q3dJi+vXy28Mo0H\nt5I4jy2qOXeNpOyl6NjjGowqLYFLYMqDmlXOF+7Sf+PZAsZDOJmUlEVExE09\nWT/kzqsppAgnAJ3qCWROA+N1Ko4Gnu8//WeE3sAqk6bgp1xAOcGfEQDh77/O\nPA5ONKlDvLdBcohyBhVgV/dyLq5Y3a6p+bfPNo/kf7Bg7ofS48A38eDUMQ5u\nnYQ8rQV32lkxmjSM8WawF8TxuTUBXXnYnYPJS/VIUTA9uQasCH4dIo73KZKS\nJIULiUc2jVARpZNNEiYyuw923iIbLdmKvH4eYEURDJ3K9FK3orGL3FQHmGzD\nUCMgxp9bbfGsHZLBNgTDTjeqXI320Yu37rCKVp5xVCvfggk2dnjfHkXhj4mX\nZqxT\r\n=kNsz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFRxa5VS42vJdNPazn4PqtkxiDR+m428g2+3qcXb4fr6AiAV31mPiXENMx4/H5dSgOyel4uaLVZQIu4WhInuG9nTvg=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.11_1596886097506_0.4023983642985949"},"_hasShrinkwrap":false},"0.1.12":{"name":"html2sketch","version":"0.1.12","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"e1e128c439b0e1df92e1bd88fbdac168bfef176c","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.12","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WZgeuw99AFRodu9lnQ9MgIkFWewT35phWdIreJBBedebLFfnCgBT4WreEdlbwTNjffukTtOCnNMqrqxoA7KtRw==","shasum":"12fd69ff7704caf817e1a3c8b84e9711f63f09f8","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.12.tgz","fileCount":261,"unpackedSize":541985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLpWKCRA9TVsSAnZWagAA338QAJe+0L1DmgCtHgzjdHoy\n0qsk1ppxmOAS7o9f1FkrdiRYKsL3Jgbif0dcD3NDteIlyEoxkPxT4lyBXQPM\nuCrykOMG99FHZw4hiIo/Lldh2SsLl7reeR6CL24gSymbvwN5+7wIPpo0youK\nBGYicBbupD+xxyw05KDdB2xNM70JQHCta4mmFhWUyqVjoIwsb5M3TVvAw7MO\n4xnJDgYFebO94O/XW/y91iU0eFMutVkt5JJiSFk4J+RFqRBhyJTzOGPom3gk\npF3Je50VkFR7CYzHocX5ZM3PrPhCAUvTery/iBflKVOSyOww/ZTKdz/d3HyY\nNM+XAUeXL9KfRPJJMUIoe5+WnzUG3EluuQrLBQlPRw/O/AGFtHUYZCwJn89V\ngCARrrl048Imlhl6WP5UOJFNt6ZnQRtchgv6nNiiZ+iNWJFw1EPLf9x2LHpf\nnzVTHl/q/pv2/QkVaW16NY3EzUPaSu1bSULP9mfRcgvkqkRdzeH8yP6mBbZb\ns1kth5W8W3bWf1P4Fe1goWTiddraHGro6OJSdNfoIvz1eZWHmDgcYaJbuD+L\nvnq5LoyYqAB+FBNEohLHD8cOnqiHcJbd1swFoqXMRq0/kc4m4orQeHtVwVz4\nJ5Km8vNnWlUVh+JkzWqsMAVmZMFf0qjnn6YYAMANpTEJsP4udDLVyFAg57b/\nSK84\r\n=jk7I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE0lJoZ+fnh9Oz60A7N+O9qCtvIVOMDGXIE0pCR6GQAVAiB4gtewKI0zlxMkiECAedAyGFd8MQnm+OUh4m7HL84/PA=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.12_1596888457802_0.9525967858746607"},"_hasShrinkwrap":false},"0.1.13":{"name":"html2sketch","version":"0.1.13","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\" \"src/**/*.js\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"5bf109ae3f4bc662e98b2def2e7eb57b56714927","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.13","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WosZs6GHizmJGxKs4c0Pm9ajnhGHfDSDUxyeniEzeQAc9mPivybQcl1agR2E5AZryKH8onP2oT1Urh1cLleiIg==","shasum":"9e68f66d4af08c118b496f3af08ce5d28f36b0be","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.13.tgz","fileCount":261,"unpackedSize":546127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLq3/CRA9TVsSAnZWagAAdcsQAKAe+zL1mNYxtPW3/D6C\nHh2DWUneqqzdLq7WtlZALh+vN3GFrkaywJinXxFO1QCxlRy9YiTsbzwPCoP9\nMS3umN+CJyS7KlEYiswL6Wqt324gE9u76Xje3sZymOVp5NL02EYj4+tykJTh\nWIEVtEd9bW/DzC8VlQGsWGAcMsg4YCVqsDd7MPB48zNedvV8w3Terc5yK5pS\n3ev+PtACE4mZRfu/jCLT35+0d7wEzJ5NUC3sb/yS/3NId773Is3UP6zAByuJ\nniVsDu8Z1YLBW7E34hnhLQluNrb/VyHPAMLzZUTW0wE0kMKfDjpGQAu05IAV\ngEZpOq1W5vUcZfD/GTkYj+9Z7izr4+pHbYEq1QayzXXEy5lQ8DFBRh9ka/fc\nHkk8IFXELvG26gNunyebUEzsdPL8zMpHXuqMD2bnO1bhVgyf0VsiQi2M+TBQ\ny4VPCdiIo/oMakOelN0I2sC0xdQth4CbO6oRrh805oJFcFqGLLNjbctDI2cF\n5g6YApPSAXrQW0DycKNVnk+nxU9HoJqr8EOPzUqmgFQIyKZHZAjxYX7La6wK\nPM+j1xiujbR3MUiSD3jBppErVlG+jN9nd2beqdhvA9Veh5CC41/dXBr6zS92\n4Qex2Ymtfen/hAZIw5ENc6IaQIM1kLXvWKDN1wcNLpzscB1ZUtJ2OhafFsjj\n+/1+\r\n=ARjr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdLPyzfobg8gendJPcV3RHLygtZaEWMxzI2ZNW53dHFAiBmzdriCaZS+AP5vTxEzfZKUTd26zqdHlSM8OzEncICWg=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.13_1596894718999_0.5689577102772947"},"_hasShrinkwrap":false},"0.1.14":{"name":"html2sketch","version":"0.1.14","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"6e379a7d4bb155af18c8019ae4417e252e2f33d9","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.14","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-wwcXrIiEElUf8N6OGx1OH0Mc1oJf+WkpoUweSLyLsAL9zGoogzu9tKj6XfyPd9SXHA91SCyaQRuwYWrrSce9VA==","shasum":"800231e437b08421fd86a4793ccd455d644564dc","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.14.tgz","fileCount":261,"unpackedSize":546439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMVA5CRA9TVsSAnZWagAAVq4P/R7IeVwjyHlTZZmz8XW/\nNmERusrB23GNamm+Jgrt4r/OErX3FCxhekOVdWQBhBDJWvCmpaeMdpT5BGOU\nr16pcJ8CZImkekomF4FJMpi2Q+/vJcyjAfYKL5jvPk4lpkGzj925n104VdMq\n8+vvwWQ22Nklsa5CVkoJZqVwzghxaRJq2cyKi2pAXwefcFtTJvHhuso4gFPV\nv570NoOZVE2l/XdHxdns58KtBMRYWBbLf+2Hi+u4+CyqcR1dYYgRqG2KO60L\nfyDLIMOuV+8AghQmn9nLsOh4TWtmpHIkVLLMHDilsiboxVLEwo6EphNeiqZr\nMJD9LlIB5mAmTjuBJdzGE9k5KwSe/rlVgutQwII1BZnuQXjFEIYaClDG5YA5\nNOdw17FcbjQCNgiCqh1VJ4kFZMDnq7VQGKNywlD647jbLE1iw3op2Td/xsy3\nh6ARmSuzk2KbEANBfkn85e1b4C+x9OuWMQxY+pEt5ncVdgjzaYIZAV/WRf38\nVeiA6Z0HuxeTZ1uayscoeeB7VWXpKQtbZCv/TU3kkOWX5vtgqP152T6502rc\nFEWq4ZAc/wWJ7EhqxLc9MJmMovb3wOD3flO4FnB0A2H4rxJv/+TyP2DFItBM\nvMXEXuzqchXBJNRE8yF7qCEQFQckinxloJihTAD+LHJPKjULyN+QJo9Zehiy\nPWDp\r\n=Sk9Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBxOGAHy43jj6Ni0+WvZv33JhKsGB2gjFUBF00pbMIFUAiBrNTO4sf6JeodSE1JJ4YUy4sJF74ssgJt1kXhP3sOEZg=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.14_1597067320841_0.43095406668968583"},"_hasShrinkwrap":false},"0.1.15":{"name":"html2sketch","version":"0.1.15","author":{"name":"arvinxx"},"description":"parser HTML to Design Model","repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"main":"./lib/cjs/index.js","types":"./lib/typings","module":"./lib/esm/index.js","keywords":["html","sketch"],"scripts":{"dev":"tsc --watch","dev:example":"APP_ROOT=example umi dev","build":"rm -rf ./lib && tsc -p tsconfig.json &&tsc -p tsconfig-cjs.json","build:example":"APP_ROOT=example umi build","test":"jest","test:watch":"jest --watch","format":"prettier --write \"src/**/*.ts\"","lint":"tslint -p tsconfig.json","site":"gh-pages -d dist","deploy":"npm run build:example && npm run site","prepare":"npm run build","prepublishOnly":"npm run lint","preversion":"npm run lint","version":"npm run format && git add -A src","postversion":"git push && git push --tags"},"devDependencies":{"@types/color":"^3.0.1","@types/jest":"^26.0.4","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","copy-to-clipboard":"^3.3.1","gh-pages":"^3.1.0","jest":"^24.8.0","konva":"^7.0.3","lint-staged":"^10.0.7","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.12.0","react-dom":"^16.12.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","ts-jest":"^24.0.2","tslint":"^5.18.0","tslint-config-prettier":"^1.18.0","typescript":"^3.9.6","umi":"^3.2.10","yorkie":"^2.0.0"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"gitHead":"557191c218d973cd4c615df17aaaa78531544db7","bugs":{"url":"https://github.com/arvinxx/html2sketch/issues"},"homepage":"https://github.com/arvinxx/html2sketch#readme","_id":"html2sketch@0.1.15","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-47nXq3dLHbnAL92H99/jcnOnRW7Se3QLRvV21EsHtANEROJgJwg4UeGTlD2BLTrjo5YEUPy0dBKaG8SBGT1D/Q==","shasum":"b06035f7078b0e376d4a9e84fdb9e08c9d238506","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.15.tgz","fileCount":261,"unpackedSize":546239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMVTGCRA9TVsSAnZWagAAHGcQAIoHEc2gxKtH8eurcIjy\nZTNYmH0hSNtq+Pur91z3gRGc87xI55GaLCzpdhdD4+3h9D9xzfO8PmySAlUo\nixo07hZ7EfDiiGtNUdbFq0SGp/ziiAKvUhHOxGHV58JXpI393kxA0H68QxIZ\nVHvoX+IStNr8282H277VLS3OH/5EVG+8b0N5DFtuXTnzeD7wjUxNszoLaJO9\n6B+gpxO+2kIMcEvgoANYklvaP9Spf4wRnhiU7wzhwZDH3+5JqKMkn6SA/BJX\nbyuje481f+ONSAiExYjbN4x8jYwi3bdyzhflmo51n2R8YRrClHgumLJoYdn9\nOl6BS3iOKLCB20KzQ5ZYUnHyzpqFC0VEo4IWggRTFRB6q5R1ZfkJmZCfCJwm\nJ1G2kjeHCcM9jbCDxC/iQw0mKQ6RKBVH7kh9rfq/Gbt7HQjWRDk04W4xylPk\nBrUemz3REW3iwtP9XxtjfHnzx8ehuSdUFOUT6KGY8unfjG/9r5XK6ZVcc9kw\nrEbcxKjjpGddDgKu7OlUN2N3AAJ6gYGQCijXoTJaqQ2Tucfoq1Qbm8Qwzqel\njZW8rSZEVsxnCYN7AMcAjdr3zG6rMmaBsivYvmXQEmFxJxY7rfpGF2ZTktuW\nyB4oqFpCmpHac2fbINrQ8Nj7ZrHd7Gvvy5aWZhHQv+8RhIX5myHOUtiVVtYH\n/ZxK\r\n=vsPv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7lT+T4xRUOqSJQKEROK9X/xIdPDxSVY827V76E0g91AiAagd+POxa+OG393PERUlNVTtCTGCpdaiw2jxjyzpG3DQ=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.15_1597068485875_0.6506170580094333"},"_hasShrinkwrap":false},"0.1.16":{"name":"html2sketch","version":"0.1.16","author":{"name":"arvinxx"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","lint":"npm run lint-eslint && npm run lint:style","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run build","prettier":"prettier -c --write \"**/**\"","site":"dumi build && gh-pages -d ./dist","site_build":"dumi build","test":"umi-test","test:coverage":"umi-test --coverage","tsc":"tsc -p tsconfig-check.json"},"husky":{"hooks":{"pre-commit":"npm run lint-staged"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,less,md,json}":["prettier --write","git add"],"**/*.{js,jsx}":"npm run lint-staged:js","**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/compatible":"^1.0.1","@ant-design/dark-theme":"^2.0.2","@ant-design/pro-skeleton":"^1.0.0-beta.2","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@material-ui/core":"^4.8.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/enzyme":"^3.10.3","@types/history":"^4.7.3","@types/jest":"^26.0.0","@types/lodash.isequal":"^4.5.5","@types/memoize-one":"^5.1.2","@types/qs":"^6.9.0","@types/react":"^16.9.17","@types/react-copy-to-clipboard":"^4.3.0","@types/react-dom":"^16.9.1","@types/react-helmet":"^5.0.15","@types/react-responsive":"^8.0.1","@types/react-router-dom":"^5.1.0","@types/uuid":"^8.3.0","@types/warning":"^3.0.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","dumi":"^1.0.13","enzyme":"^3.11.0","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","father-build":"^1.18.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jsdom":"^16.2.0","jsdom-global":"^3.0.2","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.1","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-github-btn":"^1.1.1","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","react-markdown":"^4.3.0","slash2":"^2.0.0","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.10"},"engines":{"node":">=8.0.0"},"gitHead":"034ccc336e1a633592304ac5bc39c1eb68e039b8","_id":"html2sketch@0.1.16","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qhf4kGKi07lYeJNAeHR/NAJEYlF3PQkaVOiWnDMOZ3wO3m+RGm7uCBQbJwIaY+eXnHCL3RvvnXutV9nabucu+Q==","shasum":"0aab78f6da49d5ee3a817aa93475e7fbdaba2e00","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.1.16.tgz","fileCount":215,"unpackedSize":1101098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQr1HCRA9TVsSAnZWagAA6ZEQAJ9P+iKGnKd4EVB095P8\n0acge0TT6kCEmc7zsInii5HLMUNG4Y6GVWz6jl1NVyOYtuGBPG3NO/fhg3Gi\nnl6xHXDJxSKfyjfzbMrhJfC2VmetUla13byZCCeCXCNkD9E9PeKmIWNq6GPl\nANrb0KQdrfRQYXqSAMEzps6laLcVqWLSVSjyVYHg3eiJCDS2XJ3LKt9oTIB9\n2TKkblGMA3pmEei3zTxRo4k6TRxQ5i1C99X7GrrwUBBzoZzxMPhSVCLTLhXM\n1PDGOorG4+2rj1IhGG1AIvfY0UD3cIcYXSTLPMP+LF7SSaCrl0AtTM6brSDv\nQoAFXMDDVpnGaVc65xjdlNAPTVKSV95bfCkKIZhqxI3NJzoUKahzd38mJyIE\ndTmuK3VUjmwe6HGh1aS58Up7WtUpDL5ybb9Tnh1mbHCaZ5UTfztOisnIosLo\nEnCi0wkvEnZd5kIyWoqlUierKcT0iwrVq1GThqyt9MLyPRo/1OHiHsPkT7S5\ngT5HePjzW1grHvOvjiPEc2LDlgsw1oaqLdFn+dwYkXgzctoKhxcjk7ZaWMe/\nBbUmdL1SMCmERpMzDIHS2lNbECSlkMS1HVhT46aAndlzOi4ujnzEsLcGvJsV\nUKh7+rOtiPcaqHGFwPeEOuxiki76ZIJCWp1Jp35AgwyilFPam6YX4SX+3YHu\nl+yo\r\n=rfyN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ7muRgdRP5QZ4Ckb5uFI10BpiaqOa2UzV1VIsOnsFyQIhAPVj+5BDCo4UxGyZ1hhqxEAmpemZhfeeY+gDxOM/HvFb"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.1.16_1598209350852_0.7250617619532791"},"_hasShrinkwrap":false},"0.2.0":{"name":"html2sketch","version":"0.2.0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","site":"dumi build && gh-pages -d ./dist","site_build":"dumi build","clean":"rm -rf es lib dist build coverage tests/dist","test":"umi-test","test:update":"TEST_UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","e2e":"npm run e2e:build && npm run e2e:test","e2e:local":"UMI_ENV=e2e dumi dev","e2e:build":"UMI_ENV=e2e dumi build","e2e:test":"jest --config=jest.e2e.config.js","e2e:test-local":"LOCAL=1 jest --config=jest.e2e.config.js","e2e:test-update":"LOCAL=1 TEST_UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot"},"husky":{"hooks":{"pre-commit":"npm run lint-staged"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","murmur2js":"^1.0.0","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/pro-skeleton":"^1.0.0-beta.7","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/enzyme":"^3.10.3","@types/fs-extra":"^9.0.1","@types/history":"^4.7.3","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/lodash.isequal":"^4.5.5","@types/memoize-one":"^5.1.2","@types/puppeteer":"^3.0.1","@types/qs":"^6.9.0","@types/react":"^16.9.17","@types/react-copy-to-clipboard":"^4.3.0","@types/react-dom":"^16.9.1","@types/react-helmet":"^5.0.15","@types/react-intl":"^3.0.0","@types/react-responsive":"^8.0.1","@types/react-router-dom":"^5.1.0","@types/uuid":"^8.3.0","@types/warning":"^3.0.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","dumi":"^1.0.13","enzyme":"^3.11.0","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","express":"^4.1.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jsdom":"^16.2.0","jsdom-global":"^3.0.2","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-github-btn":"^1.1.1","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","react-markdown":"^4.3.0","slash2":"^2.0.0","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"6af6e9eab5767b726749bb3c3dbcbc92dcaad558","_id":"html2sketch@0.2.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-i+wKNH2rYBS6C+HQ46Na5IYwt+m3yBgTdjgoHsBUrPIs4OOM0KC9AIutsG2Ga8JIFJ+PDEbIx2pqJEgo1jGHHA==","shasum":"a5d0be9b11984ef9ad0ca2c7bf339014a7f2b499","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.2.0.tgz","fileCount":235,"unpackedSize":1180797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRl5lCRA9TVsSAnZWagAAjMUP/11EF4Nyb4z7a2hlRn0K\n8sgQ96zw76j/m4XXtXwmS/fvlj9Yf3pVTGTSuJCyTFGEERZlXTSNFoINUvO/\nuWJEoobKmicnYeRk4WArOepyZPE7fDHnHjECZmNa0ldG/E0kFWyT6xM+boFa\nwi2kZ9pkFDaDnR3zcGtyEto6vVzb3CR2s0R5/jIZcfpk3Py3kXswR9VWGcAI\nHNfuLKRLoSNaGPeZY3fjX5j6zzlduIk/gyNVp6piNus7pS3KY7QEbVgotlKB\nY4Kt2yaiR3btWv7kL1z6qQNKkEccduY19M5aQ6SSYEwwkszhSwneJUzVirPm\nefJncARZa9IHbdMwUBtlz5a2jWf3VN6zd91CW6ZfZrHPcXWrW0cKq8EgRKze\npf4jrfN92/z91hLpWLOlJSO3wwk1+AkIG7TnFlXxosFHwU+YFC+uiMKVqXdh\nH13h6KN6ZLNBB0YF4ZTIk8PsTCA1oWsxgv6jBbl/lLy7qkS5JtFlNv5aEGc2\nljt7C3243Ow0K/uyV5D5cjrdfMkDeaYoeHZiDq0/hkbt44a8J94cmfQ+4dSg\nB4wfXSBoaJ9y3OYvsVlSyNAj9Wqy6p4wFPCYVM1RTDCk7jspLSFkYs9NlwGV\nEFpcMKUdHAQg6gmgL6X+skN+syZ4Qo/1eTpKmXnaADCXndqGbzuj9G2bdkjZ\nHDGF\r\n=sikp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIR782dDM4MGy9OiYfpQTL6k5R6S7V8///3yTyl57EZAIhAJ6MpdKlMTGgFfSN6cSZtyQ4hdGyt6PEMdUmO4jPLeMH"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.2.0_1598447204532_0.9735117814724465"},"_hasShrinkwrap":false},"0.2.1":{"name":"html2sketch","version":"0.2.1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","site":"dumi build && gh-pages -d ./dist","site_build":"dumi build","clean":"rm -rf es lib dist build coverage tests/dist","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","e2e":"npm run e2e:build && npm run e2e:test-online","e2e:dev":"UMI_ENV=e2e dumi dev","e2e:build":"UMI_ENV=e2e dumi build","e2e:test":"jest --config=jest.e2e.config.js","e2e:test-update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","e2e:test-online":"ONLINE=1 jest --config=jest.e2e.config.js"},"husky":{"hooks":{"pre-commit":"npm run lint-staged"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/pro-skeleton":"^1.0.0-beta.7","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/fs-extra":"^9.0.1","@types/history":"^4.7.3","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/qs":"^6.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@types/warning":"^3.0.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jsdom":"^16.2.0","jsdom-global":"^3.0.2","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"ba5e6c2f2320f7ad267633f05879edd7abfed441","_id":"html2sketch@0.2.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-6f7ym9txnVy+K8WzYrQYkLSAKG2UQdo0Gqtzj8a4NvtkjPQ+NlsbTb6Q0KMvGRm/kElRXBsxmTrSzrwNQU5PbA==","shasum":"bb00e00a9a38f69f64d0bd377c4aff04a73a9d84","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.2.1.tgz","fileCount":235,"unpackedSize":1181102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRxv6CRA9TVsSAnZWagAALoMP/0gwtjmScYT1WWuTFHwl\nyWabdeoWL7jP60wuX07hTUdU+EJ0WAnoJDHfHrIrdPUOK2A3lwg8avFVO7fp\nM2ICRw5nrj/Mf5mJLcFZxzO2zu1qY5sP0ZXpHOpAdWoapvLYsJvT+eYSbQk4\nybzFK3UikZyE71NxaktpKe6CKFdZWTTXUdd0m1wSVd4OUpZW2WRJgc0Korl0\nl18xXA6eWQnoEpLR1gIGVDpjUYTHo1cbWprfuVVVegNwdzF+VevmNKff+gVV\n/7SbELRaf+bGRYXVT+P3+0CgGGksfuuOCzP7NbO8ZepGZUHJ1J5Qr9eTOajA\nYmrZSQj1eMEbm/+WTo9KxR8qg9GR7R2jMASiq+6BEVutPPZ23jr0l8EqVatM\nf5z8vQVgSIUxFWKyJ9ce3NkSY3Dyub5fwbJHOkyNX4RZ2W4xEIoo1MPDIQQI\nYolc9nq/RcPAWaxoJ9Ffgi5Fn/5IAXszmB6NoUw0yGBpTr5VkbDmZtQPh7aI\nCl9dBFFXjaQ7NlP/WnwWJX+ZEjIDSDcztTMitld/Svc3ps1gLFd1PBk9sYlp\n6+g98SnMKL1HTsEXdM/bImb7tAS5iQsmMDNvAFT/7iYn70xB+emexC3rvI3R\nY+wIXZMqT/elxAfg6x+9l8MrNvJicKhfpQqadLCrB59Tk7UXk3N3sWzkRqzM\nMNCv\r\n=EkQI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY63OtqgAVKUyVoNg6PzGhZo+2JFi/6vIBwryc16v93gIhAPfSI7mbTp+kNY5HrRfcHtnGml3OVlVrGdPFZvUSPauu"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.2.1_1598495738170_0.4836741540347993"},"_hasShrinkwrap":false},"0.2.2-0":{"name":"html2sketch","version":"0.2.2-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","site":"dumi build && gh-pages -d ./dist","site_build":"dumi build","clean":"rm -rf es lib dist build coverage tests/dist","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","e2e":"npm run e2e:build && npm run e2e:test-online","e2e:dev":"UMI_ENV=e2e dumi dev","e2e:build":"UMI_ENV=e2e dumi build","e2e:test":"jest --config=jest.e2e.config.js","e2e:test-update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","e2e:test-online":"ONLINE=1 jest --config=jest.e2e.config.js"},"husky":{"hooks":{"pre-commit":"npm run lint-staged"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/pro-skeleton":"^1.0.0-beta.7","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/fs-extra":"^9.0.1","@types/history":"^4.7.3","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/qs":"^6.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@types/warning":"^3.0.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jsdom":"^16.2.0","jsdom-global":"^3.0.2","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"fbdd427bd6f283269550f5bef0c8e8270d7a6960","_id":"html2sketch@0.2.2-0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-mToZh77rber3yP8ghXlVqvoFyqh4jB2FB4JXpUZRDX68BKf+9zWJeUp47c2qU3mVa3d675gF/3fDbPEQDuqg0Q==","shasum":"ec6070a6646745537c5e83da53a810c26597a701","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.2.2-0.tgz","fileCount":235,"unpackedSize":1181309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRyr7CRA9TVsSAnZWagAASF4P/0wij8yBsOhXbVG4VIa2\nOzrPQGiXNlCY8zWs5ZIBLroQnNt6G95jZDTPWCo5Zyp6YOpIDvUKHm9cRJlc\nKrKRr1CPQs/WJ1Hahfynl/myuKlSFrzxnBOXgqVXMxIPcFfzyyyWaz00AmDo\nHMRFKpWEfrr/BmuF9dn3/7FaS/GrJUEByBvH1oNJYmyUTn+exPqrpmx6Q4FT\n84Jc3iFyWAzyrVf2/4csIZ9otJP080I50xcxzdFgRJjg82VPcj4Z6OOvqf5K\ndDISUatxA4ThczoPCcCvuJjt5tqCs1LWCePw7bs6czHUHzDPYp2hKjLUTuP6\nYhL3qHsb/7A5fxzTKbRpDQI0a5uSRAcGZyq9iL5FryDcDBaP29qd2yyhmvR9\nljlNvZiLMwJ3fE8Mbd2WMc/dPNygdaOtiQ7lL+GvrRH2ozWQvjyIAwL53pV8\nMJuoFH/d5xhXDyyJSMR/4uAq3xChf2xAPftHe6ywu6c4dpxLHg7u7R71pBWz\nZDlTPEI294zN3NKQgxAM1QF2z/HMO8s45nmejoNgOEVnvGtucvPCoKWI8r8J\nDULPkSmn0qOeyvYlV361FD+ErC4Uncwu/+zoka4O/P30yAOuCkRqJf4CbOEI\nj6FYZu8m0SqkI1FBZAo7yxS8i1W8loKJtHcxksLzrGOEg6XyGoHIuvR0Mu8B\n4FxQ\r\n=rNzP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCegDUaR41N9riU7ZNhywX6JTIcAUhuCGw0d2/qZdxJdwIhAJzrBd9D/fTWhOX66hSv69h9Rh4r1HwxwLL3YDAS40eE"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.2.2-0_1598499579427_0.765177267766993"},"_hasShrinkwrap":false},"0.2.2-1":{"name":"html2sketch","version":"0.2.2-1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"UMI_ENV=e2e dumi dev","build":"father-build && webpack","publish":"npm publish","---------":"","site":"dumi build && gh-pages -d ./dist","site:dev":"dumi dev","site:build":"dumi build","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage tests/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"af72d45f41ddc6e9fd9e2b4235f316f154974ee3","_id":"html2sketch@0.2.2-1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-j1OSnUqWMv6MqrLrSinrf6qxQaOjlumPeynwlEVsorOnUlQdfqIyY1MOO2H5cog1tCBIDN8pJPJBTyWS06268w==","shasum":"5b4fdf4ac160dbc5f3f142bfe9226b8ddf60f093","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.2.2-1.tgz","fileCount":274,"unpackedSize":1339776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTN9/CRA9TVsSAnZWagAAFZAP/jKHmvR0BhHU5XqJ26UI\nh7HZABVx8WToI7qpotQZMJ54D6jP9ymvLHqGX8MocSIgPSstt6bhWUWmiJun\n5TSrQ6VcXuiooUA5CdfrYwvI5qqwR/Bnid4a7zMFLZ7HJ+byiny1HWF7deCI\naq8SEXNLoLEC38Eygq+VWRdK2qoiDXgdgYhv5rNhVMIdcueN6ydIR7iSeu4k\nmSN+iS+y3cwFfkQoF34PA3V8G1TiVke6TcT/xpYlaqSLFIYuLYgFwfvnu4wu\nkWSuEu0p6PSsQE6d0WSrb9jDELRscEB9HnS1gEOTMsKmuxHfagNmTN3ZYVvq\nFPjODdOFcud4oomLnyHiSocHGfsIq8t/vMTwhfctGkdKMI4UNjE+DeqSMh5I\ntYuXJk/oxZbbynEhcPu0hVL14wwQW5AVF824007DQ2uGqiMtae9khCi5vtT8\nhyjU9EX3UUL6BQIYqIx8kr58wd9FWTAYjxNQhgJRng29VPPV6bVSX+Gc75/C\nu16u03+KtiJMIcXbUmRGA9JOn2hYVaoeh9qg63amYO/imcdNa6RbBc/bkgnj\nfdDuXsxCWigs9WUmubQtduVjeSPvfp1c06+9h/iec/VBj5wQcYmqWYPD3EKe\nB6mQsmQ4ReCUeekBMcH4ngJp8N+HqACb14wIOkzljSwSsKE4A3fa1D4vbjSd\nSpp2\r\n=9qrM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzd22bPx/2AHPsL1kc39Oq+X1kfymyBI/X6WyozDbCjAiBAC/SPqsYDTgfSBtLsG1inGDBCClu+SxYc0kvAsnN34Q=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.2.2-1_1598873470945_0.3843957281086483"},"_hasShrinkwrap":false},"0.3.0":{"name":"html2sketch","version":"0.3.0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/arvinxx/html2sketch","bugs":{"url":"https://github.com/arvinxx/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/arvinxx/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"UMI_ENV=e2e dumi dev","build":"father-build && webpack","publish":"npm publish","---------":"","site":"dumi build && gh-pages -d ./dist","site:dev":"dumi dev","site:build":"dumi build","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"3284a9dba493fe19f805113e4f1e22ecfb5bcb76","_id":"html2sketch@0.3.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zkNcEPt9UndvF7jmkps0rzO3Oz7ENN55tB2QAxg4tHPSlQ784rn7gL/PLPtUE3w1SyD2rVmPPBo49hTT4rEceA==","shasum":"e71a93a7eeffb08a828cb2db75d503e24ac02906","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.3.0.tgz","fileCount":274,"unpackedSize":1465491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVZ0eCRA9TVsSAnZWagAAuicP/0huQQhhATmcxScixveb\nphzSE9osGfC4fM7lEC4mln+3YdxpFHRYThUK0gXRLaDj6G3fXVXxQxcrL4km\nTtIp7obZX+NhaAAD0/YM/BpPFFH/f9DQp8Ah6Jau9M+AyNlXB6kD/xLSG9Y0\nC+ekvZSNMUxZz6OO2UBOcgYz3EAjuglt7frMU2pyNEV1xQYL0hnM8MG+yN2z\nKGip3uP0SbX5ctN4KLggKsTmjw23s6UgHBoTZotuMpTwCWpzeNjzi1ooS8rp\nfUeRPR5ebRYIKvPWFywtg/swNMtIgFmg8JJ5wurIsHHEI1FzOeFaRlxuxoo0\nfYhv7zrWk7FKWr3tEeI89MdKSAtxL0iltimmvFJCsXDOrb7FPViVULk81MrW\nV+Qo0y1OXY6pAGV+BY+2AIGU19NqzItDbt899czUTfE5Pi1QBwY4errl5jE+\nDyt/c3KeynAfQ87AMzWc2zH3awl8bPXBN+qDuxGpk00Gwm8i2Kn7fOgjIUlU\nBpolCHhITi1e15R8uJZHXPa2gVC8JLFFcye3tdBIaD0n9Cp0ZxAN/cwz3g6v\nyTyPCvrhOMXEaRQA3i2VbUxJh12aGnHSKag5bVTbKDT/O/eR1/m+/64kj5PC\n4IpLM1JhGhhOqJmhZ/sZdpL3JPAlYYugUFtBhXKbPk0oyROu3NBBvCX6EK9f\nHLI/\r\n=j1If\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMIG7txtqqL++CQKun/sIDfvRGN7xCU8M1yhDvTgCExQIhAOsq7IzZRN/T7IvRp++vWSCnykWsQWB6R9mDL6xaHCs7"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.3.0_1599446301823_0.50731138339591"},"_hasShrinkwrap":false},"0.3.1":{"name":"html2sketch","version":"0.3.1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","publish":"npm publish","---------":"","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","svg-pathdata":"^5.0.5","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"141ed71804890b54b34709e0950bef49970a1499","_id":"html2sketch@0.3.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-6i86+Tcc6HqzSQE76WWIMyvv1X9bWyqyyBzkH8fW53/zxk34ekFJGdwn+dexkLFjwpfwNfH9qmz6OZVq+1IlHg==","shasum":"d8024c4a40af901dc79fdd3c34292d3a79629582","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.3.1.tgz","fileCount":256,"unpackedSize":1360637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWxQtCRA9TVsSAnZWagAAedYP/2DCM2be3fRQbN63Y7zK\nyj1pRe+cMGkqMSaA8XsmDn+haq+dx08/PDf5S8Tzjbf2axrzNBeD4DVat/0S\n7l4pksOu08vObdrFi70onXV387/h2jiNOKLh3FtbOcLk37jNj8mRytwa/msN\nX24LnakQqFlLLUyQjASh/txefBcXGb7M1onsncx4GghcGpMEIoaO+b798mo6\npQqeKrYWtBwKplDdjZkWYpkfQyaoM1n64PAo6fNmGEAm5SLgp/XNCcF5VZ18\n+/lOyUTKEJtOhUv6+I3j/gm/NFu4CU2MEL4mCJQ+7wHpFf0Hx6b1YEJvi61V\nJz2YRDVj4pHnsJfEMnjo274MZ4eidEl0lWdjXnPQ3dKcHCl3sadEik4kv1iB\n7nr0JEO0b0qdA1o5ug2XoyrzhkI5qHoO6tbKZxZeN1B41z3SZI0LIIhi1qLz\nFnYJnVwVxytvQf70Rd1tqSlAYBnU1fh3sUy6TSrIwTZpKqR+JYxsZXogL+HO\nj3k0ft0BdnjGnyWiax2qFvHTQjVsD+ua31EB4O/h3k0K2rhHZD0Yp/imHpI4\nLnm/rD5RdOHB7GE4Lenr0kkh0IncwdWTmTboxg7IbW/t1OTul1CDK6NEPtvX\npN060m/xu2U1HiuRZypWqP7K0f+7ty6/Dxp4Io9iZmGBP2f1xP6y01dk0YY+\nbP18\r\n=JnD5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDegUwe9mCKBD1lroGA9d5DoQXBj8o5z+qwip8MR792WQIgMhXekPU/X1D8ZX5Is4IflMwguoA7dQbVwYinyS+s6Qc="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.3.1_1599804460885_0.10428298248117152"},"_hasShrinkwrap":false},"0.4.0-0":{"name":"html2sketch","version":"0.4.0-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","publish":"npm publish","---------":"","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM downloads][download-image]][download-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","gitHead":"3ba42ae8d17ed3cb214f4987a8b1341d41ad3752","_id":"html2sketch@0.4.0-0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LWwLpYD9/yR11z03uBIXUA92LPzGLbnUykDohDrPpvxbOopKvUBMZjXABJhJay2iG1IXDKf0cevicAWLeChKKw==","shasum":"d48b2ab0a32a6abf1fe3bff73c070776aa693666","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.0-0.tgz","fileCount":256,"unpackedSize":3680637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXQWjCRA9TVsSAnZWagAAKb8P/1FbxwMAdyuQa3yOjLio\nGRHvLuVpyPhoY+iNM1AlpzyMLgpow7Zcm6EAWvbFIZHD71Ofk2RGfQoI0f92\ntKPIcS+WSIGRtQ7sWO13McaIlRgWIIojDG3Hlq/I2OAGdmzqVrqpops3OPsx\n2R2TaxSfMtClT4mFuWg18DNvOB2hLEF4AiBh3GWjHJYR8SDwsrAWXWdM18g+\n3Vd13lviqKtJ/RXjVUl8pnqMipdnZ2Xba1YKOHDWaTpPvfJ9sHoLmFhRVPSu\ntluKvTkMejHRh5ubg2iJtV+S1zc/elso1gvx5JJdT07OHszTkShdZ1IWIKRw\nsR+VyAWIeKLBYIsCGSVjK2ESkDc+jFoBQZ7r4dgu+8KwV05OrK1fY3WO/CYY\nbrfNM5u0RvqeY/kFFiEsG9nZqc9h3DkoeH6K6upkeIC1A37A7kir84tNKKQV\n+bctdtc3n6orc9LBHD03M0U7EQyHzp5xen9A8ysT4kJ94I1jQ9uK3WILvnbv\nuyodbSuXMKI47NFEJx1uPFwInJThYCI2zQmSy/YfzQjmZYBqgYAPj1Qmipaj\nT3iKq47lqbplrXMPEJHOZ1v7bllnWI7+zTGdxnoH7Bl+WVDhz7vlkN3OmfMC\ncSPr9aaoXCn3ckMOLf7J/ZI6MJtQPqEHZ8Z0RKo5pmdp23vy4n+sVaFe3/CH\nM1by\r\n=9evw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFWUCiyHmD0y1XSiDlQ3tT1FPQyw4YJgGhPLbRRPWEjAiEAgFCAot0IP/Ct6aPi4PezUrhwOG3asHYlt9m4zv3mb14="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.0-0_1599931811241_0.4892633214703652"},"_hasShrinkwrap":false},"0.4.0-1":{"name":"html2sketch","version":"0.4.0-1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","publish":"npm publish","---------":"","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"ae017ac2cd58a6f15d93f904282c67fd07ffaa19","_id":"html2sketch@0.4.0-1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-xFkgkX1BeQuQT6E5E2e11FvOkzrOr46VvLSI5HYnkQx8F0vsCyHymoJbdFipYQgQaugsQq6k8MmcxnLzOAa5Gg==","shasum":"b3f8ad7976ff1bdfeeae3058156a939a0d8aeecc","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.0-1.tgz","fileCount":256,"unpackedSize":3690884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXRlwCRA9TVsSAnZWagAAyb8P/j5UqRM7RJm4GFuxnGzf\nG9UGxaPJ8Kl+MVSu3T2MrkejFWPhJuheCwjnXFhyu13F5W9rRft4coDM6oWV\n3vCVR30AkLnairv+MkMPRwIZHA0uSSlLPE5DzXwDL0FlHUuaUVUrMsXtHuWF\nu6Z/3IRyCkRf1WmK/+TCSPUR9twT7lKvIPohzXEFvQ+LzDeFfHlTp5WrQowa\nfUASIFD4cqASKSqa3kWGGb3ymmc04wA6PZs1g7/Z481GjBQcCn1IR9NORzHY\nzGfkUIfLkxSKteQ4+BEPHP7r4YqBnu7/t0tBCrGolcUc8ezJb/WCRY/pmTpx\n+VyZf+8CXD4UfP3l15Ib47+sRtaiBlXO/eyClczVWU75waX0609y7s/MdJHs\nZ8l4Sy6PuUXK8/Hv2tDclh7FbMdXOTniFzf5TW/0ihg92l8VWO+Tw59IBWQx\nCq11uvYRkNCNHAOemqcAlM8XMM0bIoj3BbAIOAsnDD6VbtE0ZhAHfDBhZXxq\nTpsHK5id+DU70vFWZEfSia7Jye8r7ld07zrQ3HXVbIj5P83Tg8+gCwDsX+Jk\nBLh2tm33uqgG0+7aknkakfk8aXorrOQbvAQvRvjEqKsEEXTK4Z+kmBb7gD0p\nj7IV3JYHDfYgWKLWSt3hXOQsoheEkirwfI45Kr3H5B12HhY+SZLnrFLmdabL\njHpG\r\n=CNcd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1mVT8PRogXv9PwU8BdQSFKfqSf8NFK65aSIQKT2RbGgIgOky4EjeFwv9484UGoaJm9HqJeSMPFt8yxOUi7Bj5nIM="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.0-1_1599936880448_0.11898096809002201"},"_hasShrinkwrap":false},"0.4.0":{"name":"html2sketch","version":"0.4.0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"ea5d9cff7781f7c5fb5429ed82a562a8cbbb1bc8","_id":"html2sketch@0.4.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5fZYNsrN8xkdMALfNyyOC2nQeKb5LeRRax0p/k7izE0Gdxwlja0RTxaHaSqwgUsFkcVs5H61lSV6l1gkXSO+ew==","shasum":"17290457d1a67371c2668e58fc4a3320e19817f8","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.0.tgz","fileCount":256,"unpackedSize":3690953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXR0oCRA9TVsSAnZWagAAO1YQAImrUgaliQNPcsLzhqxQ\nlNgZhomt9L0RvtM2shmMjUvuB8QCDAD2rvH+1PqppEHoaiVPM8Wha9mHFAJU\n2NtoHNgU04HUlb1DhSLRuMg1ZSWw5J16ZUoYaGe0AA37pIpF8y1Ht177/vhW\n3lzif80GUf9ZopSnW/e2ISEl44eK0UwNIFMjVJnvl8Z5LJc4oUg4/DbG/xRM\nVuC3rIuJNLEfnL+4fYAosHOs7RiPuRCnoyVcbLM28YfXelJQA7/5jZHZbxME\njLIk86004SrlRRt5mRmzMXw/KSLiETQc0DmjYlzy5PO7wncyLJAjY3TtT/JP\nPXL/H6OPkHnL+XgO+MvG1QhFYMT5Oxpvb4Jaexe193HcN9feYWfsu3NJCYEo\n5o370cNjTuyu+UjeZn36exZcygajzrqrkFC/XjY0zX2OQeF9r/fT/lR7THkV\ntRixHLiMq5gdN3mt4rk2PtkeTsvvVmZaU420rnC8DBJDOrjgPm8s+P/Ox/yb\nnfouMzAW87ArxunnMaDj2ZZuhxE2ZwU8RWzhC+XuDp5bDkkSbaEpqx/FUfIa\nJJWQl2lKM3wMH+F0fDuM3BuJxXFGUE8dFWFLFIK0ibFmoXyfMjSEp7SwtqC0\nMPvk9bpBbmBgaC28L2OF+zJKy8bovlMLhYekAfOVsHbXB4xdOdQn6suO9HO+\nqOye\r\n=YCPR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAIIuOv8dAIp3R35AOK2UBgXQjnAs2b5aT5IiLya9JgIAiEAo3bMvxnP7S4CXVeDW6R0+LTdObfSCqffDDsjDke9ueA="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.0_1599937831553_0.39085408059279203"},"_hasShrinkwrap":false},"0.4.1-0":{"name":"html2sketch","version":"0.4.1-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM downloads][download-image]][download-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","gitHead":"3afc0a9162b7800b2e55979f444418e5a6a6a6d1","_id":"html2sketch@0.4.1-0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-A9pCpdlvkYzQ2eyvQx8l4h8NftdMV6KNVC65ygV9cQFIS2imyuU4T0erWT+eafjNZ876jk5e7qyb0qh2+XG7UA==","shasum":"e0cf85edd2b3045211ff295e42042b6424a27d3b","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-0.tgz","fileCount":260,"unpackedSize":3702191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXxEgCRA9TVsSAnZWagAAsZAP/1RQPFITRj76L/AtnDB9\nL8ijTB1TSKZUFfyykwTsw9IlNsUWVnbgvqtJR0YOK4PvmRg/MBGqtgKwsl0D\nm67UH4yF0kcpQP+tU1DAkPQcq9OdX2EetDH+vdw32+etmfna2EwPoryr+UL1\nbAJRv+eaE5N/1G9yJyTmVKMpRPtM7u0sgVz/8uDEiFkVrcsxX4uBu+lqwh/w\nyAX2qUjI7F9og5XXWTHmXsAsr3O0p0CogOaVsW5XYofo0amAhjko6bvnz4dI\ns//32uyQ6/Syp1cPwIBNRj6P503uYAC0kcgcvIjNAYR+r4H81VdLzAKKA/Ya\n5SdR8zvplZPspr8xBQnVZLMzrOfDQzAVFmwIaldncPHXTijWOd++2S908Hzm\ndt4o/fIycS/WvRz78CRCHotIx5VLdJQDQE7CC1MZp7It+6IvFP0GHCgUyfSi\nobbd45eVSGvm2euLYx7pXzxAW8JVqTsGbDKKOyWcOIR3TsPKNOFQNtTDC2fn\nRjYMxcfriOAd1lLAgb2vXW1sdhfauFdNvubWdStZaTDNNnQXrEEooIeNQogV\n/3PEKXR+d5dmuUKvZzThraOO4KiCz4BXrRtxaC92AHIFCbNwSOTZb6tgZIyN\njJcccKSKNCa9tMpKWKq8AGzmlCw48SrJcCO2rnkU0mKssaeho4xhwgPqQmJn\n1KZM\r\n=OCrw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+MXpjDE7eV7Dp2LiiwKV30pcrllAfo4X7Z7Rqnj3QpAiEAzrexC8j9s9KzDuCOX/aGcvOphv92yy27bwdvzugf85M="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-0_1600065824246_0.9377355438230082"},"_hasShrinkwrap":false},"0.4.1-1":{"name":"html2sketch","version":"0.4.1-1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM downloads][download-image]][download-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","gitHead":"392262a7bea223567225f354efa5d0ed188d21b9","_id":"html2sketch@0.4.1-1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-JdUF3WQJfFOVKi0qfHzrwo48sqdIUaGBsRRjRrVgNJscz7dE7g1LC6YRQi3EP2r0Sz20cpKbJdwYrZe6Csd+yw==","shasum":"2fa1682199b8a79e85d5973810c23b175642353b","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-1.tgz","fileCount":260,"unpackedSize":3703317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYwxhCRA9TVsSAnZWagAAT34QAKETI/ws5E0l8vY+KYIS\nDY9yRGAuDpUgEqYO4Jj0B9KfhRmzDcsTDJlWe2eKN38WgpiE7hve+ykMI0Il\nYDrNEHsKq56PQ7ltwdZRY3Bx7djQ2qrSOR0bBmjYhWRsoTCn0cs7MNR2w7MF\nuAajX/BtVulSI+kcpj38w9N6CyriRTCm+PNZRS6oLWq7CedmxDGXVvO0Ytcg\nHx1PuWUU2LO3NBfxEhE9KPfBPH6xzPyaryGMTeIKttug3eLsrseMvzzuHSS2\nmQcZyODRJdjsnYo+PThYN06Y2Ji3MroDF0AYQUxtUIoWwbCqvA/NhTUyplKR\nioVsfwhIwrK7eSQGqWshQjNLZjSHl4RlLgtQ4rHcxEIN1lGnb3UMat4Xv1VW\nYjb+mTjsiiGrjStVBMfVYI+GGAtl9Mbg/Q3JUaGa5kpBSthphPlQldwJ/jWT\nLV5lg2GSMUCUv1bUHGMN+VsxYHNgB4ZcoC9rajfK3m5to5MriqhW6BZOip9+\nNkj2TG8aM6rfuNgIcX54+qsIyb/pI1ue7tABmjMRUiJOjUn1UCNUC8xFC7R+\nPjcX9+kJFkjaD5Mst2hFzJzET2Dh2q5IK959NjqbpbrJo3dgTBw0qqk2MDnk\nvef11Xu/TEQzWDJ9dLQvvf7lqN+RBJzRdbVkP9VOGVIJA3NZjFqXoA7tAkK/\nzmQ+\r\n=6ZhX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1Em51HWn3iG9lxHmckhn54cFMGkrSyt78m7yWFCIyIgIgBeFWqKHzW2iv3PHzpPX/0klgST97YCeZYe2mp4ckBgY="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-1_1600326752884_0.43130158557172305"},"_hasShrinkwrap":false},"0.4.1-2":{"name":"html2sketch","version":"0.4.1-2","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"7422688897ff5d120ff3ba5c0f5ee865dd0338db","readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","_id":"html2sketch@0.4.1-2","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-xgUPcdr4qTOJdLPiFg1fkIx7JInWQfgTVIrSmX+Xl3ZYDq/PWdWxcovNxsATuM8gtkNzMRfKbmkufX5WCG0YYw==","shasum":"9811f2f31dd85746e18de8b9b144ff3b5d34de6a","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-2.tgz","fileCount":260,"unpackedSize":3704068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaB3nCRA9TVsSAnZWagAAJxMP/RiBL+h9FyoWYaajl046\nB+8OP4AKgUNZQ5r/565zWzGB4uUyHo43MTOdEb/iRHOfH45AOuq8mT6gHBfK\n0lyn+Yxh0uq4BQt8S6J7rvvNQOmM9pO26wdsteli/lIwTYCVnoJ5JPs9jYoT\nXPqN2OomHPcJRw08rkMb/HJG02x7XMQFWNybrpr84y2UtcjogAAfuPnWtFv9\nOh1x6ZBpV8Ix9yZ2Ihi60lXmQXCBFK9bnyM5ejBMrUkXuVNpndb/BlqmMoki\npRs1lBUpKhWuLUMtRosECv6B+E2LhzjngLMVKdHedYalqINr4Jaxbec2MxUR\n2ouyp4jgdiKlmwgX5wmhrQRKnBhoGIKaIH+6cVsqRGU3pz08lszz9E7uILjT\nnkoSUWOlz25JqhHBgX546SV9ghrU7F7v79OdCQYw8JtP0nouCuuimfHq8cPa\n3oGkdLu3tItgC0lOJa1gxhXD+ADhqeiHgo9sNPvLhE4JUtMbA4XzumT/6y7P\nxCn0JNaA4mxE3L0CjaqyAc9TU2NwABB+JHAydhnu0amDwucTzVobhQk2lbNr\n6/KWIxsdrkWzmXc6CH81h/a7HYFa2oTajQSmJHYDSbBMH0yJQZGlmRlDxkuv\nNXNo+A8LnbNvfs1iTA6HY0kv2KsenJmf27UvrpBDtStR4y5ZIwC9sBFwx6py\nsEK1\r\n=PYaD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuAs3yMmBq0mmZKgYAS5uGetJZibURJKF5FoSO2K5iSAiEAy20d81sQd5z+E1T1TlJGpIkvfCVhKy2vCRknQ5c6s3k="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-2_1600658918561_0.30119722473930755"},"_hasShrinkwrap":false},"0.4.1-3":{"name":"html2sketch","version":"0.4.1-3","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"06bd6c736e38f7b09c06de54fee164efdcbcdd2d","readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","_id":"html2sketch@0.4.1-3","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-1SqyJ1GiGk0aLZTLVM4uJfmcD4utv9Kx3xj3oMI1jl9XE3MyDQHVf2k41Mhj5m/4BkLIar6YIa4WPuWvn+Q7vg==","shasum":"33d444d93942fcb251fb6b3fbb9883ccfeee4c26","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-3.tgz","fileCount":260,"unpackedSize":3704738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaCqBCRA9TVsSAnZWagAAl34QAJL2Ic6H9mqy3tqFkqZz\n0X4I/TwfloVHa19w1QaU9129PJjO7rwb1UJKkpAwEJq9UXnS67lldpqjtI/6\nbluus72H46hfqLTjqq4iO+hHgu+288Fzoe9LvWcwNIw1KtizjQooK6EIrAMA\nqv7Kh1GV+LasLbQx+DVCKHlMT3Tq0T9mYiISAxueR99gD/qh6ySw91/ZQvNB\n0SK8NnfsZg0PbAgWE8FyAURRsmCwEqI0XAZ2Abu+dL/zFtOrpa2XHdqjoAFH\nsMqun4upSWK10Ab21uy17Tpl+ZAmJcgwSA9XhAZpRWunVPZh46fskg2+RIqb\naJpG5HFKz1gtsszLWCGQgnqIGI4AARZqaQJ92OD57H2md4/pIfdupnI3wiuo\nV92grruhDQYxltrT5lDBWatr+Y8+n5Yc/N8zSeY2B5WtzaM8VwS6mHApCH70\nVC3g6ba4A8hLaGT+9ypEGZnLps5xdD596fA/c2/GJaQyFnhsMINQhzIqoPGS\nr0iG3H03KIFNBQrBs1t9zayfFs1IG3h8vbFuqmbxf/ipGNQHzBP84VIW+U0l\nBmGtHoSEjCEAL/nnYvFCN91g/mPKCR8TN0w9Dblk8oT2upJLcQb3FKQYdsz5\nYYMegREpph4FLgyPF8nMgLaN9032Ooj382GUX6ErLLgnGSlWkcd9sx4zgvk9\njDCs\r\n=inwS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICf07gV/mvdMCXq98RcIg1aqjVt5IsdoI/0IeeLNFxcLAiAvRZsOhaZBad23hYzTLQfMpNJkQ/6NImGnxkWgzen5TQ=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-3_1600662144544_0.988596252923488"},"_hasShrinkwrap":false},"0.4.1-4":{"name":"html2sketch","version":"0.4.1-4","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","gitHead":"5bc8c3080dbbcc7a2205248f5d6044d2fa138ce5","_id":"html2sketch@0.4.1-4","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-FsGKM4k26dQT2e/aQmGorVpFSNQQdSbtSXjazu4z+6L4wEstF/xV4bOJeC82P3k+7y8lu/0+ArG5+CBC2fyAGA==","shasum":"b1f6a2545f1f17f18116873ea1e5fe25d6e96653","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-4.tgz","fileCount":260,"unpackedSize":3710666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaXzbCRA9TVsSAnZWagAAau8P/2wFbe8rLs5usu4VGrfV\nRSe0TySyloRWs7qfAUxuuNthghAFuqUb8STlaVK4khf3Wx8lw160UaN1TJ2u\nuUZizR812w1snzyGNH2EyEFibdIMY2OK/Wh/2zgjiwvt5sYKCOpIi4qxRi+w\nHPy015RAAC51QD5AyMO0PbpiD5PgzfbrWRsCfIJoy8n24x8+MXG/Y7QGmL60\nipkjTy5rlQaelHiPbdhVWkmEy9yMQBXpsFyP+SQ8OtUpDYzSKRbMlbknaa6S\n0Tnem1CXBVoVoJB0VZyd2EsYO8uZ8fym0IENJDBaoKdtUupW2SH6Jxt2HadI\nFu1tWi3aP/H6zjGvFYvzm1OgjXT/srp8PuFUQLzvMWopX1ahrNzwiHosFoJD\n08lH9zlrU3j20oVjL0a1ORJfZinWMSVl9w8XHwqe/UKVk5r5v7mzQb5U7Sj/\nBX2bHIH5BG9MJ4umcy+wvj56CyuBdu7vFYr+i4jVdKnkVXzFgT06KshJnsTT\n89XwYkneclYQYhjvuJ4lj+FiUc50oV9DCsgaN6kITc7PZGsovEfC8hxHAImV\nk3ykFK59hDjwQh+BfRdbwOs8JdC2CzZgLkeml4SLfg1VwpEpVOdUQyRGTte5\nGfuGMugBCNF7V04nYtExjQh7bKL55WOS09SBkJ57vrQACYYeBl4tLW6uLIli\nIuSk\r\n=CBC1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM4LS5oJFqpepiC8fchWAp9CvF7I786I1fUyI80fzNWwIgOP2LFvQ23+bWdHY00yrD+hDoLYgRJ9J2Geq/Wh4wiFg="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-4_1600748762929_0.09288812149376602"},"_hasShrinkwrap":false},"0.4.1-5":{"name":"html2sketch","version":"0.4.1-5","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 开发\n\n### 依赖安装\n\n```basg\nnpm i\n```\n\n或者\n\n```bash\nyarn install\n```\n\n### 特殊依赖说明\n\n正常开发基本用不到下述特殊依赖,但是涉及到单元测试和 e2e 测试时需要使用\n\n#### Puppeteer\n\ne2e 使用到 Puppeteer, 默认情况下会直接安装\n\n国内加速可以在`.npmrc` 中添加\n\n```\npuppeteer_download_host=https://npm.taobao.org/mirrors\n```\n\n#### jest-electron\n\n开发中测试环境依赖模块 `jest-electron`\n\n国内加速可以在 `.npmrc` 添加\n\n```\nelectron_mirror=https://cdn.npm.taobao.org/dist/electron/\n```\n\n## 架构说明\n\n### 开发框架\n\n开发框架采用 [dumi](https://d.umi.org) , 兼具模块开发 打包 说明文档 demo 展示于一体\n\n相关开发指令:\n\n- 模块打包: `npm run build`\n- 文档开发: `npm run site:dev`\n- 单元测试: `npm run test`\n- E2E 测试: `npm run e2e`\n\n### 目录架构\n\n```\n├── src                            # 源代码\n├── docs                           # 说明网站与演示 demo\n├── e2e                            # e2e 测试文件夹\n├── tests                          # 单元测试文件夹\n├── config                         # Dumi 配置文件夹\n├── public                         # 静态资源文件\n├── tsconfig-check.json            # ts lint 静态资源文件\n├── jest.config.js                 # Jest 单元测试配置\n├── jest.e2e.config.js             # Jest e2e 测试配置\n├── package.json                   # package.json\n├── jsconfig.json                  # jsconfig 配置\n├── tsconfig.json                  # tsconfig 配置\n├── tsconfig-check.json            # 为 lint 使用的 tsconfig\n└── webpack.config.js              # webpack 打包配置\n├── README.md                      # 说明文档\n├── changelog.en-US.md             # 更新日志\n├── changelog.zh-CN.md             # 更新日志\n```\n\n### 模块架构\n\n```\nsrc\n├── function                       # 解析方法\n├── parser                         # 解析器\n├── model                          # 对象实体\n└── utils                          # 工具函数\n├── index.ts                       # 索引\n├── type.ts                        # 类型定义\n```\n\n#### 实现思路\n\nDOM -> 解析器 -> DIM -> SketchJSON\n\n![解析流程](https://user-images.githubusercontent.com/28616219/91637898-379b0680-ea3e-11ea-95e6-74694ed72a57.png)\n","readmeFilename":"README.md","gitHead":"4fb9e49fd4146ae7383eccf697c7e3bb58dca308","_id":"html2sketch@0.4.1-5","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Bfppjid87vqQbpAEEfK3aZAQmdVmVoNhgoQ3TUF9RnTN8ttXcQZMh7mUYrnDnKPklXXu06YBw2a7Ji3+xVEbIw==","shasum":"7eea32c2c8715741c582317d4df39c25339c7019","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1-5.tgz","fileCount":260,"unpackedSize":3763109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbRMGCRA9TVsSAnZWagAAP9AP/1dVae9/GV04+BJzSyWb\nNuZix8kBPsjFqUvgzLswkaUZuYD0sCJMrxMuf3hEprGfJ9I8H0X4ayzTnDet\n7cXojMxx4Y3KJir+0oGm8068Sghmq5bhFaAcZ42n3NV75Op3tZOkiUG4nU4i\nE+yy4iyLaSb0075IKJnTkRZhtzEg9v+gfI31BU9rgnOEfiPQhUjItT5IKaQ2\nT5E0s5feFJ/BthqlvFfpMKAn87PedLDs/wSrXe3FlM5aexoX2/FJ54eBf3px\n52cPGiODAO0kW8jp+Qb2Q5fo3tVmG9KZdJ8u51HPRl5GwmcDGCV4G1GaS5d7\n+uDbgNpiNisMJ0movBnKXMYyazWhajElVut1TOv2zAEePJqzaFQAZKNfbVck\nfaEbhOniT9h9OBPrJZEuLGPG0xAEmTOun46umRqqvEVEhX9rTAHoGLFCQC4M\nMYIH9mTd7R/O0fVlHAW8AMgt33UKbrmBIdkXKwZTgqvEHCeJRtKBYLedqKkT\nAm/2VZ6lR0GzHLUqio1/6K8cT8xGwV7kA/BvhMX0bQDFD1Azqkf8Fh5bLmH8\nMkAOeHknbWPMQwPPtJWmihUYGYCwN2R3cXbJWIsj2z5jXWesA7h5RsfPjo3F\nsiChqLtUK3tqAB0Npeq30s6oo+0oP0qzL/jyg6q1rtwl2cxMFH1x/YdS++0t\nKCI8\r\n=fbGl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLgKeWxao/3RUPEkThxuqFfMkb3P5voXTWpXJz0LyudAiALNd1OTKO31wYPFoeibjI7DqPnHWmtmbJkkzkuewYOqw=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1-5_1600983813651_0.034192736651266875"},"_hasShrinkwrap":false},"0.4.1":{"name":"html2sketch","version":"0.4.1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"c207883733da8e82a541f81a40a88bb85d097687","_id":"html2sketch@0.4.1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-rcU4yKbh+K6qGOIfBCuYZ/cxCCFYm3nyJzo8b7501lq09XqlsS3I3Nwne34l7Zf1aJXxDy5JAOnNphsx9JlTfQ==","shasum":"99665d3badc993552a97061be78f5910570e6ad8","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.1.tgz","fileCount":260,"unpackedSize":3763107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbSNbCRA9TVsSAnZWagAAkI8P/2YsPgwns/+O1UGad23k\nx2FDhkjzvP5ZPpWyi9MBjManNR7KiYV+nB+V5OTxAThAunv8OOsSvCbKpv8G\n9uFXJmZGq3vFdAKPlvSo/WPzUJ5HRbuuyGjL358JjsCJd2+HsyY+wklFMhM5\n3nGV51ubv0yN8jYdx5BafIUf4HS6hOZ11z5+L9cO/VQ0Dga+V5UDmFlcHzr9\nMUQX1YfMWSx/ViwAA6l+Lo4ICmJKJS9MvXVmiDeuAO2nHSD6nh74bS4vZNUr\n1QTYMQE1diKxY7SVJTY6l1Iy+QCQQr7Gbdo5Yl2CdYYvLI1PPGEG7tJZkfOZ\nUq7PPOPspUqXpKtyGmWKnToqaN7jKqaFwzGvv6BDE3Q16okkkexm7iew2NQX\n64qfNeoJAz43ORdGgBLXKbLhwvknPN0v0yNhXCOdwdObBwtw+hc+RjyExncw\nSFR2HimSHSB2Ur9QQNnXFUmyLco4v4s5pMABJBEqyeAxYlvW3BW+cvGOI2K9\nlUXZPVbRDvOyF6wBA2rW99m4zRDBO0E9tzgRvo1lWVSMTo4Bhp0h87dSupZV\nqT34tOUf3KnNEQRNxUqL+rAR6YAuLdkhox7r5Et2sDP4WLBhe9uA34FT4Iu6\nWe0+bLPk/kA+fDl3HFNwYkvW9ZSs1FPU1akTd++qsg/5JqNAR0Nh6MCukuYT\nEca1\r\n=aCHU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVB6gJeuGbj7eoOfnz4qj3eYxkk2myEL36n8OcNNuFqAIgZuaO5A/2GmZW+/aqdnpSpaj1uaP5cJ2FDupP5jkeB2Y="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.1_1600987994720_0.7813928611406726"},"_hasShrinkwrap":false},"0.4.2-0":{"name":"html2sketch","version":"0.4.2-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"89b96f776d26e58ecffaa6a9486e91478ab6861b","_id":"html2sketch@0.4.2-0","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-lRxClZtd4IF/NGW7DF4mGGko8TlbkVRsz7AVGPwx2w7J0yAJPHn9ELn3Rquytz8c+zeqqpIFtL5zA5BlYIcePw==","shasum":"3f946b5a99a230e326dc799a6ff4bad9c2ca337d","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.2-0.tgz","fileCount":264,"unpackedSize":3677894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb3LICRA9TVsSAnZWagAAE9MQAIpPJwqkIeGtl++y7ca+\ntjAZHyGaoLO6U1SM1Slcsq93H4ln7I2pcwBpKGQq2ZxRO8NToFPYhsjTxNpW\nl3B3Kb4lswDetc+0mE9/hlNKXF87OLROPzjedNsh8RmLQ+9ad9rz9lww1ELr\nuxFg7mB8orlXZ2RjZRhLkU2F1ebKToTy6tX5Xis1HnbJQhnocNrzXyd9qglI\n6SRC613WIdSdtm8qMImQs8Vpzq/zxiHEKpDApvrp/zMoqzIbbnowC9Mh/YiE\n7bhAFxiKBRabeavUJVGnDIUwZzyVnAdlpKEMqEvGFkFXCHEFzDxeD9DdBEMI\n/bkwA2dbZ0xXiTbIxx4q9X/UJ7Aaz1PQtWxyA/o7k3LiR5ChIuFwajw8tsJa\nwIzTDmy1/g3+sNAb0/iS1VgrSvkL9FSmQIU+C5NcMXY43mPwnRlOVIZvT+23\nJjH34SDDOwclsT/OddePVGUn9d+wBH0LX0d0xXyjz1ogLnw1nqHIJvqoXyw/\n8q75iXRRS1V5RDfGfen7lKOxd/nFqaVxNO49UkwD78IBxi4X4qa8fLjbG/ux\nuK8VedPjnwbcmbhFgjgd1aq/YodwR0vpr1Xw4AzTxH7fUSJ8MeJtoAFs7gQB\nu4A8iFTF78hwA6s2QadV+E31sKOlsU/QSyzTC0qu7zU1wZ6uzxXvGJcAa5O7\nf2jD\r\n=CroG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIzKJ2QKT01gpy6R1ZP9Rvt50B4tR7u1egjwU//JFJCAiBNWF4fs+xnd5zCCMFx5WXVyvOLSNx0X0ujypEopOPdXA=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.2-0_1601139399579_0.7754079655460229"},"_hasShrinkwrap":false},"0.4.2":{"name":"html2sketch","version":"0.4.2","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"921bc60cd18d69ab7b500d336d727a93432f183c","_id":"html2sketch@0.4.2","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WUAMW69p9xhsfwGzw+9tyCDJ6/NKOJfIwQoagJqQDg8p8Py5xmrNmFZBsUUgJSNXU6lQsC7zkllVc5OZCcEYTg==","shasum":"35590fbcf7f54ac52c453115da883d9c43ea23ee","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.2.tgz","fileCount":264,"unpackedSize":3677892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfb3X4CRA9TVsSAnZWagAABr4P+gM7JkrhG128sCFDHc3+\nSy67uQvzqQR2wk/UmOIji9V7kbY7UJtHDA6SbWg/OLx2w44JKO0mAsEcAgy5\nOc1XwnpSfRTXfecddSf9MOkOcFP/f63YHeJibnTX7d4g05KQurI7Iv0vrLR9\nRToy2tMu5l34N+7tXeS6G2rrXdIWlzJEFxzW48bvnk6zaYIa2lQvqHs1LyO1\ngmUf233c+/zvDqsWpS8/CRnt1Sxgi+yv5emUkadd9Sm5GtfBtolA0siku7cs\nVg8bAHvlLPdUcl5rWD2WkNoTOlbzbWz/3arQwrNa1Ay6Vrmv8oCVZecdw3qQ\n0ETF1eHo/USJUJKkTAInaxLjenemVtPEuczAO35z0yvfAYqD32aQ7FwRlXVC\n+lWl7jfM0qglzFbr5v25KMaw5blcIA1Q8M8g9v8gUZqfurirbvVZGdbCux+L\nHWReBpOJd8yKVTv27KpVeVmAT3BlkY6kH4IIJSUOnqnxYeOGWLMQHuh/x4Fh\n5DYqOB7lhY5fFJ4czNS5296J0YxziMg2BgqyyfQ+VgKbzKIh4SQ74z7gdTqW\nCMzsK0gSnXHlYDL1aXtdF3lJY7j7ESjFBiMVER78g23/7DqAhWDWq+6ATGr8\nmOWbI4BBJpN2ge4LDyPAQ4o9SdNqVuF3busZ5mLJcap/lJPLKOF/Xl/SO78o\nvk6r\r\n=urBN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDV1ZNJQWQ6B50OR7sMCmVfkHVGFK8cOCtY6hM+ZT/1VAiAH2k1nqppIXciJsAWD0t4K1GWfcMsaPzspuaD09PdoyQ=="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.2_1601140215737_0.10244074996784547"},"_hasShrinkwrap":false},"0.4.3-0":{"name":"html2sketch","version":"0.4.3-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/Q0VnKtVzuB/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 简介\n\n一个将 HTML 转 sketch 的模块\n\n## 快速上手\n\n### 安装\n\n```bash\nnpm i html2sketch --save\n```\n\n或\n\n```\nyarn add html2sketch\n```\n\n### 使用\n\n`html2sketch` 包含 3 个主要方法 `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSketchSymbol` 。\n\n#### nodeToLayer\n\n将 DOM 节点转成 Sketch 的对象,转换时不处理节点的子级\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const layer = await nodeToLayer(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\n将 DOM 节点以及它的子级整体转成 Sketch 的 Group 对象\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const group = await nodeToGroup(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSketchSymbol\n\n将 DOM 节点转 Sketch 的 Symbol 对象\n\n```js\nimport { nodeToSketchSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const symbol = await nodeToSketchSymbol(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## 有了 Sketch JSON 的下一步?\n\n生成的 Sketch JSON 严格符合 [Sketch File Format](https://developer.sketch.com/file-format/) 结构，因此只需要简单地将相应的 JSON 按照 Sketch 文件规范合成 `.sketch` 文件，即可获得 Sketch 文件。\n\n社区相关 API 模块:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\n如果希望直接使用该 JSON 对象，可以使用 [Sketch JSON](https://github.com/arvinxx/sketch-json) 插件，一键粘贴 JSON 进入 Sketch 中。\n\n## 开发\n\n查看 [开发指南](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"c2db148b64fd7dfe82ea3b27a0443013b9c65fb5","_id":"html2sketch@0.4.3-0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-a4YhyVp/PZv3EjKIgCWAXUqTASZ9mStDMXRklLOFwYun0hoiaDyOZrC1Ri1Nup/iXN/J/GYxTccCBWevv4CUlA==","shasum":"dfb0f82f807169759267fd0886297ec785a1e33c","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.3-0.tgz","fileCount":296,"unpackedSize":3764262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjUJ6CRA9TVsSAnZWagAAFA4P/0wdweC2rPQYthrg412K\n+IuN2r7ds6rQN2d2ZYEYiU/WGP9SFdw6KIOt9opTFYdK93sjVRpp4sSZa2Xv\nEsOjAtGbiUIW/TsbufZc/kpyeTW+Kqep4zXRjz8FtCVazWPwLAvlvz3z56X4\noZpWDb0gcazSRpwtN+PhSWRGaqhpua+O0DYnEX0QlSxKCwKpMCX6fo+ZP2oM\nq5LC8tzYC0pHAonlWRLGJoC+1YyuqHtzvwoV/3QyeDpPwUsdG+G3e8nkGOc5\nCvocDDCZOo2mkFVgdrXtrTiMpU2sz0hzGXxEaL0RGafK9LrscFmU5UMkgA1n\nJpKqMyZTAQ9WtSve8BA9Qba3pQwB3dTTAHys+npDfoHtWR6gE3Zofm2752Ar\n+GtCwEHS2pEe2WSgfnI0f77ZWsv5Ea0oLe9Y81gmAsBdi4/4sbiubQ+SKDuQ\nIQ8K//sA2pSFDSYyVollxbOB44S1mVmVSYau9f8jAy+q1QOK+52YMQuvYJEp\n9jmzh71dPrwMJp0XXsiej0edazBUDXsE8I5J7NyFPL54Oyg/1pGKmgFH39IG\nTZj7sL84wxyG+VUj8TGYrKekhhea1myvZD+DpuWkbaLZUWanNxnvRQiZ/Kcw\nSjC1knFm0cpQUae2Q9BWWZStz4Z3PbQVVTyrtCPL44sw/pQ36xnvJZI+7fTX\n7GZV\r\n=Tsnb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3jNKhcOtYzFTPVEp5I+h9pUI9w+yEQOWe1UCYagGdiQIgNgx8DD8N5WXZFIrb55XV792TLpkVi7mPrmMLu33COlE="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.3-0_1603093114334_0.0016015258408523803"},"_hasShrinkwrap":false},"0.4.3-1":{"name":"html2sketch","version":"0.4.3-1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"cc5e5b52494f629269995a3363ac63a890231587","readme":"<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/Q0VnKtVzuB/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 简介\n\n一个将 HTML 转 sketch 的模块\n\n## 快速上手\n\n### 安装\n\n```bash\nnpm i html2sketch --save\n```\n\n或\n\n```\nyarn add html2sketch\n```\n\n### 使用\n\n`html2sketch` 包含 3 个主要方法 `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSketchSymbol` 。\n\n#### nodeToLayer\n\n将 DOM 节点转成 Sketch 的对象,转换时不处理节点的子级\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const layer = await nodeToLayer(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\n将 DOM 节点以及它的子级整体转成 Sketch 的 Group 对象\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const group = await nodeToGroup(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSketchSymbol\n\n将 DOM 节点转 Sketch 的 Symbol 对象\n\n```js\nimport { nodeToSketchSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const symbol = await nodeToSketchSymbol(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## 有了 Sketch JSON 的下一步?\n\n生成的 Sketch JSON 严格符合 [Sketch File Format](https://developer.sketch.com/file-format/) 结构，因此只需要简单地将相应的 JSON 按照 Sketch 文件规范合成 `.sketch` 文件，即可获得 Sketch 文件。\n\n社区相关 API 模块:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\n如果希望直接使用该 JSON 对象，可以使用 [Sketch JSON](https://github.com/arvinxx/sketch-json) 插件，一键粘贴 JSON 进入 Sketch 中。\n\n## 开发\n\n查看 [开发指南](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","_id":"html2sketch@0.4.3-1","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-lILZcN8WFpgq7MPa6ZR1pmvTb1WB15Udz2A0pdRbALkv+fgaKIOLt0Z6QmnwItTIwhJF4mNlRrLKtNAgVxWyNA==","shasum":"f7aaf7505857fa5743cdaf8c0e421209aaa0d933","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.3-1.tgz","fileCount":296,"unpackedSize":3764941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjU4lCRA9TVsSAnZWagAAaQAP/RLG9HqUrSavYuyvXFbH\nDNkUDOLyZk1BwixDsiPUEP/lLIfB2oiGaTQDA2BTADFtutfy/l3XsqEWz0qr\nHzo681G2DD8cWzn2WKfcPi0Gzm/sxQbrBPWVOaN6C5GFMFwp+Cxa4WNHG9Hu\nCrOBbhNmZiamagNakL36TTrektgUS2lRLKO6fRhvzB7dK3SYvnots+PYbXs/\nPGorDAjavvYMyOchvxkevIUVWqA5QxwLUWdxV+nbWIBB4/4NwFAq1k1T9l24\nw9edh8azhak8u/fpHlgbIu3KBKuHDtsc7E0gkxEm8bG7BSPqce0x6AOHturS\nthZfpwQf9q+gm0QmMoqtCqUrFsB7Ftmi5JBOARcoPkd0azG6SFVqkWtgocMq\nhWK3kN+SImP89WJma19ikNDYy+/+K8QDcNm8XCKZZ6VobFgVr7ZrZ4UBYOTM\nDXqIThqZyva9GLrHUOtG1GFXLOw0NWmRgU2SGZBflbkD0AvM++WdPWj8JBPv\n+nTY/2LJvh1Wkt4t/nxDMKoG2xL5XiuqlVCg3PU4OeMfSBY4kLnUN+RoagDZ\ndxFBJ/aysZ5O83fIP30C6haHRO3TXb9Gc62Mxlbo/JfwxMAfEXXqPQ4eBb/f\nchNVexMCsUh5WQGzrIbamaRDWDvycjrJElMHFGG8OXVM0iYhL/BzYB/V0Luz\n20we\r\n=EHqq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIS48CnBGFvQ8eHrhnJSxH+MMBcRRnBPr38HQa+HVj2gIhAIXCH3mIGKPaKE9LXsXtAuKnqKr4s1gtz2a2dIIYxxSx"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.3-1_1603096101173_0.872291470711549"},"_hasShrinkwrap":false},"0.4.3":{"name":"html2sketch","version":"0.4.3","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"eb82982951d1a6436cba548eaeec049787883f77","_id":"html2sketch@0.4.3","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-cVSxZORYfSpgAjrrR7OgzjAzfyAKto+Z1GxeI1A+3HRcAgF4LwWRxWCJcutGS3qdQ3kMMH5JsyTkYPB+efCI7A==","shasum":"9ae38c9714bd96468c50b10a7516b297e0c16e66","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.3.tgz","fileCount":296,"unpackedSize":3763422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjaKSCRA9TVsSAnZWagAA39cP/2OpaNWxJ+ntoyZ28z9b\nsk4mz63bahXwfihXBDALAIELX7psjoV4ljy38wBRg+I6lnxqFcX1JkTp6qVI\nPBuxSrzmD0+QGzNetmMk+2AqvPDKWuC4EdyNTXC93pCm9XaFo1Ix6UvEg5cX\nDQ9Iz6bt5myiuXMph12l+RsFxGlBtLbAWSnAxh+Xm1YB39BMe8Vbo/BGRjkP\n3D3BHuKmvqogNVsUbIwklVURP6FoVNvpvbbOUqTpbfDihx6lu38kPXrwonG5\nx70OH+wWMX9/gVUyJglNw5K40zzLrEy2xjgwgfMxnxCvTBe2qjQ25RJZrCFF\n1s7UCB2sr5t2sw1sbnu55XD1Ps2PN0rINf91M+FstQpgBBfM+kl9nuypA2kt\ntfAaPkBlKS/IbnZrlPTSHzdikoCLZp8Bihfeua17sf28zMuZQJuWWNUEaOKf\napMqNjivkSJ5TBAG4MdeyAZwnNzZvJsDsf+jrU3jSbJgGAz52+TOHJec7oaj\njzTRpDmJKoVE5HTT0HHpdDNu7EMiHgPCNo9qVYOJ6QMXvt/b/LTPK8g5iQOi\nKQxOYxr36b+UklhCOHx3OL+xcwGNSpkojaugW9ZNUuELgaKoQ/sDf9qja9KS\nqo/pwACmL2aHPOSFjhoP5SnPi1XTmiO9W5r93cyFoQSbfx2yfZWeH4AO099J\nvLoW\r\n=A1Vp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSfxu3V5cHUm518CZFGelbaTes1zKe26Tfhnaf3cAEzQIgPnR8lcLfhtP9y2IpDWPINqfDHiErctikP6+bgXc3G/s="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.3_1603117713487_0.7193899214313688"},"_hasShrinkwrap":false},"0.4.4":{"name":"html2sketch","version":"0.4.4","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 简介\n\n一个将 HTML 转 sketch 的模块\n\n## 快速上手\n\n### 安装\n\n```bash\nnpm i html2sketch --save\n```\n\n或\n\n```\nyarn add html2sketch\n```\n\n### 使用\n\n`html2sketch` 包含 3 个主要方法 `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSketchSymbol` 。\n\n#### nodeToLayer\n\n将 DOM 节点转成 Sketch 的对象,转换时不处理节点的子级\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const layer = await nodeToLayer(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\n将 DOM 节点以及它的子级整体转成 Sketch 的 Group 对象\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const group = await nodeToGroup(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSketchSymbol\n\n将 DOM 节点转 Sketch 的 Symbol 对象\n\n```js\nimport { nodeToSketchSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const symbol = await nodeToSketchSymbol(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## 有了 Sketch JSON 的下一步?\n\n生成的 Sketch JSON 严格符合 [Sketch File Format](https://developer.sketch.com/file-format/) 结构，因此只需要简单地将相应的 JSON 按照 Sketch 文件规范合成 `.sketch` 文件，即可获得 Sketch 文件。\n\n社区相关 API 模块:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\n如果希望直接使用该 JSON 对象，可以使用 [Sketch JSON](https://github.com/arvinxx/sketch-json) 插件，一键粘贴 JSON 进入 Sketch 中。\n\n## 开发\n\n查看 [开发指南](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"8fc94dda69ae3363cfe8aec5578a47d2ac607a76","_id":"html2sketch@0.4.4","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Y2ToJvRKBAoxQOzUrC8vAsymfsQ/PS9KGAayOpqI65CPPjLm/Z+g+E06xwKY1XAk9+1QfkvgsAzITq2w1Qm3Gw==","shasum":"980dd18a001fbd17c97710ddf0f31e9a89e0902d","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.4.tgz","fileCount":296,"unpackedSize":3767520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkG9WCRA9TVsSAnZWagAAeA0QAJ6PRyQ2NfOAq2OJ6G1s\nkuN5gDE28Q5U6nMw5e9uktjwzYdF4V03Fn0RJZiCsuNAvGCRrOQr6I32yILi\nMc0zOX8eXBDrzU7JyGuALc5qykrhGV67P3C4tNsarbFqcz5T+7EHn3/KKmHo\nVnsG3VW3+w+LHrTre1aYZPMPjJ33Hs4tjKx9mZmB79HVlGkgzfIkIsjVfGZB\ny/NT6rhfNTPHy5WCr6wXpxk+JkNVFFocIyuUm3Wny1MCF9fu1jPclA7AnnQc\nQY7y7V8DyDDoBzY6Tv/vJntf8XHvve9/tjq8RYarI0sGisllnKfcB4kXz7PI\nx8aYWzGDE+hxV45yAPCj7DOkXbiCnLnJDAYU05xTV2B0NQbtoh0VDgmWYYl4\nuEIjyzOGe7dDwPkzlRpGM4M66Y4BGJkWLmpc+M/pm/X/eQjtLSXRPh68M4va\nmutAlKKQkrOSwGaVYXT1I01YmHjlQxbrZ5HM+N3zUigSVJpxzwtWqM0DeQjv\nsJs8tJSzaSXyCbasu9pG5DKHf+s+ffnRbjZxV5Q83XAJavnn8RjAcezhjlTt\nUlMVxUL5v6tDH2jSwWDE0msZDXO7amxioV0lUZUI2c9WqgFvvB2cBk29oBz1\nG9QF0bcxdyty0BkInPkgY++dj0ROIr7QIu/s6d33dHtFcha4YS41fE4eIzd9\nBzd3\r\n=dtfF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEkmSaRyBH0YL/0t6U+kxvtp2UnEqeGvLhhAjdTgjXGAiEAjxMUChjgenco+uYJ52zT767lT4oWWkqrdv3HUueV9ZQ="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.4_1603301206291_0.9711075042898443"},"_hasShrinkwrap":false},"0.4.5-0":{"name":"html2sketch","version":"0.4.5-0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"readme":"<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## 简介\n\n一个将 HTML 转 sketch 的模块\n\n## 快速上手\n\n### 安装\n\n```bash\nnpm i html2sketch --save\n```\n\n或\n\n```\nyarn add html2sketch\n```\n\n### 使用\n\n`html2sketch` 包含 3 个主要方法 `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSketchSymbol` 。\n\n#### nodeToLayer\n\n将 DOM 节点转成 Sketch 的对象,转换时不处理节点的子级\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const layer = await nodeToLayer(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\n将 DOM 节点以及它的子级整体转成 Sketch 的 Group 对象\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const group = await nodeToGroup(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSketchSymbol\n\n将 DOM 节点转 Sketch 的 Symbol 对象\n\n```js\nimport { nodeToSketchSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. 获取 DOM 节点\n  const node = document.getElementById('id');\n\n  // 2. 调用转换方法\n  const symbol = await nodeToSketchSymbol(node);\n\n  // 3. 生成为 Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## 有了 Sketch JSON 的下一步?\n\n生成的 Sketch JSON 严格符合 [Sketch File Format](https://developer.sketch.com/file-format/) 结构，因此只需要简单地将相应的 JSON 按照 Sketch 文件规范合成 `.sketch` 文件，即可获得 Sketch 文件。\n\n社区相关 API 模块:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\n如果希望直接使用该 JSON 对象，可以使用 [Sketch JSON](https://github.com/arvinxx/sketch-json) 插件，一键粘贴 JSON 进入 Sketch 中。\n\n## 开发\n\n查看 [开发指南](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"2b175c2fa7be8c3f5e91b48fe7d8f82cd3e0a272","_id":"html2sketch@0.4.5-0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-OGOq8J6h6KjohDbJtVhSrgpUkLza5IeZPhUPitPOt9DfOSi8kbC0z/XOFSt7N6r0D2Z2nLvfw5UPGHXRHPLQtA==","shasum":"2196bb529b6ca5db792828d4b1abd2ae98e523d6","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.5-0.tgz","fileCount":296,"unpackedSize":3767242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkHvlCRA9TVsSAnZWagAA6X4QAJ55lGpzXEe03By7XABw\nThxgIN6gAaKMpztWTujRP6LcT36/jzeBXASrQCBghnk6OF0zBrUmk0eR9fBL\nHBEHSbKVxCOrCzfbwHarCjPkrrDbpRNaud0+62KfJ8iHKNAXLK4uycnkN82R\nCek+4g81CkwLiBCit2qEZRI2JYgs7vEtu1jkj8d1DQ5dDGFuqLIZ+KSTP0KA\n4avNGfprvBQGzpAbnOvuMrl0CU10RknCUrZh7uRZItRLCZqmZ+gzmmgG+I8m\nUHtj+6/ePAje2ZrkCz5IqdC45rtvab4Zvw9GTQ2OTi/0ZQrwRlwHRuFYkUjR\nblr2ZeHX82Gi8YGY/ENjaymQBqv69T5ESjMJa54aCgOGdNRr4N5j3RWg9fB0\nilRv4qfH4Fg025iEa1EYxzXIi1Ew+aWIMsrhSmpJUznFwMQ+mmXmGyRjX+RV\nypoI3dL9qXVL3J5p6O/nDM2CTnNEELwtRvz4XoHNuhUucaJhG0cAcDb2w171\nge7ow/VFFCGCljC2lptmNuTL/e4fQAj052oOHhW8lk8Up//DWwzzqQsUMeVa\nfgYqIJu0o3tbZ7bNUlOe7w1SsPlxT74BRG9vj5jUeB/buyxNcyokdP4rarZc\nYaOCI5sgUAYSEIzZv7mgdJtItAkUvgwJ83OYxCJcX4P6OpycRNfozldGd7Am\nHHP9\r\n=qPFj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBJI3jM/cJTgbCNYMPWwpNstmRFV2fbwt6Mrnfj0yqBUAiEA4GDFZLRKTyNAdw3xTWy+yJ6vSRApIKH58YN7pOOIT7c="}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.5-0_1603304421025_0.07034524326086644"},"_hasShrinkwrap":false},"0.4.5":{"name":"html2sketch","version":"0.4.5","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"09e29a9fbec24ea49c95d4a33560145863a8355f","_id":"html2sketch@0.4.5","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-o14LoIQt6ROqo4RAQPE5YRKvgaG5swm/T4Z7u4elKn17F8czkDjEnICDNGkCMeByWShv49+8IERCL4kwOqJkIg==","shasum":"5c79387ac0a06f8a207eef79f205f00172b2da71","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.5.tgz","fileCount":296,"unpackedSize":3767240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkH2yCRA9TVsSAnZWagAAXXAP/if9s7Gsm63ct9RqEC3N\nGw7dTguM0zWTiLfA/aVr8yu/ZU1enWvRBR2Wtm8FyyFKrH9k/TOU1p+wbLk2\nZBiLRPfY8JINkG+AnNBuSTmCzPrCy1qiXyFe5UqXgD1f44g05ICiHHYWdru/\nI97CAe9v0isjgR7sgVjuWCkoLad5dOF39bEffbzYeTn+gDK5/kkpgEIyqPTe\nW8AkpNjSy+9OiIh1jlrCTqexoyIU/oZlcFSvAJlH1atcAPUkZLlwXYoK9n79\n3zlm7pjN/WF62CxhBExjEYYkJcUYlTsHq3k3NY5if6qYSwWIAGsBj2Y3aDND\npuCvkCgJXoiOTxSQaTCFrcLgd7n5B89lkbpgZHWhW13K1Bz4iK1AzXnCBRnV\nyA0Y46Kq1vRCrqdLJp/CeShqiYua2wT18lN/arV4hxxX4W5g23t7fIxf2kJp\nT2QKs7mMGR/pLmtLPRLrQ2/wF5+2gJiCzLsJyecxhiFCcV4hbRVy/Qmxa2YP\nsu+0byHYIzb5KY3fYOMffbW8l3bpbNK7iwXNdJ3lt8237IwxzxMADT7XX7wG\n1R8AfqtHowEKRNS5GrcIH+VTKyCeNHVyh9vGVg9x8Jmc+cJWuWA2GhwZ22Xk\ng0jPpAtjuP0j6JU66Aa8a7AE/4NleMuEyu1/DmEG7U941FKMM/XTeDmWxYjo\npQ36\r\n=T6zW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE3FD6THZ3Z+3rwAPWlidVy4KyD25NXiZOO85nzoLOKwIhAPwjZ+XFQZRziGDKH3ATFpJlpgL1+GAWm7d1PDMXDXCf"}]},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.5_1603304881686_0.24134038366785782"},"_hasShrinkwrap":false},"0.4.6":{"name":"html2sketch","version":"0.4.6","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","site:preview":"PREVIEW=1 dumi build","site:build":"dumi build","site:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"umi-test","test:update":"UPDATE=1 umi-test --update-snapshot","test:coverage":"umi-test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e dumi build","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prepublishOnly":"npm run test && npm run build && np --no-cleanup --yolo --no-publish --any-branch","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"husky":{"hooks":{"pre-commit":"npm run lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@commitlint/cli":"^9.1.2","@testing-library/react":"^10.0.2","@testing-library/react-hooks":"^3.2.1","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^3.0.1","@types/react":"^16.9.17","@types/react-dom":"^16.9.1","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-react":"1.x","@umijs/test":"^3.2.10","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitizen":"^4.2.1","commitlint-config-cz":"^0.13.1","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","cz-customizable":"^6.2.1","dumi":"^1.0.13","enzyme-to-json":"^3.4.3","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^9.0.1","gh-pages":"^3.1.0","husky":"^4.0.0","jest":"^26.4.2","jest-electron":"^0.1.11","konva":"^7.0.3","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","np":"^6.1.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^5.2.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","react-konva":"^16.13.0-5","stylelint":"^13.0.0","terser-webpack-plugin":"^3.0.2","ts-jest":"^26.2.0","tslint":"^6.1.3","tslint-config-prettier":"^1.18.0","typescript":"^3.8.3","umi":"^3.0.0","umi-plugin-githubpages":"^2.0.0","umi-test":"^1.9.6","umi-types":"^0.5.11","webpack-cli":"^3.3.12"},"engines":{"node":">=8.0.0"},"gitHead":"fc5c7fb1b2bc64781672bf4fc9cfb9e359ff5d20","_id":"html2sketch@0.4.6","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-skF5vG3vcoqVVlISFde2hqoIsps8MaVUhPaV50HVq+peUV0D26/nNtTvqB232SdWRLjZkIpvb+GI8I7T5jJBbA==","shasum":"0be876161396f7cf327d37cadf4b9d49fa225088","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.6.tgz","fileCount":297,"unpackedSize":4254250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJforQ2CRA9TVsSAnZWagAA1OUQAIfLW0dZzfP3EW+VvL/e\nzKHIgsIkBlas1Uj9McAq1WgVVh9Ec/4Uqar2qdc5GbcRuhDmp9b2LQ6OZc3k\n3ovnqaLqhJ0tzVq4h6BOrYrZdSh1aOstBmImG8oNbbjUtmAj3Dp5WIu24Z+d\nEpFZHnzJ0LTb6H3ZopmRCkCm4H15uuVzxFQxXnnHE2YPOqnQzNL0KDUTcWYV\nXAdHgItfWBkzrBRmWpyrnysUjUKZGovwsGeGX/y9sdZnHv89UzfYBOh+GszE\non2kCye+5ln+jlIHSn9nnSNHpssT13oDrjWqx9VNnwpfyQKfCdUyB7JyKJdB\nQbeYs/6Cyrr52vgmPWgu0Z3YoNrFgZ/cj4i3MT/g0jeTGVnURnlrp4MJhhWr\nktxBdpvYhP4h2m7JL0jF9G+0B9r3MLdufmr0d/gIfnhGK7+TCyQmUht3R5jO\nk7yxEEjHJZ31gTbumhGS1Ln5W8q/Jd0Lu95RZ9zQ4TMexTKuY44l3fcGin0n\nfXVaxykGTHdWZcFQQAUWlzP7UuOyoaae57GS83iRKbSh9vczKV1t4TK/+uOV\nHkn5/9JMfUbfeCmkS3Fr91bQgLqEg3ijRmKElTNYieJrldf5UzXyJWrLC1C7\ndfHyFJ9o47hbGThGCsFGDGittY/o4gimId51AVaw0dvI5jgXU7yV29k1X1u8\nfDeR\r\n=HHVZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF9Vsio8WuIFX1wkeQU9laSrpArxvpCCl+athfMw/WYVAiEAw5nZuAFp2dXHoc+KeVP+AFSa57FLg7fzto58nabhYo4="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.6_1604498478233_0.6341828081341547"},"_hasShrinkwrap":false},"0.4.7":{"name":"html2sketch","version":"0.4.7","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","prepublishOnly":"npm run build","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","conventional-changelog-gitmoji-config":"^1.1.1","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"gitHead":"3dbb0a16c2f303bd43fdbe71be7c6d51925a10ff","_id":"html2sketch@0.4.7","_nodeVersion":"14.16.1","_npmVersion":"7.12.0","dist":{"integrity":"sha512-rUMR0v+AsgzRaTD/LJFJ64goi8TfbHJvFmhNuiYthalKUkgpPzOgvBF+PgtkUJvNajbgf4o75C6EmDb/tOglxQ==","shasum":"5c07dfe4b283a6161edc9feda8d86085c69813b3","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-0.4.7.tgz","fileCount":295,"unpackedSize":3728942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglkERCRA9TVsSAnZWagAAiEMP/jKtw7rLYBPlPZlX/tKT\n0aVBhZDP5PGieoM77f+LXZJRxislswKfMAK5BKejraltdo/rIjN+mGiNU7UK\nHdjAkSSxj5+rl5r35X4Utf2cy9/XW/jnmBNsMtPOHvLLDHjUH3cWRpT+N5TO\nsEaJEz3GaH839CVfIfJDveIK0qWX9llaMv8MZ5zMJU8Jysuyz5Y7lJp91yX9\nY9MtSRW4OERp90UhFs5NcsRPtA+Ht8aeaQ4wtYoyqBYduvAZMKw+m4udntv5\n1dWWwfaz6RWdDKGA43NRjlr/hK27I2P33SX0wfwxw9lhAoF+IV21qOdnX5FO\nEAZo21hAShLyFH0BcvNrFFhiqlb3LX75YdGaSu2TSSV55u4OF/JCYcth3q8x\nW1aR1f1KPFwZ6sBOv/FOmEUgOUqW3yeVT3wiIz8rL7+NChLEedRGK8bn9CvN\niQOJcvW1NxFYIcTu4NrF0TwsIkQTAON19gEnCybtOZY+4inOQ+BcoWo/gv5N\nN7lEOK2AvoZgZSwZ3u1iaTHOeKAdlmLOYPYuCiVo1GW4QOzrVbpZJP1MSSai\nyhYDb/+xcHofV/WvscJ0NanYdYle3Y3yb0rQp54jDqbJSRPWZVeeTN1bAyy9\nx+noE2JnHwgp4f98qmTyiM2xlg/Zn95FQGjzgH5OCKmiY6diD90489TywV/B\nU0Cx\r\n=57nC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPme0QpZyKIVZS/zpa08MirB8PfIs9edRh8n0s94dCnAiEAoiDWY28wi0QjSmNq185R/swzgzcxDPi714QbZtvD5ng="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_0.4.7_1620459792757_0.4188572729907425"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"html2sketch","version":"1.0.0-beta.1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","prepublishOnly":"npm run build","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","conventional-changelog-gitmoji-config":"^1.1.1","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"1d5497013474be12d67903c738c56322edfa87e7","_id":"html2sketch@1.0.0-beta.1","_nodeVersion":"14.16.1","_npmVersion":"7.12.0","dist":{"integrity":"sha512-kbiZl/XFF2Fy0K9GppYJPMxjy5U9xJokSZGfS/NtUH7p8KKENY494NZvJUxY4CN9cKZzD5/yu1MZNg6+6IlWOw==","shasum":"36bd893b5302d3a04df9970fd7da90a6d2d1bae4","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.1.tgz","fileCount":295,"unpackedSize":3728715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglku5CRA9TVsSAnZWagAAaYUP/Aw8MiOk6kPyvk+R/MTO\n1jKbYgl/AuUfBWzUikl3r5x0/0YWGdzGUfyTUPc4dgEvr//S1a7jQ75VKWeH\nT4X7ATUtSjmxg1LW8wTVLiay76+zm9mMcchigbk4nVr+u6WCjWZa3ne/X2UM\npnby/RYw6W4XqUBInL2ucBtQbolc+QX7ZtOExB7/ThuX5YSK1V2b2blNJ6Bb\nz/dB62/wrnmqPdR/DMq6B2/nPKNXqIcx3OtCnMiAe6WSkbANFJz7CU9Du2RW\n7xABZWJoNiaKJhUnX5mHZQxvH0vT8mChbkkc4F0kI0nmvM8E4ioUXTADty4k\n2E470UQySAwQLJTZb9JzSGoTCaCN6TZnHMBQr+FfOGMCMk4qI6hMoCLkr0qz\nwxgl2HnJM9vqw3urL0W3ZhVsIZGgNt7py48K3vQzgLSMHA7I/j7y7r+WiRPq\nWf2VGtsRSm+NC7GxNtqm3YLRf23TfYmqhGMK5VFsY74IraI5sR53Hu/tlPV8\nzpdwUN+luV9tz8A5c5K0/0V2KoIFR378FuIA77EtBAl16J7vG9CXgBfmwLjX\nDqyBxGcnCnGt/m/cOvoZoRyqrGDBww5gWnQ/45SfLaM8phwpeOYQ6UzgI23c\nSBCpjzamemMAvv6MpN7L0kbpKElU2QwcN1+4uyHlFczg+25ncFK/XhPMTX4+\nWCWh\r\n=D3Ws\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZbBhn9uznckHJ314eeBHqPlIcaIKU273gD4+OHhVF4QIhAOrvY5LKKgOQYl6I9/4mC+1sJlElM5k5mNJt97jI1Z+t"}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.1_1620462520462_0.5409659742277211"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"html2sketch","version":"1.0.0-beta.2","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","prepublishOnly":"npm run build","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"e992a9dc40345b4e3a9ff946292dab77ee4d079a","_id":"html2sketch@1.0.0-beta.2","_nodeVersion":"14.16.1","_npmVersion":"7.12.0","dist":{"integrity":"sha512-Pn72jYOi/XZgv1hOJDXqBYNNOFl962C+T7qq9fNqlHl2pugI5DnjxP7IeJc/Hjr5UW1Xeia4vDQlt5Y1+auiuA==","shasum":"fe78fcfa6ef1480a150f6810f418489da58fa943","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.2.tgz","fileCount":295,"unpackedSize":3728442,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnTf4CRA9TVsSAnZWagAAT3gP/RHSOZmjrrSbarzaCp5G\nrAYXbDQhLY/k/QXc6ehwqDOzuNKC8MBgWaXML975XM5QHCXP4EIPoeOoApAz\nB0ADErmIo/I8z3yhRo9bHStn1q+ZxEFuk+Xsix5Yukub27e2VX0iz7cUkIIB\nPPbX1IMMwXIT2Fg/FRb5jNiy+p6UJfc+6qzVE6HImLtucaTPGAYC+C8G2Sj6\nnZ+uwaWoJyorpy+snT0P1UPnKFJFzPXvVBfVaZdnF/xRw5z9mUihVkywzsO/\nHBfUHz2LxO22KqkVEhnp1TscmElyWWESwsBTFaJzf8xKuWuWarZEpigjo0Nu\nYaN4fchMG5g4gtzpDFVEfbcizPkEwxUzFtiU8il5sOPD43+I6lr4M2oPpOS0\nXmPFVD7QjFJJ4+WWBkCFyUADadIX6YqZxS6Z2wyvlTZLINJ9tPKW/rH8JPuz\nt3XYZOqx8uS4gDq/nWiKxbpcYpYWJI5fRdy5iHY2PFP32Mu7Ql6rFSMPt+re\nPAxQdQ9cdU+QYJUXELREaltiKFIjh9r9vZcfD6Eb8RpAN/7Alc9p7g57P9DZ\nlczGp/vU7grfa7gcM84bTj/3XWX9PHkirwd4fGkq7MT7UitB0H2QwhrSzxbr\nt1vKv62+M1IPuLGwTJR+Ld6jaaA3ZbjplIZ+32Yquxc/AeVpDasDXgEoU9us\n/NT8\r\n=OqEi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU/VZNH0XdrYNgPeWQrnnkUyguTYHex4DsBr7STzBxRQIhAOokXJZvgFamIdNzn+dxMz6F0NEXxFvDnuXfw0oJhK06"}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.2_1620916215642_0.1856009740817428"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"html2sketch","version":"1.0.0-beta.3","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"3b8d1915ccb454ca0922d17759feb213809a616c","_id":"html2sketch@1.0.0-beta.3","_nodeVersion":"14.17.0","_npmVersion":"7.12.0","dist":{"integrity":"sha512-EpvsxRDhXH+XrEpN4NcJB27BygEHn+KoV2k6jieOIbJGrUp3nQMKkknmVnRsEZDE0Sg/v4c9E5kGqjIpCGNC4w==","shasum":"8d31d692dcb24ae776ffc856abb7e277e7b67c96","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.3.tgz","fileCount":303,"unpackedSize":3732784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0g9jCRA9TVsSAnZWagAANSEP/Rs+t7zXTSfOjuMrtv4z\nZVwaQwfnsgE/xWzR108fWTFaRjbpATK0EZzaDckIvrHJirVT2eRnHjlJJ/EA\nyvR3XpIzGYQ6JEey+bnX+61bIds4gMZ9YS3GEt4NUGj+Ao9NpoyLDvznQ0Ha\nVp4lofv8iKbbnSpin58iTL3jxY6yyHZx8vfVlAiypOhzepBMH8fKQr6aekpP\nEVJBItyD1d1LcHx0WgdMyFp9/t9or93mCag/VWbdcHMn2s5NXT7RhecKKzXx\nsIfM4ZeBymLIe3A5ea7ZCEbaZcSYfSuig/91v8yDghPLsQ9rLvzAlAJQaqKS\nySKzkKq3X019CELe9wKPq5d5bL1tERl/lP0KpzeVGV4HjOZHlTvT9aTi7JpL\nqbTMBSax41EUEvRcu2noWFIyhZG+N9sBrkV6fchY+GibnSPNyf+6wF7WznC9\nlH4ZttFZdBR9ZfCPBdNwS2WVrx3hTb20x05LuZ1AY/xq8sUi6DLkLUwGTF4x\nctHg7GJJlAET1Rg5W24a+K1XdNMAO15Ql292cd/IgL9K2/rHP/Q1b0YV2IYr\nPpQ3cpmErClDNUCAEtXpeGQpupi81St6rffvp8nGSliaWWBSkT1z0tssomu+\nAIRBEiMfgC4SddkLrAV/QNLgUpmCheeh/XMBriyfnovq5RcOg4hprzWiucey\nGdX4\r\n=A5uT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw3ThFUIDZlilh7xDThAGnPnSU5YOWFyV1i+gzMKnypwIhALhydx5FulkTahwPZYANS543OcY82bA7uqzUs6AHLFqR"}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.3_1624379234678_0.7941428340408403"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"html2sketch","version":"1.0.0-beta.4","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"bb1a4c1343fbb97d2e9d1a7bc9f006eb0c6d1fd9","_id":"html2sketch@1.0.0-beta.4","_nodeVersion":"14.17.0","_npmVersion":"7.12.0","dist":{"integrity":"sha512-OHwSS6HeEbun8o09PS9RjHuWu4Mlp56ecoWIEED/QXSojM2kg04VOufu4BI4VBcVo/PhSZH5E5kN2dDqd6DXYw==","shasum":"7e45235f498b32c3685c9d0588fb01060b29add9","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.4.tgz","fileCount":303,"unpackedSize":3736982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0r3jCRA9TVsSAnZWagAAlmQQAJKPRTk3MgtbQsI2T6vb\nFyCNBuBmbGtX2251aq850c0tIvSHBY+TADdv42WhJzeG9sq4oA8+Rm7f3NwZ\ngo9vonlaDVOfZYWyOIoxCxaV7o59fR9mfCczuz+12EaPDd0smG7JDVph7sPI\n4z0dOTfrbVzL/PSNpzfZ13mPQiTnSq0VNCKwXHd7aDmNH8VodtreiMMFsDxy\nVh172Va+Sw4P4ukvYV5ExC9mLKh48kGKkfosRl5Yif5BN5j4bJe/dOtgBluU\nGxsN2SY8KHZf5J2o3InYnEOzEe8ySPeyS2R/XQRuX6htiA43GNgFh9qgi0gP\ndGQZMtR5G9LPf7+5+DT4WhVbydoSGC42XcfEev/BDJcgOVsKR3VRgmOpdwsZ\nlAL8KHqyaBwwjkfqOksCHNLkNbHCS5mxxPVIkLhCq9hpVBVy1JeMHiSP05xv\nL7CyZ4WTcAtqYmJEPSmThW8TPqDEl7sbHV4+UhVhNle5eY9LXiWgX3R9il/6\nkfAzWhhJtnCrQzNEeFVbQ+dOnPzNPpwWB/1nXHfrLsIvPTpFMJL3YD0zst0V\nuHVItvZhes09Km1DqAXgGKwY1fdgLePTP/wYpU/TI9vJZIcAM0KAXu1nqPD9\nlQgQagV9WUY7ODvixMr1Tftk39+2+HTAqfU5Wd11QGfdOcjnKCKVbE82KOKP\ny0AR\r\n=81dr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJzYoYj45MJxOJ3M9P+JxGpFebdnDF7KJhzXkxjSBikAiEA4HK4/MxNhlDKe25NTd4OnGn+UfbT3Rfhp9Q6P0hqT9w="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.4_1624423906701_0.3297828213460494"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"html2sketch","version":"1.0.0-beta.5","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------":"","publish":"npm publish","publish:next":"npm publish --tag next","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"bc8836987eb8dc1121432a01f42164a99dcc0073","_id":"html2sketch@1.0.0-beta.5","_nodeVersion":"14.17.0","_npmVersion":"7.12.0","dist":{"integrity":"sha512-T6hgIxTSd2tEnB52JqxMuzwkG9YpOrNs5MKTszlIxyz+Qu7FBOCyD1lQfD6jvXzoX2jh46h/53n7OlcRt/hztQ==","shasum":"3333a28a5235a73149131c86b9c4be069cdd0bb9","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.5.tgz","fileCount":303,"unpackedSize":3737193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0sHdCRA9TVsSAnZWagAAT3MP/3dx/DtamztlGWw9XgFw\n+V3+hIVWSGwhZFCIl5EhIC66WlazKrarmWSrznw9wISqYq2SPthMxzKgLJAv\nODl3IduvlJ/A6NK4AP2xpbw5vqKwTizrIsV+7LFcWLY5arP53mFB6Oodoyt5\nNu316XIvI/S5pyamCEMAS387V667nLnZDVr/88k3qmMAAxZoU6m1e4nKeJJm\nYlsh5gt4fNjveGnwt1PKcgyhsfq+zV+deWV/ee6sSTvAlS1w8XnDlblol4Dd\n58fP7vOtDtsiy2OKyCY3bPidAMbYe0YOC1IONsBVmmZMMSBs236z3YrYJG8I\nRRButi2VdIjvRDfzcQKHgTP9Rexxb3cbhMqi8nVLNP/jJCXfilPyvItWTjWx\nu+nAFUX6SDD7HYCcm/50rdBHSAUs/eOeZUkk3muopch1+kA4Qbz8X+f3YuUV\nr+uxM216eYVHjlcNQXloSbH16fBFR8WRLM6PiS1B/w/cnBTuA5HTB8BWhn1+\n6dRVd7rWSmZgG6u114VgCShX1+CJ3vawYUQpEoUOyJQfz+gvzDtYk3nftN9M\nRvP74T4ChOqVbPgVLd/FuEtgaQC2a2rO2lIMWH8118EOjyxbtVRJdX/LwSPM\nbmVUT7VzmQ6a77DjIsXpb83w0vqU8yFkpkTByqB2vf+tZ8NDP94zEg2Yt7CU\ny81t\r\n=Z0h2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXwWTHZdk8UZbSGF8btKOszzuisxU/SxVbvAvdL1Ep4QIgF/lcX+mttpF9lYxdjT1l2PT2wzvDoE5d/m16fKlp03g="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.5_1624424924570_0.1891989861155381"},"_hasShrinkwrap":false},"1.0.0-beta.6":{"name":"html2sketch","version":"1.0.0-beta.6","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"0804f5b04c1afbe6ddaedff8d27e3c1a64474db3","_id":"html2sketch@1.0.0-beta.6","_nodeVersion":"14.17.0","_npmVersion":"7.12.0","dist":{"integrity":"sha512-IrZrir0QJiA18IQYNEUvXl3nz1FIiNsGk5RwF64wiLyp1VpUTH+z8xBVbVhiumUsINEZFDpGScagA+BcUBlkIg==","shasum":"b8d26b86d0aa70547be45bddb7ec3faf4bab58cb","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.6.tgz","fileCount":303,"unpackedSize":3737685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2nYnCRA9TVsSAnZWagAANmEP/0VtBbm9jnb3EgujUEko\nWAp4/70FezeMCsk/ncwAJPEdtn4x6rkw+xUfLlsXgqKslUJSV7WvdUB00/Bt\nNxOMOHMf6DR/tmf5jgY8ClUOq/YPyD+yL5BxdCm+eW7iUI9pbZ1rRwAlR2N6\nt3OPMYNZR6lQC4TY7zfwjgG/sedwCIfJepC3vUwidA/bi7+VxUEUuebJnGck\niFAc4labjUO2Rpte47jgsPLhi4aQGt+4KuN7k4wE5EicQ639HEXbEfcNbhsN\nvqaW0wPnf/2HAVNpbxcls3kPtsI50CDySlq8IqMX/UXeQIkR2jIGm3BZfhyS\nJ7v0slfh1B/Q8pXnmjOUhPMcuowfy8ybx/O9eGU91JRqx/bY7otxfL5S676z\nwyL4tcitvJnaYSvGApWM2N2tQgXGAQjZgl9mcPOKmnezdn1yDqlObZS6zrDv\nteCrxdHRUn5FKb/8877krB9NH/nYcj4ErAtsXagxBkuuuKo91sqOxJYO6f94\n35AqkgJWHFXJedjX//CBkC0k+lj3Oh5TLrH5zeZH5gghGIR4mXlPpQOH/pys\nI1eIj/9jbGnmOTEgEaHCte4fInn0oax0a/LzItXqJVtAuubxszln+XCCmXAz\nBme97n+L0cIQuBiLV1bcqUos1GE6QBKyZgJ2a2usD7oQcXSI5/Xo7CvKlEB+\ncQc7\r\n=RsFE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXiSRtV13DAH0MJKgXZKGpPyUFw9vMwHmDFAZOonMh5AiEAnUZCaOypW2m6aOyuH3MyQ/kI4fgN0Npe9ZnYEpW57E4="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.6_1624929830492_0.7730028714861279"},"_hasShrinkwrap":false},"1.0.0-beta.7":{"name":"html2sketch","version":"1.0.0-beta.7","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"1626b8fef586917aacd7047817ef78168911616b","_id":"html2sketch@1.0.0-beta.7","_nodeVersion":"14.17.6","_npmVersion":"7.12.0","dist":{"integrity":"sha512-nEygbs/BIvfYrIgqNR+Zklv/wfSvhRLBOvuq8f+koqzC/J9uKpcjNZ3Pcf+kFrWg1ri4LJeHZ9UbgmvBHV2OMQ==","shasum":"348fb23d030de2f2432842d36cf438099ae90ba2","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.7.tgz","fileCount":303,"unpackedSize":3739545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP5JgCRA9TVsSAnZWagAAn3MP/1CAs344IM+iLohSV2aD\nN9ZivQ1y/kHLZSF4xFMyCKd6ZxBv7/Nv4ToKwJ0s4KSvg2G9QGWySP5o2dDw\nneCT5Vjd/f8RDfWkAXf3VSEzcfCHqSSCDGKHCs+rHWYuTjjDJs5M/NmenOm3\nIK75qzOsaBG+LTNEhavPZ51nwQi3wwAyZoXQ0t165jfzq8ixWhRgyR5+TTo6\nIW6lya8/gTUVX7wOfyE88T4JnqXXzqRtphdzQz6PwdZHK2ecm7aFrN07HEKu\n+7pmqqrR84WT8aJ8plYXVO3C2aJtXUF1vqlBr+HS+71O1MpdUvAB55+H3R0L\nSociCb5RcsoAa/ue2ebQf3G+dBS9npuTfpPILTeV+3NmJ91pNwvC8wapMvN4\npdI6hja8fROTJlV8BR4thPwNc8HNDjRfT0qD6Dg7VA2y7SJOJBC8dcXLAZSI\n4nq7uxqja+5pk4H0ivsJeK58MiGtGXxsujfqpaWTf0yLSxPEgBwnQuPU2tsY\n03/wAHmtJpGEHJJeXNOSZmUvn/cQ7SqqOIX+wj5YQEbhgkZWkbx9YXHliR7C\ni/ck91NIMWR0jJpern3EBUbGZ5IXyCVc8MGdouhOYp8P7s0sbRt8raALe3zb\naHPMuRM0l8/bUvQQ/ptIPhU5wPylzw60bNzrj8WnG9svQy84WV+FB6LVkJBN\nRY52\r\n=fOtO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFaZgRrW3OrigQHq0eEHbRpp5Ro8dL9oVMwMy9/juD/AiBgCj+MBuaHJVjJA9GsZYDxZtT6Pu3EbLfsh+muEH5SjA=="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.7_1631556192404_0.39820449820856973"},"_hasShrinkwrap":false},"1.0.0-beta.8":{"name":"html2sketch","version":"1.0.0-beta.8","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"5fa3a38ac9de23de4973a615f70994e776e9754d","_id":"html2sketch@1.0.0-beta.8","_nodeVersion":"14.17.6","_npmVersion":"7.12.0","dist":{"integrity":"sha512-wI4FqpJk0BZmmButVY//3HQ0QMhUmqNHKW/xwIXT9u5A1+t2TAvO2FXsSLhGZtARh7LawVgQEEXuRUbeWY4bAg==","shasum":"9d43c652eab610ae82e5f12c48d80350a16ba8ca","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.8.tgz","fileCount":303,"unpackedSize":3741387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP56aCRA9TVsSAnZWagAA2D4P/ijud+ZJpA+e8gkt4eHq\nkuWZUu6quf7iOk6nq5e+fmqRLT23ztF9iMncJ81yBiwYiVtHOqxgUuFW3pQO\nziunM3SWqX9Lq0VoqBlNb08h9ngaG4DTvaC/4yYK1p6jAuoV1zcQIvVuWXva\nrXOlqwVHsI5fXoqYmbtwgubGYehXPVM8fbdhFXxyWtG8trfph8DViYo+XNXx\nm+ppBZAoLlUu0ClDylMLnG2uZ+1gHzJXThAbOno9obSFwzuHcc9es3ja9gK8\nUSGfWukrYE5sAbCGG1Rcc456pucGoDCJZ3SH9/kjGsepJSYx+mgI9SFj4c73\n/skpJQSzr3Dymr4Y5Iwx91chco7VseuvoPNpLezx/ObOgQiZ5VFjE7URGW3f\n3HXm5kaHu3s6+seS3aJv9UoKyGcGJMDWRYpiGk4oap4EDu2UnGPZSMoh5pCo\nPWJPNyj9aDNbaayzeE4Qf3MZxuQpm/+dQnqph7EVjdxm/hA3qOcOZOLuuypB\nRqSZRxzmhLfTGi5K2qllSwX0Rvms0Pv9JSFHQovC/G8baIWlYQQVSpSsjHgZ\ne1M/7cUuJEl5niKa6CSezNhK90pojQpUaSNhhnB4T94jbhPUca/xV7HybxC8\n9yVRAfZL82lDDX8YikYHncrJ/h7rNNksXIiSJFpXsNVLUxVo96MPmF/avSow\ntml1\r\n=QXh5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDw824mepYyy3AY5Kue0B2GR3bywQXxSbs28y+hCEWcvAiEAqdO4n7tijxdpf2LiKl09JvqYGiIsggyHgAaNLLrb83o="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.8_1631559322501_0.5872663938322551"},"_hasShrinkwrap":false},"1.0.0-beta.9":{"name":"html2sketch","version":"1.0.0-beta.9","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:online","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:online":"ONLINE=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 ONLINE=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^0.9.13","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/classnames":"^2.2.7","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.16","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","puppeteer":"^9.1.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.4.15","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"3ad39093ad5282e3e42a817121541323fe501e06","_id":"html2sketch@1.0.0-beta.9","_nodeVersion":"14.17.6","_npmVersion":"7.12.0","dist":{"integrity":"sha512-SLNdVVoJ/tnCYUh12Kt+2akO4DyeZwR2zVqOHMicxXVWjIGQmGLLj2FxJ5g/07nOUKUfgRRU3SVIv7PH3U7s/g==","shasum":"e88dac808981a5705d105709b318dea4dc487180","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.9.tgz","fileCount":303,"unpackedSize":3741393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP6FVCRA9TVsSAnZWagAAdkQP/iUkpCv4nArqu+7Vnpt0\nXfVZvwLLDX6gH51LOB8k02IpOPW1qjeo94my7oXAKXVhk91Cz9J2M8t0tIxs\nR7Dd8sBU4J/kAqkurvsbKLmAKGLNoGUdrh9rBZqEU3qeRkKCnIVGf9wOi0DC\nDoiRBBSLmqTOjHgzYfklZegAJHehX3YxbReN2E+mHpbVujlCKWz5H/NzG9nr\n9yURfq9Rqv5KKPl8cO9lov4eNY38LZpHOMiYPHVqs1jJlw/++MkufWZlWkIT\nEfRP5MYbOUUMtkgHTvfY5/GTno6l7KizCI5Gw9n1/Qh07v5B3FsgqfFc+43a\naPIG0B6+G9t9hdrNPsWb/X4wxFSB9UW0pHV+I8n5v/2R5LRtM47qzay9mPo1\nLzbimgSdDNmYk2+Dq84RCPxANY3SjEEy2aKDrsZcypcEwcynE8eYj5MYxFLM\nHVThW8XC5cYVCTX2U6RNnA5UarIsxhqt2PjhHFzA8tYrrvWrPkf3tcPl9BoC\nsJQyBx1V2LFH5ogdq0DG5cODBkZQMF6M7J5BriBgfyG3l4IRb5EMBOZYJ1qc\nWIOhHpfmrHlAYMLDXwltQJpdN43mz/GF+P65nSGUMIFDHHPs7MuoFj6F4F+N\ntl9Qf88YmmNhSyuCmq+I6hwHmQi0nXZgOCRkiJut1qih9vF/fyso+Vg2yZFN\njRIW\r\n=3hmU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVbLjdoc3DMugpghojO1FgQ7ue9XUIU6V4fDCDCI4Q6QIgb6oyrKA/zJua//Lm00Fhjk1zArJfrsS+TKbFPwCbP24="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.9_1631560021103_0.5456706856370397"},"_hasShrinkwrap":false},"1.0.0-beta.10":{"name":"html2sketch","version":"1.0.0-beta.10","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:ci","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:ci":"CI=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 CI=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.5.0","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","antd":"^4.19.5","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"0c7b30a80e3ec66b728b92a5ad0032c8d7c1559b","_id":"html2sketch@1.0.0-beta.10","_nodeVersion":"14.19.1","_npmVersion":"6.14.16","dist":{"integrity":"sha512-/LRRuMvvphYXx3QJE3i7ndD6C4BhtPZxLs2M5ETpIgdujF7NVckOoO4JbreL9KZASUHLrhpTHcVzq4Kk0Ik5og==","shasum":"0d85fb6f54036f22760d368359054ca157bb0652","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.10.tgz","fileCount":304,"unpackedSize":3748640,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYIaWaMu6wfbhnqhMMX2ThRmbXJYPTRGLOytMlj0ZT3AiAHPODdYiVwNBQNAvVx81Uoqbs6rndRhlZ6CIzcP+nx1g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUWvUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7uQ//UXi+wXLEcXSTC0RmnpLIztZgEUylUs0uD1c9ZGvz4B6dDO7u\r\nOfBt/ZMZYLVwgijRtwJ+J0nMp3VLeLCpFqdP6nSeD9p/o9TKD653GuKRmXQE\r\n4v+5L8X9Gae1a7ut5/5i7d2BVPa5dCRUvZiJwvo+T5it++A5ZgLSyRQqZki/\r\nEsM5cQJQ0q2RU5OKq1krFhJl1CoRv7OpDfODJlO+85vOe8m28YhS/KJrjOBS\r\nRh7Ni62adMg8//qIptR7mgNYF5UOZWYKXLs3GMo86Vun3+tnPi6sHK6A+oZe\r\nn6QLRhJITxLzjKGI2uyzwPQ6SPweqamwBb6I5svAuyU9ATCb6I2HDrVCQbi0\r\nERYLj8QzqCoOCmquVu7Wc2BeVga16l0YTVRsKsnd3uEjEWpoV/IdmdyBPIuO\r\niPkYMvLg9paGEw3yw7ovCai1E23OOvp8hHM/H2wmeWcV8XSfxCT3zLYBKAYW\r\n5oGi3r6bvmaSisZHeKdNSQ2X4TWOVi7CaU03Cn/teNP/YduG6jcrJ7dsVNHX\r\nk8dcT+qnu/1osCeTSEwuGVUZHxtBB6H/oeKVeNHsomJ/mdHYLBhrcIA1iCnS\r\nnYMK4FyuYCecsQTd2PebkWZ5M6Yao/v6Hl5lv2HO6mPMPrKCsWe74Decwlr+\r\ntZAGFYGldmHIrY/6Zm8s40ujTfx/EJh94Ew=\r\n=hfTR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.10_1649503188154_0.31989485917841387"},"_hasShrinkwrap":false},"1.0.0-beta.11":{"name":"html2sketch","version":"1.0.0-beta.11","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:ci","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:ci":"CI=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 CI=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","commit":"git-cz"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.8.3","@babel/plugin-proposal-object-rest-spread":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/preset-react":"^7.8.3","@babel/preset-typescript":"^7.8.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","antd":"^4.19.5","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.18.1","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^4.3.8","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.0.5","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"f3487d33cc57faae2a21020a5a1dc37fc35d5f81","_id":"html2sketch@1.0.0-beta.11","_nodeVersion":"14.19.1","_npmVersion":"6.14.16","dist":{"integrity":"sha512-3+A37tokdV0ajofBXKPUP9Cvn5YHrw1SIADp6ZtcUMPwcQIaqFbi0RHP1+tmSJrqIvqVrciy5ETD+aHoViK3cg==","shasum":"320ba7f07a773a219d050c7df2aa99f3682e0622","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.11.tgz","fileCount":304,"unpackedSize":3748756,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBgqi+o3bU3KACvmTZm3duHrZaLJgZvL8hUUNZwz/Aq0AiEA73D1IkefgGBXojdDxr7VBpcsWhxCA1+omsk/AFL4bNE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUceAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8Mg/+KN+YpSxX1Xzaa9UTuYJkyLsLsg6dzWTXAgvNn5rR1NTU5A6S\r\nkK49w63O4XT89wfUcyLhVXX6jxoM3HNqqDx5taxJ5IgNMhco0oE7v3XWpryH\r\n2QA5g8FwGaniEUbUZKAaFxb5Np+z6YFZMlWRPH03rxeCIpUBbiN941PkJYuV\r\npJVRWhzCgBNALKd2HLrAWHPu1d8ar/V60sCzDL87WgRh5RNGzVNSSrnCncGi\r\n5YW6PrHMOafHAuQ3z9IgEq3RMVfgqMZ/M0yp342zfN47s8cXfyYgx2AnVXx7\r\nUOZXhITuib39BIiQWoXrLs8Cj3597TAJDQreidXjTHQaMJt/EUu5TGHQ+0rj\r\nGsehiPKsgBWkjxa2gkcBneB2EGU2q4nYC1qRqQTlveMEy8IVej2dEI8qh6P9\r\nktzY5GzZZ3iQ0M6gOxaCGPSTYeTCcsj7eGGYexM5Yeh6HpkiOe/us9VGMOFD\r\nCxyZKCG9x3K+4KndaW65+w6tbNGTelEpk6X1AIj5eOWNf+DeYQftWSqaBdP1\r\nzMygD/oD7KEmIRIPHDJl0z3lqHPQRlRWr2YkHVjUd6rD1ezk6u40wxBEVuA6\r\nSDJktp4n/tS3MVOJjK0WRCNqlOpR0m/clqWyj0C8GOogf7omwhsj/o25gL3W\r\nUfuUxAU3kresJecLwhAbaA4kYbbi3TeCY+U=\r\n=w6dP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.11_1649526656005_0.22286200032334857"},"_hasShrinkwrap":false},"1.0.0-beta.12":{"name":"html2sketch","version":"1.0.0-beta.12","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father-build && webpack","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------  ":"","e2e":"npm run e2e:build && npm run e2e:ci","e2e:build":"UMI_ENV=e2e umi build  --dumi","e2e:ci":"CI=1 jest --config=jest.e2e.config.js","e2e:local":"jest --config=jest.e2e.config.js","e2e:update":"UPDATE=1 CI=1 jest --config=jest.e2e.config.js --update-snapshot","---------   ":"","release":"semantic-release","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","prepare":"husky install"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.18.9","@babel/plugin-proposal-object-rest-spread":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/puppeteer":"^5.4.3","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","antd":"^4.19.5","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father-build":"^1.22.3","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.7.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^17.4.2","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"2531bfe781c58e8c6a257ed2208d916b4ec2e5f8","_id":"html2sketch@1.0.0-beta.12","_nodeVersion":"14.20.0","_npmVersion":"6.14.17","dist":{"integrity":"sha512-6KJw2r7xCPR15AghVwtVd+E1fCsSs6Re6YxvE3dv37PWV5doQwA3doN2jl2314ZVFQ8Ee17BYJikPUDt6nPtXg==","shasum":"16218d8f2a890c02dd1265b8c8cd760f1a0e6b87","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.12.tgz","fileCount":304,"unpackedSize":4302047,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSkq1Tsnns5WZUYNKcNSOI3eiU1Mnlqf+F3VMYDxof4AIhAIICHKHP3oO/VZ1Rv7eUxvEBFYuECW9i/G+0o6wKCURK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1suIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEjBAAjiCNWb+vQs6ByjwOKjEbXMRsXngEBAoJddPnpwVZDDCZ/l1T\r\ntvdb3oOc3HDsogaajrYW+h75wxZTYv7f3NWfFXOmXj0LJSI5ByZF6wMrkalo\r\niCfqqnmL3sImAzLpBi8kR4JCbmaNvBnME1uDr5SotWvynKp21DaCnPTFiEod\r\ny3rnlJlllO7m0KnDmJaMDKrWAr/eeqyjvYPjRyTdpTIhjG3ouUWMg+sw9exI\r\nRFLoDrQxg9uttgpE7IXRgvoY9KswiU0shChGtUQdVhLvb3B9n29SSDkXHQE6\r\nK988fTbiLbUS8Xah4vMb24KXTtzuCuaQJeb/9sAMSHDelWoD6r5Xr9uUjMY9\r\nXgvCEJNnXKxJVJ4+ahIn5FgS8TqtBSoZNZnoNymCCWjWaURh4Wi7IQ6CxLA0\r\nnSNJBHHJvjSHiVRA7FQG6EoHO6oqD7B5adkF4owNzaDxiRk3hzPcRUCvwsfD\r\nTaA3U5cleLaNtONrkXaa8+AwSYa+OqPQGeQde6XQ0loXzF+qE1bVDZ0lsate\r\nAUAE8WmlPE0HGVMaKvjhg0IVdBj3j6pCjgTMuMTTqvyW4phLJplxZaYj9/s7\r\naZRSAhG58GFVr76fG6u7hjL2Y2nEw1mITI2FAP3pP+q0Xyk+umxbG6oN67kr\r\nYTrwjCvSxp3ifVtmsae0WC5Y1V0j2esstCA=\r\n=2l4D\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.12_1658243976309_0.5525941621837491"},"_hasShrinkwrap":false},"1.0.0-beta.13":{"name":"html2sketch","version":"1.0.0-beta.13","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","prepare":"husky install"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@babel/core":"^7.18.9","@babel/plugin-proposal-object-rest-spread":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/fs-extra":"^9.0.1","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/lodash":"^4.14.184","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","@umijs/types":"^3.4.15","antd":"^4.19.5","babel-loader":"^8.1.0","babel-plugin-import":"^1.12.2","commitlint":"^12.1.1","commitlint-config-gitmoji":"^2.2.5","concurrently":"^5.3.0","copy-to-clipboard":"^3.3.1","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father":"^4.0.0","fs-extra":"^10.0.0","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26.6.3","jest-electron":"^0.1.11","less-loader":"^6.0.0","lint-staged":"^10.0.2","lodash":"^4.17.21","mini-css-extract-plugin":"^0.9.0","optimize-css-assets-webpack-plugin":"^5.0.3","prettier":"^2.7.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^19.0.3","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","terser-webpack-plugin":"^4.2.3","ts-jest":"^26.2.0","tslint-config-prettier":"^1.18.0","typescript":"^4.2.4","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1","webpack":"^4.46.0","webpack-cli":"^4.7.0"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"f48cd6c8ab119cec280b2e5fd678316a8e7847e1","_id":"html2sketch@1.0.0-beta.13","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-CPzTm0p4yWKNOCh1nzmfNiFkst7urVrZC88bhLJhmP+0TVv9InY590t4E7QSN4SKzHVBzyYXUwVYvPWUYpKwkQ==","shasum":"79cbde76dbe40bf2c122e56b37f856842a742dcc","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.13.tgz","fileCount":302,"unpackedSize":1836028,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDq3CMC52riSZjB41XiYlbdludMj4l7vgC9lD8V5SRlBAiB/nCoOts4Ipbqv9mW+VlHRuAgQQRDoF694QDjHlBujLQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD2gmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7sA//cGEs0FZa4WMFngLAdlLyqiyUo2CcxJVxjLaF7qCL2lNVNOY5\r\nUMbTsjk5o8QlSDRmLLxEPYkpJtbqENKxn+Gz/HZezz8Y7tou4Dz8mtH/POPd\r\n4GxcDAIUd04cvnlSgX3YJ6tgXWuEVY6h/jN/qF9gfqmPPPpW810BG2Gi9Srp\r\n2A/84NQB6ZP7Ne2cpjvrsrWzZVZ5xThs5Hb7H0cP9yCLg/kqlpl25F9x99U4\r\n7MaJ1wNMrl88dDRqxQfJkHwKRV6AqGjMjoJfmxIzPojIsl3ZnedExzTWJdph\r\nURvZKetKihcwhHE9TBF6exbDz2zQhypGvhs680/ZHrNoHF4roJjg2sRRsD/1\r\nBy+TypjXXECaCuq18PnQMFoPKWzcHpFu+1GhC/QzRSLU5hgAgWDf21J8WHMx\r\nBPJYc4YF6XV1JhwS47xuQ1yMy7ZnKUTOesXuJvA/OrpUgUvnsCpzXD2fSqQL\r\n0SfV3imJwvm7Q7rhAAwBy7F0H9Qc520WByq2DwN4HbAEe+AtEZUTKu8RtXwU\r\nYsjpaT1LCbgj2AiZjvJ2UmzvIvXX1WkzEJQ7zDbvjoGdqVEVHjg2jQ84CtNb\r\nhvdeuDw1Uu9ToadBQ7HZS3hFU9wMPi/qTRrovZkca7OoAegUdP0tdfu6vIOK\r\nw2GznN4jYq8O4BWpMCT5jcnzsBiLMtCN8Kk=\r\n=NX8q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.13_1661954086767_0.7009618832297864"},"_hasShrinkwrap":false},"1.0.0-beta.14":{"name":"html2sketch","version":"1.0.0-beta.14","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","prepare":"husky install"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/lodash":"^4.14.184","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","antd":"^4.19.5","commitlint":"^17.1.2","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father":"^4.0.0","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26.6.3","jest-electron":"^0.1.11","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2.7.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^19.0.3","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","ts-jest":"^26.2.0","typescript":"^4.8.2","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"05ce9c79ff8d96aca89c048009dcbd9ff050fe89","_id":"html2sketch@1.0.0-beta.14","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-C+Yu5hiyIjKQK7I+1s85hh3K4uirN7bIWE4pvyd1VROL5lFIfcYRRzGxv/CzHl8bH3OPYiifJh4UX3PmJAvvWg==","shasum":"4c2c88d384903d03063d7c947adacd535367d643","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.14.tgz","fileCount":302,"unpackedSize":1835405,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDqwSKMkvEFi6e+1eUfZDL+5FUorK7Nsww2yrzMxGnA9AiBy8qsTI5yuyb2XIsgdmFj17PW3Ye4t1xVmPdidKvMNxQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD2t9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmwBAAlnThWNWC7hdQMWaT998rU6fQY2pNd1mVSnA708CWlzUtUmlL\r\n+nrmy/X3UtCH5ROrQY9E9l2cl0uUSmpRaqdasI/PAYSrr1MfOKXfko3wwree\r\nd+iXryiVJ/gayMPWHtIENuHO8TO1HdAHxVVA/Jpjp2HH8qK2YoBkFuAhrF2x\r\n1PyAHO+qdGzWz0IMkj7RcEZefQVldgCwVnxUbdP6eDLbcdxU1FREEcTz2+oN\r\nT7BiVUacAAAHQiX/WHaJ4ZyO9rNFvKj0yhxmqJxNnORbiDIxz3iE+w77oILL\r\n5z/6aPfEFPn/2j3kYMIPftuia6B8l29B+ezKd+I7qq/RYw5glj5nOw5HYexU\r\nld7GcxoMvD7RcB2tTogp17BN0A381wO13Z3Ha2si4kEFdkdkW99/eVcSpMsq\r\nSNt0E0QzkwmDMnIr8drtaQC62dsMiEXtLIrhpl1zb9uayNSHV/rZWFQu16NM\r\nJH+JRBm8uUOWEaeeStiVwTm+ymnWgQ6Y5cVBRFgJ5IfXpTrWMNomSblS8Jjt\r\n/xS1CSLXXpXewIr/WiE5H22zB80svTebBre5G0HoDEhTgTItK+0nJCqnY9ij\r\nb7eJdr70mLhbks42uELVbCicGcjfHTFuZxLb7Vg6a7R30tXK4SrWvDXTERop\r\neNZZ5nBUqLEEu0mojWR6qqLnJ+ds6Vm1fNU=\r\n=0YYi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.14_1661954941086_0.178042599570978"},"_hasShrinkwrap":false},"1.0.0-beta.15":{"name":"html2sketch","version":"1.0.0-beta.15","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","prepare":"husky install"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"5.1.1","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/lodash":"^4.14.184","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","antd":"^4.19.5","commitlint":"^17.1.2","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father":"^4.0.0","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26.6.3","jest-electron":"^0.1.11","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2.7.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^19.0.3","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","ts-jest":"^26.2.0","typescript":"^4.8.2","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"7103c6234e6d0af659faaa4301e652e691d56c82","_id":"html2sketch@1.0.0-beta.15","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-kFf8TVwBUNq55fTC1R8V3yNfu2xsFOqUYqlBNo7SAn/RHcRCIBqM9S3NHSpdhF+FP6sNlzly+BjCUW+OmCGoIw==","shasum":"7e8db6c2165ec4ef3df5c87bf18cd6c118ec2c05","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.15.tgz","fileCount":302,"unpackedSize":1835541,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRyVoOIMpgTsyHoK5KxQy5j4ncZHzYcRicDf9yhoh6DgIhAO+IvmEp6vilQdppUZS80wBFwm8uYB/YF3W/pA0OtcQR"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIZX7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrblg//eFp4XXkuRqEzCELzI17cKnbBrDttGA9yMyF9p8k1qMAw8j4S\r\nMYxdEMdmeGNFw4oxyVmzlQ5+C1NZcwlCxBcfzP4DdOelOOmuy9/PtDgHJJDF\r\nl1l2h3Bm2VfwTffbgGyl4LfECTDyDfEdNe6LTy6hLXzH8rHWOMgRiYWzxg9e\r\nyUrmG5CGwt3jbLRcJau+Mi8/GBAUwQ5YkXhfT+EQWJFr7Nyi7kyGfukXbmwG\r\nFZbI9E8zijURCWbfjIZ6nucfXlOwFs25Kybitgfmu2abo9I+XD/axcBhCD4r\r\nCqErrba1kfTq1siSt2Qq7vdUt4bdSX+qavJzAIQykfJNQV+kteD5NWisdH8O\r\nNjQ0GMpgIG8vorIV9nao6QFPXojDH/8rRI6gpx/qxrbLRh0nPgAnEMbH3K6c\r\nR4M2fqY2109Gcs/Ao2C2hGc5CpEbugnXsqcCmbXliTVprN0OQWMRSjopx0eT\r\ndqTcYyvOsRdQuTxPYvEmBlM1eSJFDpW9+LB2htefzufsLyD4NnIWhdtTeVyy\r\noayF8MFbylg9Ia5kp5V20/cstDMp0akiVkSrrTtM7bMmK4UqXwIugTDvU9DZ\r\n2jQ5zpvDO2bN/TfL1hjRqjGpd24ZXLYFtcFQXQqDFEDL6J1vBmK9so7vVZPU\r\njxvi1Lv5B9o/8qGkCjeMS54GwPrc0W9maNA=\r\n=XBUH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.15_1663145467728_0.9359796907803009"},"_hasShrinkwrap":false},"1.0.0-beta.16":{"name":"html2sketch","version":"1.0.0-beta.16","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"umi dev --dumi","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 umi build  --dumi","docs:build":"umi build  --dumi","docs:publish":"umi build  --dumi && gh-pages -d ./dist","--------- ":"","test":"umi test","test:update":"UPDATE=1 umi test --update-snapshot","test:coverage":"umi test --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist src/.umi* .eslintcache","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ","prettier":"prettier -c --write \"**/**\"","prepare":"husky install"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/charts":"^1.3.6","@ant-design/icons":"^4.7.0","@ant-design/pro-card":"^1.3.1","@ant-design/pro-skeleton":"^1.0.0-beta.7","@ant-design/pro-table":"^2.6.3","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3.0.1","@types/css":"0.0.31","@types/jest":"^26.0.0","@types/jsdom":"^16.2.3","@types/lodash":"^4.14.184","@types/react":"^17.0.5","@types/react-dom":"^17.0.3","@types/uuid":"^8.3.0","@umijs/fabric":"^2.2.2","@umijs/preset-dumi":"^1.1.40","@umijs/preset-react":"^1.8.6","@umijs/test":"^3.4.15","antd":"^4.19.5","commitlint":"^17.1.2","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7.0.0","eslint":"^7.7.0","eslint-import-resolver-alias":"^1.1.2","eslint-import-resolver-typescript":"^2.2.1","father":"^4.0.0","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26.6.3","jest-electron":"^0.1.11","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2.7.1","react":"^16.11.0","react-dom":"^16.11.0","react-json-view":"^1.19.1","semantic-release":"^19.0.3","semantic-release-config-gitmoji":"^1.2.4","stylelint":"^13.0.0","ts-jest":"^26.2.0","typescript":"^4.8.2","umi":"^3.5.21","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=10.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"837fd35bf91988a2cc60c4827db4760f9acfa3a6","_id":"html2sketch@1.0.0-beta.16","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-UunsTbB+HomC/3aKSv5y2kS2sXHVeAuaDu052KWwOlIasw742r+L2H3WbfeRA+/tW7ihgYsoddhwoo0Kfw3b4g==","shasum":"e8cc2c0a4ac2382622f126fb23d87e24c558c8ce","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.16.tgz","fileCount":302,"unpackedSize":1827401,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDuza2oWEPdAtm7avIXOkq7nw4QLRz2yvzIWqCPM1rEeAiEAvB3QFidWBWS3s2Cv2cWf5aKfRI31aH5abTMuLhifw08="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUSbKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosEQ//ZoSIuif/E1QHn+f8EG5VFpvU4t03kV9fq3pkEFcQIKsFkw7o\r\nQCogXWGVdU82r1L176Qu9Bd9uWw7W0+REUtKcBeag8Y0nLOD4FxsCLgnB7uu\r\nOPNK7R7uin/cvr1cFSKnqmeL05Cjq5zHCWsOri7G0hY6kkEXN/gIBixWeBnf\r\nlz64nYJZ2eSqtQfBwUZBG6dYzRY3buRR5u4e4rCt2YxBmyOelE23jGw5i8vc\r\nEDVE3sZunTNygovk4XIEVvUm1mhQnh4LUkRam8+R9ItYl9aFK5Lfx/c1628F\r\nTxrYA5///Pvm1nZFzsEBbjWS+NZ6e/Jhj9aiUg2q4AEIq7VaEAB2jNwi+qqV\r\nxtrSkYgrjaFFdSuh8qhkQlqeqVjFZaKOey/6Td1ssAyqVB90MVNpvmu34MYm\r\nny16DybBowunsvWzchKI2XJQodXBVLtm08ppRs21pQbYKdJ2Y2PiuBM5/Bp/\r\nx49VV+cZ4C9PjVXDZDJ9cNVi5DP0eiDZca5w5QKZteOvFPvIP4fPijmdkGtG\r\nuCWVhq/9JnjEKQBxC74RGxPwAXhCT4z5NQlzza77+6NMi/1cF0uh6vOUoA+O\r\n+azTOAEgF7hpxjs9Fcj0BARPTl4hEoLGzikH3EodHbmQYNs2j1uz840Wv0g7\r\n12oy3Ul/NNg/WNx6wtBLOmYlhWmYeegcqwI=\r\n=su5G\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.16_1666262730105_0.1844407441369318"},"_hasShrinkwrap":false},"1.0.0-beta.17":{"name":"html2sketch","version":"1.0.0-beta.17","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"9276347637cb2d86bf938b6d6946b2dc9c465967","_id":"html2sketch@1.0.0-beta.17","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-5FQFkxXRzXvNpYhW8j/UOM4x7T207jnMDdjxEpQwOu7zmKriavGKIkqWI3y0JfFrBTq/jFyUAI2jrV+ALLwxZQ==","shasum":"cc586cff13ed2e245a7500a6da109749ab5798e6","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.17.tgz","fileCount":306,"unpackedSize":1780566,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChUlQL79MRwDrdcZ9wUvnwax4FQEENszX5WtrusfdbJAiEAmIxEd1LntlCs7e+eVMilZttgDKG8Aub8N6bwx/j36KA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwNbdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJsxAAkzAzyiwNh19SqFcZhogJfs3cPESg4Ew970Su2dzlD2g/0/9w\r\nKufLNOpS6kF4GhQb9c3AIoUMgUHSKXaNi2SH3FBOqMla176nZv2ArTljn1iY\r\nMJouk9REbRF+D/GZJFhlO2/yVZWH7P9p6x2iFOGkS59bgLCndNKHZV2cNZzq\r\ne0pWcgY2sCLfd3LZ9C4OehYIZR8xQlp4g1WKXgl4lmmAJUilDcdjmZuxJWAo\r\nx7LZk4Aa2nVbhmflPuIQkD6LzmvFwiinmo+kxPi2ac+U9/4koKkrM6T5SnbP\r\nsDR2Mojzi1Ts9WnkY5lvLFyea7ebMVbszq4xcHpDQd4cfL1UF2pT6sZARczf\r\nSsswU/j45WiXkBsGdk9sHNPaPFSR3iZPpBm1U0KUCOngVvyT1hVwWaUnDrvQ\r\nCTMqB/+Ol/GNKmZ4lYS8LTeljz+rswbEg63wDMazOcRCiJUgJsOagJO7OvIR\r\naXgofNZSAwKMMFVQ8aLVz9CCSkQCthtyUD5lRRAi2Pe0Fbmu5pg9vY6Gghur\r\n9qTnloSyLF/nslMLht6lN8Trx4DprLPzvg9ERJI+SPKIM7bjW8D6mmPXTLR5\r\nbQcZ4GY0wf8lWZFTCF0nq/53XRXXlG19wPX6EJFCE4DQHQGvzXSokapPVPmE\r\n5Yo/0N5CP4AgO5ClGk9yseVZ9qJqlod2ORI=\r\n=+oPm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.17_1673582301129_0.4150334464059757"},"_hasShrinkwrap":false},"1.0.0-beta.18":{"name":"html2sketch","version":"1.0.0-beta.18","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d ./dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"6bcc8380944d8be2b4929843e3d479a34e29f13b","_id":"html2sketch@1.0.0-beta.18","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-ECQXToXNc/sOynvRVBlGEfXrM8DiQ7lytlp5J/B0ayAiYwY706HiQbtYdF8917CbzcmS32YJsv+KNI7Ptvp3Lw==","shasum":"1e82d6cfa3bd396f75efc297109c659082aab00d","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.18.tgz","fileCount":306,"unpackedSize":1782782,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdoW4K7PqcrjPNOgeJEQaeQLN8rOP273bY6vQkoP3/RAiBv8CDO3o1QINRBytkXq6xPawlFYHCyaPTKLUvAEWsaDQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxPEoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYsA//T/excmcZvjqsjcS5ddA48z387bY0+67BYl4UusAhiTZeLfyK\r\nscA5wBOdsDS/IliAfBYGBDm1zAWllJL8ABAGZ4gsjQmPOWkv5iqLf068kWjW\r\nwVxuaKsa237OYXbCOzKxzSanpl7PyQMv8H06THGoilz8PR0w8bx296jxDV5P\r\nOBmZ+Q3+fJcyv2r1S6DtGYQBV/zP/9+jATNL2KJUGglK2nC/U6uB1x3CZ5ki\r\nnX2ylo4PWkGu93k3U9kRm2Olnha8inClE1HEkI9TVmSekVnMPm2/7O1qr8v7\r\n5wjfoDbdbu87KwMopik7zv/Zup9eR8sH2YeAs05YVgwY73cKkk38AVa4sfit\r\nZLslglDCHQCbp62nJLaT2FDtM7C6DUBdGvqkK8MuQ3O4m28Q8+KQ1uXVwFWk\r\nVJ4g3DnNPa4ehY9xOTN2h3lEJVDSsP5JDq1wpDMCTKeuWroIGPteoWiu6zbZ\r\naib2U5gXrkwFLuW9uW+hRJNwENLkmfKqFZzOD4YQB1msayFj/A/FlyhUdwlU\r\n3vHT/fzi+k5KxmsBGCYQ6bgsEMMc+EcVZZSS3ZYogY8F3vdsaYZw46vUXy3y\r\n5FE+Co1qQRu10dBCff/JMFuEVn02VW9Dq3JPzG8ciGYjig1ne7RWMrJHwQOv\r\nV+0yLfF5PO22ddNNj5Uiet8nGVJHLztn7/8=\r\n=trUt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.18_1673851175816_0.6997036285014464"},"_hasShrinkwrap":false},"1.0.0-beta.19":{"name":"html2sketch","version":"1.0.0-beta.19","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"d2a0d8beadfacd32223d89c67d322bd85a5d63aa","_id":"html2sketch@1.0.0-beta.19","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bv0fksrEfRi0m8CnDcz0ANmKQSo+W5TskzIeESHEfh7bbWa6ruCO2Ci262hXev0AIT6825+X46Mf6XKT5a580Q==","shasum":"4cb5b963af17c1a4b58096f7dc49bb0d0b668cbe","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.19.tgz","fileCount":310,"unpackedSize":1870517,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFnOfpwKXZ9aPkymeMFJTSEcP74VKStggiHYjwL940MAIhAKgutA2XUg4wh0KfmbyAVMeJhPcq97b7EY1OdsUkM/2Z"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj252AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPkQ/+Id97Pnq7nov6/9tLplUHmdGnUTNUBY3c8iNSIqXZrVwurqoi\r\n6CM1Q8llwtKN4HuHe4ZmVaybtFlXcDbq4L4bvA5HSYG1C5Dy7leuFOw0azOU\r\nwTdScfnwOq4mqxVs3ILT8e2UtAoS9l30T2rvHF5idOP+J6YBcOdIdC1vbPBi\r\npQ1UrrD3aV2OYn2imL/hplnOa1n5tIUJxKWRKRkdEioukEgcj01wqk6+a3ox\r\nIAwHLM7KzHoGMnQ0Upf+fQPBhKiqAu5c87hnUYSArTTYsk8LElKaYSajO/nW\r\nb/kVMMOjFsNyEE7tt5T5OgfMTyWPlRwUNM6Wx1NLjXa/FHvQbAjYRR6hQ9xH\r\n5G9QqPpwsYZKLX5UomWh3VCaAHKVn10SOOnlgO/jYp9LdK3KuYL6xC839kax\r\nRx+/MHIo1B9vGZz/kVWx5iSRevRYARMw4Hmkhp5b+liUKByZFDhbyUUY/2Ry\r\nXSrEzIpV0oa1QH5HKCxclbMYfZzc10a1lf8GEW+T1ozrXcvrkyVQABeT+2KY\r\n+n3De7nunY8SrkQe1VqkSYQCCKg9pw2CeiWwIjaLrTg0wQA7LNquiDzz3hOs\r\nKQ6IBvh8g4BLHb4M5I0buWIfPreO6TfrUuk30hGnIkbEcuQtNqRh2r1FN5Ug\r\nmDdRDdeF8hK3yY0zVCKYJdNbG23+S7EGFPM=\r\n=lzF7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.19_1675337087776_0.5517993177311227"},"_hasShrinkwrap":false},"1.0.0-beta.20":{"name":"html2sketch","version":"1.0.0-beta.20","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![david deps][david-image]][david-url] [![david devDeps][david-dev-image]][david-dev-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[david-image]: https://img.shields.io/david/ant-design/html2sketch?style=flat-square\n[david-dev-url]: https://david-dm.org/ant-design/html2sketch?type=dev\n[david-dev-image]: https://img.shields.io/david/dev/ant-design/html2sketch?style=flat-square\n[david-url]: https://david-dm.org/ant-design/html2sketch\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"6734005d45cf3c705a31e10e79739e0ac295913b","_id":"html2sketch@1.0.0-beta.20","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-9RyWyMlvvMz9WqOLR79UUwW6Ivc5Ymd0RtJAcwByJRmFP+8YynibE1XDyud1hifvO398TkT8QiaFpUV35c/meA==","shasum":"ddbb0178331c0859d5145a0eb63c826c9d14cc08","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.20.tgz","fileCount":310,"unpackedSize":1870694,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEht8uqQkh7nqdMtAM5ljDtAQgIXLrMBxk4VJZJCPVWfAiBHkXmLVMn8boptf0GUYbtIVMqPd/DcOgvR1w63dxlzXA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4GgzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosOg//fm5J8BQWWpBxKje5YL1J+7079a40pBgv0E9YXjSfWlPR1kbN\r\nnosfNZkPRhMoWplfd8cPh0x+SFZbcXzbiw/lzHaK7tw7xqTBalF14ad3E3zc\r\ndDrW+bgGnQsw+VqNiOSh7C8h0XqFEzogVREOI4LB32CfpQWLwU3R0HH2EWuk\r\n4oqM2prunmZeHeIC+th305ylT/Ogm722QoQLHhtkINC4hoXSf/JabdD+YFmn\r\nc4IgDVoinJKlUqjivfehd6ra3XXGtbz1tE50XwzhI3APMzOTu0IX2f11yHTC\r\n/CtAusXq1ddPRZ6xycLpLaQWNwXiO3dHy+PZLphH85cdpI2XJ/q6+W6OWvSs\r\nLcIHF6Amn/TFpXW/2cqnv7GCH46Fs7o0W5BcwyMXn5xP5u9IcDGEPO7MNE9C\r\nWtcOylaFZaPfqwHa3w9memKuBIbq29PPSF4o1niXjW/nCEBPCBR10tHY6CZr\r\njuM6D6u/kiI4gQZaqpBK1wZ9NfsLYAyEf4WqrowRNUlwFcby3IDKoIkitQBw\r\nCVg19NWyRU5U/4dCtN3OfeJDRqhDiq1sEHkIpwU66+YK9QwYEpa5pZAjj4AT\r\nkZn/SemUcWBKW69c8bMQRvIYxhcFapfSCyXeYkMIZu9x07mgP44YnOvpcmuY\r\nPXkA7O0hPZC2hbAGUO2CEw/vcf9LXqhc0Cw=\r\n=XUUn\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.20_1675651123443_0.3613753310822019"},"_hasShrinkwrap":false},"1.0.0-beta.21":{"name":"html2sketch","version":"1.0.0-beta.21","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","ts-node":"^10.9.1","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"f662d56f9cda7f04c2abde1b385a9d3ced007dbb","_id":"html2sketch@1.0.0-beta.21","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-aQOX0fqlenbXz6dQKEyHb5AVR92lBgirGl/1sX0/FsK1y8iWCV1RwtlfIXXvuEu4lf7Mwu6oL5SB2SfGZa3hXA==","shasum":"652fabf1f9a847519dbb159621fc48290be6eeb5","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.21.tgz","fileCount":310,"unpackedSize":1869727,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEQ10PW5MoBPeJFts2AdeBNueB1L6K4vn0RTuHYXmQKwIgIOj5GYxPJR6m30jDJnOFXRE/STIPi/Ma4h00UVXXlOQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5KhvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopUw/+ODEJbPgzqkeGbvUoz/LhwJpy2bqkkw/zdA/aVOJlpWzUFkIl\r\n4e0SwkQcI783ZD1VIvUA/0xxEH9RqF+Ws7IzTtCLOUkojlzpCCH8b7djYrar\r\nw+BPF/xcZ+p44yWxuihvuatneW3mFVaA0NXEAPDTqebS+F3XUjhnr1bk+b3D\r\nHbWiSUVO2mfB55eDjnd7xcHazg2WGwO36/Cwc8mmGNbB6j6/27XafstVmst7\r\n40PSVGEGC70zq/pjNHF8Fqvoh5pQw1BZsSyk02Mpqms2qGMbrq4jRzGgMFAp\r\nvLZxRKXv2EgUHk4V5DAKMHWjKykDnD5jkklyq7UtThjqQalLQMmD1+/R0ukW\r\nljocpjDkx2CqiDVqg/DXurlxGnCIfr5f/sTqoIUSKLlLjbNQkeSxAtQNrS95\r\ncYXD7cjuz+6XGNywx3pF6pyw3YbR+OzN4hjInUiNa5cZ8uKUXPGb5VfN/gFO\r\n+L54OgtrBD71hVvEXXgkO3XIAr7M2AM3S68dbvXEVO7bCnY2OaaxrTo5Fa5Z\r\nukhGvDTiQ7mnQSdNmhbnW2SrsyJdBPy+Fu27Nq2J8shk1Bv1kfesS3j4LqoR\r\nhPZPOgm58rtgjuIPG5ZcBSA/p30WdvaFkgyxbaY1uF6wjq4x4vly2mGHFwFP\r\niu7APW9d8y5i/sxr4DvISFWFU3bS6CCW93s=\r\n=GF85\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.21_1675929711366_0.3211321858256586"},"_hasShrinkwrap":false},"1.0.0-beta.22":{"name":"html2sketch","version":"1.0.0-beta.22","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","ts-node":"^10.9.1","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","gitHead":"85f01afa601a9369fc8903ff7420fc51524c8786","_id":"html2sketch@1.0.0-beta.22","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-7BHM/AO16WTMeOOlA+Ydf0IbO1kW0PNw1CwcgIRmGjGpkg7DQBFdY7L4eco0Y9d3g3wFwdY/1YG+uEap5Vffvw==","shasum":"523880c4cb66c4c0440a8649c5566d5e58325281","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0-beta.22.tgz","fileCount":310,"unpackedSize":1870036,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAzlb4dOnqh95TO2YexTeGH/PTagNlY/KyQgUXbMG+XAiEAyASyIizE1WKE9QT1MCvIF54WEpvibe0D9GobnaXKwyw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5L01ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUyA/8DnZblReO2F6vQNm7tLxbq4z0XNRTsShJ+bLmA+35hgNTsMP2\r\nTKtFNXLfRysuPAdK3KyqhjfWpeCtBn0YuZ0aRU1oaMyFAb/+k4bKPGHiPBkQ\r\nN0YDI0by/3lWvMiMo/AaGYZhB1GP/beGLfp/xbsgFoPwk4BHpm6c1hHNKwxi\r\n5rs87pAtsqHQZIzbE2kGYplcNgL3JfTF0Zm3F9H8Bz265P78HvAzAxMrj+U1\r\nSAL5/3vrXR2/uQb7w38+jS2BhKOzPWnU6ibDtjzny1tjD7vE+JmaCW6E89Ao\r\nhmP+8zCECTEogo7T7McOqi/Ef3/kUMMi51Xu+7I1/clLTczvBiDn78EqFMiu\r\nee9aU08Q6NUHII3VqsAZcY0lAFK3HwIIJxhFqIIwD7W0e6BPxDgEcYbKETQR\r\nfDvXAHkOS3ZtCViiwdXqLTsyjh9ihzn6GVhrjRj32+VeRN+fjrK7TGObnZfB\r\nSq3BHGK2xiQVhACHt5G87rUahj62rsOJwH9xguv0pqaJvNKFCgUDZDiCkzQW\r\nP8KHbOVYqmWjWxXGzQVhsTblSDBtWecrNGIT+8qmlgwnxyWl6fRIK2g8JAef\r\nE7fdyNgIYRTarTJK/dacmGlbAZaQNP1/oOiFyHcrhwO1wJm+1e33vy7THjH6\r\nxBYx9w1h1wOsRXBCZJaDKzVWD3+xy5WuWmk=\r\n=Izyj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0-beta.22_1675935028873_0.6775771121709713"},"_hasShrinkwrap":false},"1.0.0":{"name":"html2sketch","version":"1.0.0","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","ts-node":"^10.9.1","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"gitHead":"b47dc73362526a005ff4ed0e66c3654a467fef1a","_id":"html2sketch@1.0.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-o4Bb8mtEyz9LQgpUuRWRopfMivckHd3af9mktxkKEXBAD4m+Ybfqn3e2YgW6k39HlU6bIsEYOV9bvR1pP/3Q1w==","shasum":"ad1f531e8571970134caf71953cca03eb410c7a3","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.0.tgz","fileCount":310,"unpackedSize":1870028,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICjd/QDzYi3m20o/Hahk8j7KZEiMRC2t+Yf/gs1qi9zwAiEAhF2PSiHfRG230hFO0j44TKEPw86dQPYj7vHyXRKI18s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5NvRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpziBAAlqD3CQzwCZfIGAJKlJ4ASagpJqUyb/GgE44SCAkiWBLq8qSd\r\nGqt1pDepMNNN4e7N+lZar4Mczsu/nGX7rnecV5oWRaeuw3SOpMzhZOHl8taP\r\no6fHBsMISVW2f0663oEIwqk7JeuM30kUvHaO0nL5duhzKtiasBHGRfrbyD7D\r\nMBX5Pxd0856q8HPJ9eccBBosu5kOyMTPhyXZa/F0B6pZqdtJ1tH8f9rX+8dy\r\ny89rvp8FrS66kkbEy0JBwUpyYinPRWxVK+IxdSptLakVSJGbtX6us4XDKv1J\r\n524CnvPc403hpAzO8vQIur+WphG1UrvNJuyJ023cNnl1OURT8OZQb912aBua\r\nqv1M3EjE49NyHfTNnU5iyqRRYSdOp3WYoiLbVwaKjmv/8b2vswz9c3svjCYi\r\naBqW3LoVXYnqCNzKpSgkoLsEALgx4fllpfJKogv3I9uTUEj/iVkq9fS+kQqL\r\nO6qytIAslmvKsWJQRXOHTGSL0Zd/C3OauzMLDghk7F87OCd+TbHoVfqdg9Hu\r\nCGEZuYjj6AU3Z4GL0vYx498/+zc0Wy9eVHxC1dwwAURwbAhVxPTI1TgG1dGP\r\n2EVa6YAj1iSf787rEgOwqFgYDzxi0I19CIIyUdQ1nym/sq0XNODhikQs8VRc\r\njoo+NHxutuaGx0WyDeqY/c21LF5sHuDKSYY=\r\n=Njzp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.0_1675942865615_0.9225114104897558"},"_hasShrinkwrap":false},"1.0.1":{"name":"html2sketch","version":"1.0.1","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","ts-node":"^10.9.1","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=16.0.0"},"gitHead":"c0b598c5b426c4474582e825e339df0cfc24c266","_id":"html2sketch@1.0.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-2Ml773nnn58VJpe+Uf1Ia06gVQQNsG6TARG2UB2tvoXPTZmU3cEhUOAbDKRYhwoTzkSNND3LklUbF1FUyhFjVQ==","shasum":"acba5d92f40d96ef9c0a18d05d764156b67e53e5","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.1.tgz","fileCount":310,"unpackedSize":1870266,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkjHl2f8xI3M/wEXrgPzNpkHcL/z1zBTqS91ylsKUeEAIgbi0uwOvvaQzc3ZY9Em7jQeamBrdmbqHSbWHc4wW7zAY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7eY/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOgg//cnYd3lS+DIS/++HWFQybl/b6Jg3oV49ZxgAcmAhGKYWBpJRU\r\nJwW71rWqZo2lvfKOrQ+yVz/hW7rMngPuVUZMOmVvIC4zb5vFv5qydJruiK29\r\ntUC7fsW7fU5kAwsZSsI/pGcG0cZD0aUNZjxCV+NozU+ujne46uGWqpo4sVq7\r\nTDgKZfUf+70vZDewhbnXqlq/AJDlK3eaJDNIJqXtL1B6L5N3ks6J/K9+XrHg\r\nLM5X65MouFlod0lOryddrIeVjJtLubH4UMT6AlCMeWjlBw3FdfYKj+kC+qhK\r\n6nCkStC6D5nYoqb7X1Tj+F6xIFeWIv9memn60socFMRpcBXQe0it5HffoxX+\r\nIZrdx+w5bJjDDGLQN2yJZfjR1dThTI/XTwrsgFec7Hv1R+lKkgndcex+KDO9\r\nAlnGnP3vUeHxOccL5uMP9XxVZUjO4MUttthUi+DiKDOJ5+4W73nPxALaLRDr\r\nOxPG4EzLEGfrMzRVnkZsA2Ifh+LTocZG6wtPckBjnRqiRPo3t9+v2R6osiD0\r\n+vA7trM+EP57sj7eXxE6qaHlBGmsSG+0dUWzoL62fmDE1KOrlq1CGhKJtRGx\r\n612Ps7cf+oHE3QZQo6fkeKEiH3XB1SGcBUWKrZJC1D6fGr5usZu59JY6v0l/\r\n5LjUATqWYQDAX5OrvJBrhr36c33TfaM1P6I=\r\n=UQFO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.1_1676535358990_0.10463840008047187"},"_hasShrinkwrap":false},"1.0.2":{"name":"html2sketch","version":"1.0.2","author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"description":"parser HTML to Sketch","keywords":["html","sketch","design","c2d"],"homepage":"https://github.com/ant-design/html2sketch","bugs":{"url":"https://github.com/ant-design/html2sketch"},"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"license":"MIT","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"start":"dumi dev","build":"father build","---------    ":"","docs:preview":"PREVIEW=1 dumi build","docs:build":"dumi build","docs:publish":"dumi build && gh-pages -d docs-dist","--------- ":"","test":"jest","test:update":"UPDATE=1 jest --update-snapshot","test:coverage":"jest --coverage","---------   ":"","release":"semantic-release","release:local":"semantic-release  --no-ci","---------     ":"","clean":"rm -rf es lib dist build coverage e2e/dist .dumi/tmp .eslintcache","clean:deps":"npm run clean && rm -rf node_modules","ci":"npm run lint && npm run tsc","lint":"npm run lint-eslint","tsc":"tsc -p tsconfig-check.json","lint-eslint":"eslint --cache --ext .js,.jsx,.ts,.tsx ./src","lint:fix":"eslint --fix --cache --ext .js,.jsx,.ts,.tsx ","lint-staged":"lint-staged","lint-staged:js":"eslint --cache --ext .js,.jsx,.ts,.tsx","prettier":"prettier -c --write \"**/**\"","setup":"dumi setup","prepare":"husky install && npm run setup"},"lint-staged":{"**/*.less":"stylelint --syntax less","**/*.{js,jsx,tsx,ts,md,json}":["prettier --write","git add"],"**/*.{js,ts,tsx}":"npm run lint-staged:js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"dependencies":{"@sketch-hq/sketch-file-format-ts":"^6","color":"^3.1.2","css":"^3.0.0","svg-pathdata":"^5.0.5","svgo-browser":"^1.3.7","svgson":"^4.1.0","transformation-matrix":"^2.11.1","uuid":"^8.2.0"},"devDependencies":{"@ant-design/icons":"^4","@ant-design/plots":"^1","@ant-design/pro-card":"^2","@ant-design/pro-table":"^3","@jest/types":"^26","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.1.2","@types/color":"^3","@types/css":"0.0.31","@types/jest":"^26","@types/jsdom":"^16.2.3","@types/lodash":"^4","@types/react":"^18","@types/react-dom":"^18","@types/uuid":"^8.3.0","@umijs/max":"^4","antd":"^5","commitlint":"^17","commitlint-config-gitmoji":"^2.2.5","concurrently":"^7.3.0","copy-to-clipboard":"^3.3.2","cross-env":"^7","dumi":"^2","eslint":"^8","father":"^4","gh-pages":"^3.1.0","husky":"^8.0.1","jest":"^26","jest-electron":"^0.1.12","lint-staged":"^10.0.2","lodash":"^4.17.21","prettier":"^2","prettier-plugin-organize-imports":"^3","react-json-view":"^1.19.1","semantic-release":"^19","semantic-release-config-gitmoji":"^1","stylelint":"^13","ts-jest":"^26","ts-node":"^10.9.1","typescript":"^4","umi-plugin-githubpages":"^2.0.1"},"engines":{"node":">=14.0.0"},"gitHead":"eb701e2b888014a861cf8976fe019aa1d746cdfc","_id":"html2sketch@1.0.2","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-/P9NcVH9yBhrOkcnaFkAbWJifDO8Ii+CTIxy9gE6trSQvo2OH++TKQIP5MICEoWvgXpVhZ6botj7P63Krl1/gg==","shasum":"8911ddbe007642ad8f07982674af42f15d84633f","tarball":"https://registry.npmjs.org/html2sketch/-/html2sketch-1.0.2.tgz","fileCount":310,"unpackedSize":1870704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8jkGvcp2ribINrs5PdyUZgJt39VLNTahb78l7YLvEtAIgbdM2SAD895Os4jTy+0ZsIgQgrh5aLuHCihqoUxsA7vw="}]},"_npmUser":{"name":"arvinxx","email":"arvinx@foxmail.com"},"directories":{},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/html2sketch_1.0.2_1684723030856_0.02505079839586899"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-16T08:03:16.630Z","0.0.1":"2020-07-16T08:03:16.793Z","modified":"2023-05-22T02:37:11.388Z","0.0.2":"2020-07-16T08:11:59.885Z","0.0.3":"2020-07-21T01:53:51.207Z","0.1.0":"2020-07-27T02:17:26.449Z","0.1.1":"2020-07-27T05:38:29.773Z","0.1.2":"2020-07-27T05:43:40.846Z","0.1.3":"2020-07-27T08:56:06.505Z","0.1.4":"2020-07-27T09:00:51.341Z","0.1.5":"2020-07-27T09:16:30.689Z","0.1.6":"2020-08-03T14:30:05.369Z","0.1.7":"2020-08-03T15:04:39.538Z","0.1.8":"2020-08-03T15:32:04.526Z","0.1.9":"2020-08-06T17:27:02.754Z","0.1.10":"2020-08-08T10:59:20.433Z","0.1.11":"2020-08-08T11:28:17.620Z","0.1.12":"2020-08-08T12:07:37.967Z","0.1.13":"2020-08-08T13:51:59.340Z","0.1.14":"2020-08-10T13:48:41.033Z","0.1.15":"2020-08-10T14:08:06.068Z","0.1.16":"2020-08-23T19:02:31.018Z","0.2.0":"2020-08-26T13:06:44.801Z","0.2.1":"2020-08-27T02:35:38.539Z","0.2.2-0":"2020-08-27T03:39:39.613Z","0.2.2-1":"2020-08-31T11:31:11.072Z","0.3.0":"2020-09-07T02:38:22.097Z","0.3.1":"2020-09-11T06:07:41.075Z","0.4.0-0":"2020-09-12T17:30:11.441Z","0.4.0-1":"2020-09-12T18:54:40.603Z","0.4.0":"2020-09-12T19:10:31.744Z","0.4.1-0":"2020-09-14T06:43:44.402Z","0.4.1-1":"2020-09-17T07:12:33.125Z","0.4.1-2":"2020-09-21T03:28:38.734Z","0.4.1-3":"2020-09-21T04:22:24.721Z","0.4.1-4":"2020-09-22T04:26:03.129Z","0.4.1-5":"2020-09-24T21:43:33.924Z","0.4.1":"2020-09-24T22:53:15.005Z","0.4.2-0":"2020-09-26T16:56:39.753Z","0.4.2":"2020-09-26T17:10:15.902Z","0.4.3-0":"2020-10-19T07:38:34.557Z","0.4.3-1":"2020-10-19T08:28:21.350Z","0.4.3":"2020-10-19T14:28:33.710Z","0.4.4":"2020-10-21T17:26:46.425Z","0.4.5-0":"2020-10-21T18:20:21.243Z","0.4.5":"2020-10-21T18:28:01.930Z","0.4.6":"2020-11-04T14:01:18.503Z","0.4.7":"2021-05-08T07:43:12.995Z","1.0.0-beta.1":"2021-05-08T08:28:40.761Z","1.0.0-beta.2":"2021-05-13T14:30:15.889Z","1.0.0-beta.3":"2021-06-22T16:27:14.934Z","1.0.0-beta.4":"2021-06-23T04:51:46.986Z","1.0.0-beta.5":"2021-06-23T05:08:44.812Z","1.0.0-beta.6":"2021-06-29T01:23:50.656Z","1.0.0-beta.7":"2021-09-13T18:03:12.634Z","1.0.0-beta.8":"2021-09-13T18:55:22.840Z","1.0.0-beta.9":"2021-09-13T19:07:01.340Z","1.0.0-beta.10":"2022-04-09T11:19:48.381Z","1.0.0-beta.11":"2022-04-09T17:50:56.287Z","1.0.0-beta.12":"2022-07-19T15:19:36.528Z","1.0.0-beta.13":"2022-08-31T13:54:46.968Z","1.0.0-beta.14":"2022-08-31T14:09:01.450Z","1.0.0-beta.15":"2022-09-14T08:51:07.928Z","1.0.0-beta.16":"2022-10-20T10:45:30.344Z","1.0.0-beta.17":"2023-01-13T03:58:21.338Z","1.0.0-beta.18":"2023-01-16T06:39:36.117Z","1.0.0-beta.19":"2023-02-02T11:24:48.018Z","1.0.0-beta.20":"2023-02-06T02:38:43.705Z","1.0.0-beta.21":"2023-02-09T08:01:51.603Z","1.0.0-beta.22":"2023-02-09T09:30:29.192Z","1.0.0":"2023-02-09T11:41:05.833Z","1.0.1":"2023-02-16T08:15:59.221Z","1.0.2":"2023-05-22T02:37:11.197Z"},"maintainers":[{"name":"arvinxx","email":"arvinx@foxmail.com"}],"description":"parser HTML to Sketch","homepage":"https://github.com/ant-design/html2sketch","keywords":["html","sketch","design","c2d"],"repository":{"type":"git","url":"git+https://github.com/ant-design/html2sketch.git"},"author":{"name":"arvinxx","url":"arvinx@foxmail.com"},"bugs":{"url":"https://github.com/ant-design/html2sketch"},"readme":"<img src=\"https://gw.alipayobjects.com/zos/antfincdn/R8sN%24GNdh6/language.svg\" width=\"18\"> English | [简体中文](./README.zh-CN.md)\n\n<p align=\"center\">\n  <a href=\"https://github.com/ant-design/html2sketch\">\n   <img src=\"https://gw.alipayobjects.com/zos/antfincdn/9qm%24x99yzk/Logo.png\" height=\"200\" width=\"200\" alt=\"html2sketch\"/>\n  </a>\n</p>\n\n<h1 align=\"center\"><a href=\"https://ant-design.github.io/html2sketch/\">html2sketch</a></h1>\n\n<div align=\"center\">\n\n[![NPM version][npm-image]][npm-url] [![NPM version][npm-next-image]][npm-url] [![NPM downloads][download-image]][download-url] [![install size][npm-size]][npm-size-url]\n\n[![Test CI status][test-ci]][test-ci-url] ![Deploy CI][deploy-ci] [![Coverage][coverage]][codecov-url]\n\n[![ docs by dumi][dumi-url]](https://d.umijs.org/) [![Build With father][father-url]](https://github.com/umijs/father/)\n\n[![Gitpod ready-to-code][gitpod-badge]][gitpod-url]\n\n<!-- gitpod url -->\n\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\n[gitpod-url]: https://gitpod.io/#https://github.com/ant-design/html2sketch\n\n<!-- umi url -->\n\n[dumi-url]: https://img.shields.io/badge/docs%20by-dumi-blue\n[father-url]: https://img.shields.io/badge/build%20with-father-028fe4.svg\n\n<!-- npm url -->\n\n[npm-image]: http://img.shields.io/npm/v/html2sketch.svg?style=flat-square&color=deepgreen&label=latest\n[npm-next-image]: https://img.shields.io/npm/v/html2sketch/next?label=next&style=flat-square\n[npm-url]: http://npmjs.org/package/html2sketch\n[npm-size]: https://img.shields.io/bundlephobia/minzip/html2sketch?color=deepgreen&label=gizpped%20size&style=flat-square\n[npm-size-url]: https://packagephobia.com/result?p=html2sketch\n\n<!-- coverage -->\n\n[coverage]: https://codecov.io/gh/ant-design/html2sketch/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/ant-design/html2sketch/branch/master\n\n<!-- Github CI -->\n\n[test-ci]: https://github.com/ant-design/html2sketch/workflows/Test%20CI/badge.svg\n[deploy-ci]: https://github.com/ant-design/html2sketch/workflows/Deploy%20CI/badge.svg\n[test-ci-url]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ATest%20CI\n[deploy-ci-ci]: https://github.com/ant-design/html2sketch/actions?query=workflow%3ADeploy%20CI\n[download-image]: https://img.shields.io/npm/dm/html2sketch.svg?style=flat-square\n[download-url]: https://npmjs.org/package/html2sketch\n\n</div>\n\n## Introduction\n\nA module that transform HTML into Sketch JSON\n\n## Quick Guide\n\n### Install\n\n```bash\nnpm i html2sketch --save\n```\n\nor\n\n```\nyarn add html2sketch\n```\n\n### Usage\n\n`html2sketch` includes three methods `nodeToLayer` 、 `nodeToGroup` 和 `nodeToSymbol` 。\n\n#### nodeToLayer\n\nthis method transforms a DOM node into Sketch Objects without processing children of nodes\n\n```js\nimport { nodeToLayer } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToLayer method\n  const layer = await nodeToLayer(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = layer.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToGroup\n\nThis method transforms a DOM node and its children into a Sketch Group Object\n\n```js\nimport { nodeToGroup } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToGroup method\n  const group = await nodeToGroup(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = group.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n#### nodeToSymbol\n\nThis method transforms a DOM node and its children into a Sketch Symbol Object\n\n```js\nimport { nodeToSymbol } from 'html2sketch';\n\nconst fn = async () => {\n  // 1. get DOM node\n  const node = document.getElementById('id');\n\n  // 2. run nodeToSymbol method\n  const symbol = await nodeToSymbol(node);\n\n  // 3. generate Sketch JSON\n  const sketchJSON = symbol.toSketchJSON();\n\n  return sketchJSON;\n};\n\nfn().then((json) => {\n  console.log(json);\n});\n```\n\n## What's next step with Sketch JSON?\n\nthe generated Sketch JSON strictly match with [Sketch File Format](https://developer.sketch.com/file-format/) Schema, So you can just synthesize the JSON according to the [Sketch File Format](https://developer.sketch.com/file-format/) into a '. Sketch 'file .\n\nSo the Sketch file can be obtained simply by synthesizing the corresponding JSON into a '. Sketch 'file according to the Sketch file specification\n\nThere is some community modules of synthesizing:\n\n- [sketch-json-api](https://github.com/ant-design/sketch-json-api)\n- [node-sketch](https://github.com/oscarotero/node-sketch)\n- [sketch-constructor](https://github.com/amzn/sketch-constructor)\n\nIf you want to use the JSON object directly in sketch, you can use the [Sketch JSON](https://github.com/arvinxx/sketch-json) Plugin,which will allow you just paste JSON into Sketch.\n\n## Why?\n\nThe main application of this module focus on C2D (Code to Design).This module mainly refers to [html-sketchapp](https://github.com/html-sketchapp/html-sketchapp).\n\nhtml-sketchapp can directly transforms any HTML page into a Sketch document without framework limit, but there are significant limitations:\n\n- **Not supported pseudoelements, overflow,some kind of gradient, transform, and other properties**: As a result, many web pages transformed by html-sketchapp are not visually restored;\n\n- **Although html-sketchapp don't dependent on the framework, it fully dependent on the Sketch App**: Because JSON structure generated by html-sketchapp does not strictly match [Sketch File Format](https://developer.sketch.com/file-format/) ,it can't generate sketch document directly.What's more,it also lead to lacking of the ability to integrate on the server side.\n\n- **html-sketchapp developed by JS ,lacking perfect type definition, the project architecture is not reasonable, the secondary development is difficult**\n\n### What html2sketch do?\n\nhtml2sketch makes a lot of optimization on the basis of html-sketchapp, and takes the essence to discard the dross:\n\n#### Enhancement of parsing ability\n\nhtml2sketch supports most web page styles which is not supported by html-sketchapp, such as pseudo-elements,radial gradient, text overflows, and so on.This is important for transforming result.Perhaps reproducing 80% using html-sketchapp, but 95% or more using html2sketch. Of course, the parsing capability of the module also needs to be improved step by step by covering the parsing scene. If you encounter any incorrect parsing situation under the real word, please be sure to submit an [issue](https://github.com/ant-design/html2sketch/issues), I will solve it as soon as possible. The styles supported by this module are currently available on [解析用例](https://ant-design.github.io/html2sketch/e2e).\n\n#### Decouple from the Sketch App\n\nThe biggest difference at the functional level of html2sketch is its decoupling from the Sketch App.The relevant parsing capabilities (Svg, image, font, and so on) are all built from scratch.\n\nThanks to the JSON generated by html2Sketch will strictly match [Sketch File Format](https://developer.sketch.com/file-format/) , you can directly synthesize it into a legal `.sketch` file by using [sketch-json-api](https://github.com/ant-design/sketch-json-api) or [node-sketch](https://github.com/oscarotero/node-sketch) . Therefore,based on html2sketch, it is possible to parse a web page and generate the Sketch file using any normal server.\n\n#### Development based on Typescript\n\nDeveloped with Typescript makes it a good experience for both consumers and producers.Whether it's in the organization of the project, code comments, or unit testing, there are guarantees.\n\n## Develop\n\nRefer to [Develop Guidelines](https://github.com/ant-design/html2sketch/guide)\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md","license":"MIT"}