{"_id":"tuture","_rev":"46-4c6905191dfdd1f71921d5e1d274bc1e","name":"tuture","dist-tags":{"latest":"3.0.0-alpha10"},"versions":{"1.0.0":{"name":"tuture","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"pftom","email":"1043269994@qq.com"},"license":"MIT","_id":"tuture@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"pftom","email":"1043269994@qq.com"},"dist":{"integrity":"sha512-JfeoojBQvZEfYfJ/m7h5Xf6ncThcffKTLl0QRLMIqLqk2CaeGptUoFDyWSFZZCmcpxY/sPxDBgsms3WLihhB7w==","shasum":"bccf6abc7184fea183eed6eafa65d481d2395980","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.0.0.tgz","fileCount":2,"unpackedSize":278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+9dxCRA9TVsSAnZWagAAoi0P/AyHAMhFplVoO8beYREm\nrzm9mXKODN6goMpn8cxQm4hjALClo3BbyVHG5RHNEW2voWhpBKdyoTCkeBjq\nlp5r8DDwSduuSshWWbBd3rmN5A7ACnp1QTjK3ABe7sCw4Wo9+1OckFDyDtlk\nb4wmHjpGq4ERnrQO0/yRsuKBP9DNok9d28y8LvhWtDbPpfCk1CekOEfi6QS2\nPvjb2DhtFT6Ksd5UavxyaqLFJtsKCXMP8e9Cwcv8n+VOvjq/z8fO76W1SE6u\nHbkCUi2USvYNgV5MSg28Q8oMVG1SQMtvQlvmuluctkUXFcVAz12rsE7xGMoA\noBBCcNIRkHFPCTeHmVqH9xcbaVEGwnrq53qbc8pKomvk5zrsLxs5M9Q1Djki\n37OvciOlLv9sEl3NEBgHQOra9CIqBZxmz117U6tTaAkHHgOV8DcbVzK2ssum\nJWlj2mrbyvvYV/NRTVgnvwf1X3UxZLw3l1uGk3ifqG6SAsbpPXKEkGYXstTv\nADM7822hOn0dNCZjnanm00GhWl282aRYzzfaLIz3Qa9hJ11muEADAHIq76AK\nJopoZfaAjZj1gekaQAxdenuJFdaQ7rzY6KltIBX+qwNvx8QDtzuMj9FeNCau\nD2nRWNoseFlMXXMkGDJ3z8DQbZuBfXvNg61IP7VrtK1EaBcFxJ/mt7bPlZ4M\ngENP\r\n=Vjb6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU3VElRsrQwPsDQfrcW4EKVHIrbFTZ3Mijw0ohnN+ZcgIhANElaxFSiieuX1/KkAzCBK8hP5glmDaASi+rqSOm6gpj"}]},"maintainers":[{"name":"pftom","email":"1043269994@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.0.0_1526454128901_0.42775869825039337"},"_hasShrinkwrap":false},"0.1.0":{"name":"tuture","version":"0.1.0","description":"Tuture makes writing interactive, step-by-step tutorials enjoyable.","main":"index.js","preferGlobal":true,"keywords":["tutorial","learn-by-example"],"scripts":{"pretest":"npm un -g && npm i -g","test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"./index.js"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["index.js","utils/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"gitHead":"b70b99899879decc48e27d1ec9d891f4327d8c87","_id":"tuture@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"pftom","email":"1043269994@qq.com"},"dist":{"integrity":"sha512-H6w1EwYaDAbSiWNsIAmoCQuMcGqdKJ5AiwnQOjMORtwLhehUHlXOFYxqCrOf/OdzfqC7X8pmDguK1/Dp9He5zw==","shasum":"b9921d3e4877b5a9b59cbe52db58a92f5fb9b314","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.1.0.tgz","fileCount":11,"unpackedSize":18377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGPJQCRA9TVsSAnZWagAAR8EP/2umWTFvqYOIR7FpslGB\n1sH7+gs5e31tWUvOwg2ZFyjIJar0c+f2ZFr5tiZz9bjAgP4haoCpkA0ucedz\ns++ot1Iq8+LrO86GdpgdfeMOlbSZfxhkR7WgMIYRncse967kXdv196Fg/EOR\n5Gi6VM8qTMLFFJQRMhUHIllpS7Bqxj5TlgiB4We4nNT9EEVVBID0E+zN37yb\nwPj2aqW6P2gAUk8vmP0vyUc3qHcdx7ErxHMBivsnyA3/BjPX3Sw2ISQQSYF2\n1+po03oXiGhC0vi++kMY+y49iKhvdtIO5VCqOlktTDpbOhPYh5NWTTGPwTUB\n/KAitsPFCFnumhBEXYSVt+FqsHtBf6Q/PZ3mjgZ4nfLiRb57kxC/MbNGaSTI\nJTw1rS7V5GY0N2Ct78oWu5F37DDmICI7IUpA+jFscDAjrWOqVvyHAlCVaoaG\nLban/pfPWxf5rErZBks47s076XZFXFPTVAyrIyWPV/OsIQy2f4WZwZCUGCrk\nxBcmWKoVGIh3KsMwq0bzrH2iN2mPBX0hm4QMLFnQqP2pC6MSjiW8w9s0HgW3\nqu0kceWrcV8wcKcQ6beZO55F8TbxRiP2LuoM+uOXm0V6FfYfxtDuJHSFu955\nJ47FolRmRRVvah6yQoEvY8pWOsYEvLoEMoxZ3zH5qE61SVRZCEZCoLLj6f1t\nyi07\r\n=Kl1R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD48qm1lfJR5ah/FHzavdtZt0VetnS8js9BQxmr/Y7KVgIgN6g/iWE8pNVvHNeyJKK60bZz2OTflMHMVHzQSgy4ojA="}]},"maintainers":[{"email":"1043269994@qq.com","name":"pftom"},{"email":"huan1043269995@gmail.com","name":"tutureproject"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.1.0_1528361551700_0.8748162270388105"},"_hasShrinkwrap":false},"0.2.0":{"name":"tuture","version":"0.2.0","description":"Tuture makes writing interactive, step-by-step tutorials enjoyable.","main":"lib/tuture.js","preferGlobal":true,"keywords":["tutorial","learn-by-doing","step-by-step","git","yml"],"scripts":{"test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"bin/tuture"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["LICENSE","README.md","bin/","lib/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0","simple-git":"^1.95.1"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"jest":{"collectCoverageFrom":["index.js","lib/*.js"],"verbose":true},"gitHead":"619774a22e07e0febd88ead37591d4421ce15161","_id":"tuture@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-DhMYXWQ9aI/HkuFAtFToEvX+sZH4IecuKwFb/8Mc2ptTTI/4UpJfIVmVMzin90AZDOFNlLvUEPMtdjz5YeM+dg==","shasum":"0b059713b6f39a86ac4ce8e7aca3361da61c65c8","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.2.0.tgz","fileCount":10,"unpackedSize":17162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbJcWoCRA9TVsSAnZWagAAQL4P/2swnGsclcqx0OJUUZIo\nAoe3VCGW8Xb2rO7D9sPUAV2b9cTvnyHjk17Qbor7ERZ/Q96xC8iMEqYnXrin\nKRHi7PRi+PP51syWQ8I8vIvwGCq+sJGkJj/CydG7VG/xsUcygmS425OM1Yk7\nLl/iyEAI877AUehtm2uJeeUXnhjSIEzisvQhbiU2hhS410zXPZlFRo0NMwIn\nUEoZ6zOPT20nPVLM+Al57vNEcub0udthDVELrUqAFyhwwJae/a6Cz0WYlpTq\npH/dJ7ymNgzgPIpcRFhp7BZsJwv6r5f8SfVHo9FHMv8tIav6Cg9CcJfstUHB\nxUfcRA8AeR0d/yEjaFGbbIyG5UTi1bpK0rVWC+QjLTz6yflqGhzh5NJa+c+k\nbQtjqdscCJEh7U2+XSiYp15EY01ZGDlceI9fSDK1BAOyDHN1oQfiJk1vSkDH\nNJO6TezcxoZ9WD2nixLXxMWoP/Mt2x+aXMGm9tQsuwXf7Z+5/mnyXq9Jr40K\nVWD7pCnycyO8ovms22whZTIlXfnJ9iwNbDvf0N4cOJJrjUGx+AXe8Dj+nHgv\ny+VsneOvH/2qhIsidYpVr4LJSmZBoh1Ae4WrnG75VOHA1m8key4BBcszy/Fs\nDPqaB+EfIDbmSRyqHJYlWzUZjhaL8hPnTPxuxQfpHuducjqyVvkgOudxWMgt\n+Zep\r\n=P+UT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICR80JZuKvEHMK6a8dakBJz8ip4B2bVNj+wL1FUxJYuuAiEAw+2DNmmiJXnJUlxKpwIvbcuIoK0FE7vwNlj3HCmXC6s="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.2.0_1529202088202_0.9263020094094194"},"_hasShrinkwrap":false},"0.2.1":{"name":"tuture","version":"0.2.1","description":"Tuture makes writing interactive, step-by-step tutorials enjoyable.","main":"lib/tuture.js","preferGlobal":true,"keywords":["tutorial","learn-by-doing","step-by-step","git","yml"],"scripts":{"test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"bin/tuture"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["LICENSE","README.md","bin/","lib/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","gitdiff-parser":"^0.0.8","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0","which":"^1.3.1"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"jest":{"collectCoverageFrom":["index.js","lib/*.js"],"verbose":true},"gitHead":"9993dea109d2903e513dd7e0da326084412b7020","_id":"tuture@0.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-FSNEE5JRfPAWrUOknYCKZKy/BzMDvMKihiKP6lgWdV0wkrHVsth9D5a3UJVAe3yuXxBCnreTj7+pMKtetRjymg==","shasum":"804a7d1d4511916eb14b157ec99d102d4d8984fd","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.2.1.tgz","fileCount":10,"unpackedSize":21894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQ0DtCRA9TVsSAnZWagAAzHYQAIvhnBA38ASkIVIQhUFT\ndWWjy7QwnDcKcpcLeWQNXzkB6mtTGpSZMpBIErEqLxRRhoa2VZye2Q0cnaUb\nV4rWa4aQfSfneAtQUw3s51OalBcXrNVxMOvvN+RGU6mg8Ijl5CVAddh9MTen\nE/zQuXxPqfFJrBI15efVArRR6IWuTKeOIvSY27WL8F/Ih8b+wbkpubROeRY9\n+u/wUoNp2A3QyMlgmpdzJ51w5M4XZrm6EJzUe3wWRGuw6aS+KEeMX1aVzAXK\nllqpMc5JUE4qUDPT/X1duh7LrmhSM+OpX1JIDM5D0qh/zyzd9MldyjW3sWTf\nqNc4+puM7pXZlKFmbXRiXfF+hMzVnLrLwYJLGvNk/5g7TVNT9Nzp3NrMi8sr\nyPJqn2C/XvVPkCTvd1FpKIGLydyAfLbI4BtPkdPb7JmxafzX5aiVdzWCOqvz\nYemz7nH8GSr7XyYp+Xk5JeRdRr3WF6VxkjlFjnV7577QJpae4IQekc5rChd7\nSKXT/b8Nur5hBDLA8YS4MwUy87NP0w0KyZ89sg3MAYoEDX59qtgvNDb/KB0l\n7lgs60h+Wsn7rZLhtGOHx+4Fi14Gqpd+E5og0vNkLNoWVKKql/1/WkQI3of7\nrDG/XFcsSbrLJdG4bVrGh1qcMytn4mHDP8pH3/c32i1S/c0DQ7Xh4OCNmtrO\neiA6\r\n=lCrB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRpkKhIGWp7wNmoY0vMDl+NT5iF721L5wh/J3fCZg+zQIhAPdcq/ZluclJh9cSvxA+YmHpQRzliWHSg0qCRqCUXQAD"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.2.1_1531134189105_0.21048358439328685"},"_hasShrinkwrap":false},"0.2.2":{"name":"tuture","version":"0.2.2","description":"Tuture makes writing interactive, step-by-step tutorials enjoyable.","main":"lib/tuture.js","preferGlobal":true,"keywords":["tutorial","learn-by-doing","step-by-step","git","yml"],"scripts":{"test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"bin/tuture"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["LICENSE","README.md","bin/","lib/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","gitdiff-parser":"^0.0.8","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0","which":"^1.3.1"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"jest":{"collectCoverageFrom":["index.js","lib/*.js"],"verbose":true},"gitHead":"2508a58ce9963b6cb703f45f001ee9c32ebdb722","_id":"tuture@0.2.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-2wDqYJF1w1sghfPXv0cwyQSGODtfNkZkKD7CF7XJ2nqdrgEhrE3ZNt6RTsyv7I6k6HTTidGArVSQRwnDD3BR8A==","shasum":"12c352c50a8d6ce01f7874a95ff31e5650ca42f4","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.2.2.tgz","fileCount":10,"unpackedSize":22123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWByjCRA9TVsSAnZWagAA+esP/1VqOGTdAPG/73tUzuAR\ntjRkQaemj8ahdZqdUg3bUxDZoNZaX9mEvQohOM2MCdMhKtuzBV8JiBxH9x6f\nQ5Zg7d2P27d5z5QQNKOcenFP75DOrNUCOJq1mwjtQhR8H56GJOOVqNy7q+vE\niOwKZXT5tIxPg91fwcS0z6nsZfBMUfyL5D0x9nbkhGKTzvmYyaHu5LcnFeaG\nu+mSCADrbIgDIeRf0ztTb0xjLwavdQAtnAqtf9kGwv5bGojGtfgCbEYqGYr/\neEM2uPut6zCekanMDclI4gKaEV2NwdyRbcwO7EqIqYa0nbngeZxwT7MhwDb7\nJzOLAqaiyIzRAkoHpF+jan+YGwi2zpsnlvXpkWPLn4Owf07dQjtCUEUMzOKK\nC1861rl5qklVvNveTHO8QIPJ/qQGUk4QsNAwwdxj/NHNB1RizHnFmM2wl6r/\nv1Xo0UTKSrHkk+UXkQgor/zUszvIFFhjx4ssRMhW+7mlMjcHDMZZDMvlOQPr\nY+12WroyifYPpEEN86AG3uPHsmjgZk4KSqmSXKxyJxe3slAvfDnfiTAUnsCj\n+NVUGa1VE00iFWCnBZmxurxJTP1O69p2SFXcLVMZuZOmiMX3Ykw1A+dw6GmY\nx31aR2jhGTW5juUNOPILjN/6fVGVNPzof8rVpUmGJkN/Mha9zvc8+x+AoK6v\nsVaz\r\n=nS8x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBifDqVEgV/soZakR6ZeKIu/WFZ4nwtJiK/J7kiT9rbcAiBbRtNkbsHvKxq0vb1QMhliI5k1C4OxpO4gZduHK6wdAQ=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.2.2_1532501155910_0.29234377490653585"},"_hasShrinkwrap":false},"0.2.3":{"name":"tuture","version":"0.2.3","description":"Tuture magically turns your repositories into juicy tutorials.","main":"lib/tuture.js","preferGlobal":true,"keywords":["tutorial","learn-by-doing","step-by-step","git","yml"],"scripts":{"test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"bin/tuture"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["LICENSE","README.md","bin/","lib/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","gitdiff-parser":"^0.0.8","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0","which":"^1.3.1"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"jest":{"collectCoverageFrom":["index.js","lib/*.js"],"verbose":true},"gitHead":"f6074d2b55f083132c6ada351a2d3e06627a020d","_id":"tuture@0.2.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-jpYlZxG0U7OEo1ilozHWeVrxOcRWtqZMIrDhBKLbKKIqKAOKxx4fjZkxpBVSVPgnjtHQRkDeMh6A9mdukaD7ug==","shasum":"6ef2f9296e71b3e53ca95e74c85a709d1a8b88e7","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.2.3.tgz","fileCount":10,"unpackedSize":22287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbW9fCCRA9TVsSAnZWagAAEiQP/R8MF6/Cw//PQr8Fon1C\nWyDsY3UfMBoutLxWM5yn1lfrpraXnfuVzmWM5V95Y7Lenku8+KlWCxAHLUHK\niGjrOAUT03JU9wi/Y0ixzq9PyW0N8XGPaHQhIHdxEHOfHwOJhvnx9lceQUwR\nslOMMDu7yI+6Zn4Oqj5oemfFatrnAGL7WpiUE0CL2sdhHXBR5LgZ9Y8FouLv\nzY7TooGH7luzodJ99xIvtpBhqkEb4N7z82PNuYSGzPsT2I1hSXm4GZFlevWZ\n5L+Khose10t4wmXyEN0T3ocIvZKW4c7edNnf0j7KWJQER2CUwbBrYLMbWH0+\npGMponQf2fi+0T6UOIQIiW68/9DPk+o8GIpoYzUQNIbXvvVCRFmt8TDEEaxP\nerNH03huFFKG/+Ibhpx5Rdy4ebbdIn8zCXaTntTloYf7Zw1aX/9OTjWQeZIB\nlWEo/8K7v0CjLn4k5dm4vLYeHasFmW0hfmUPDwNl3m9uVpmIp9K6Wcli0bpJ\nMj3fkvjHR4GdxpBLjdm4y3eHxT3bKH7Q33/WUTibCyFsxeUCyLoFjjQMN7zZ\nGPH2SbupmxDAjYqa+AUMYdEFh7Ry5Xl05RazeoLRWiVSDztVpSke3FDoyK+7\nNFZ6Sij315jTCF6fOpiz+Mo9G33DMoP4VrQ5Eb9HufQlg26htO8oLe3pOyN+\ndk0m\r\n=HyHT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeoUjqZQl4NKqLnBoSOXwcwA9Kxwsf/fHAE9ky+5bEsAIhAKahbwTNb09ASnoJ0WYolCt6j+AQeb32uxmgL6u/QGHi"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.2.3_1532745666350_0.07535489063284628"},"_hasShrinkwrap":false},"0.2.4":{"name":"tuture","version":"0.2.4","description":"Tuture magically turns your repositories into juicy tutorials.","main":"lib/tuture.js","preferGlobal":true,"keywords":["tutorial","learn-by-doing","step-by-step","git","yml"],"scripts":{"test":"jest","lint":"eslint **/*.js"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"bin/tuture"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","files":["LICENSE","README.md","bin/","lib/"],"dependencies":{"commander":"^2.15.1","fs-extra":"^6.0.1","gitdiff-parser":"^0.0.8","js-yaml":"^3.11.0","minimatch":"^3.0.4","ora":"^2.1.0","prompts":"^0.1.8","signale":"^1.1.0","which":"^1.3.1"},"devDependencies":{"eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-import":"^2.12.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.8.2","jest":"^23.0.1","tmp":"^0.0.33"},"jest":{"collectCoverageFrom":["index.js","lib/*.js"],"verbose":true},"gitHead":"371d7784169cab40ae0bfb9f5449701e2ddfb833","_id":"tuture@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-IYgM+SZ+tNUCtFeNruDn+RBCyiwi59s+PMo9udJNKKlBu5GJD8FhXMeSTGX5K+7YMxlPF8lrVxvLz71NaluQbw==","shasum":"9fcb6ad29044af30acc6b54e18619062ef5e744c","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.2.4.tgz","fileCount":10,"unpackedSize":22428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXBctCRA9TVsSAnZWagAA/YQQAJqcmoAZuYnptX7bxAU6\nxULLnSjQMWPQ8f2cKMQHz+DAM9MtB+QRDkLWhUlLwhP9jb3AKFvLMrknT0WU\n+6tw5mFXM7rds4lry/DkyYoI0qwsz1TwhZlRLs4QxvVaGxBe2MPbuoAd+ehU\ndEnvzxGYLYS8xza9WbfxNPpYu8ZnhGLO1lvYG00PyAb/NP7Tw9AoULzSplgp\nutpikZgavbWe6J0aZ6x25NB3DxZ4LkEjcHYe9Vx7zGsjbmu5ZCjIUXwemA2t\noEf2dPMtKhCOzVhqmkuJXrzsZuQ85f7yfe63x9cw/EUdUPg582h3y6m+d0ID\nOdxTVliNjd0ejsbU+KB0RpkJb8taekveb/oHWbVftYp6XAW1vt5nq1RtRZ/Q\n9LhovQp48H9zZhwL8LWaRz1CPVdcaIvnOfKJfai4M8844m5AQAmjPePyZ3+7\nHDgPRQOMZj/mTcD8z4xlyy78TAs1ptbvE87piDbGQJTMjTILxd6dPUI3t0qK\nFuCl1LWD2ga4tpemNSFxiRaulp/V7y5EXjxgYvWleWv+b+Nv9x6XS///JSer\nB75d0RJWVtC36EQqKjg3M5OKYEcW8VvbnTLBPmRxHqlhhi3zk4JsefWV4wBz\nSRtJqVMj/Dg+T0XuqxADeGu1X0+brdnficwTTJnlssaa67eARG20adqcwHxy\nr8aF\r\n=Ch9x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICflrh+t3Af7RkWcu5HHdmUPpOU3Xj8jieEtt1CixF5QAiEAgGV6LvoRYLQHdZ9shqpVMruZOzZFjomNP/flcH67Zl0="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.2.4_1532761901784_0.09547319220149486"},"_hasShrinkwrap":false},"0.3.0":{"name":"tuture","version":"0.3.0","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"index.js","keywords":["renderer"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/renderer.git"},"bugs":{"url":"https://github.com/tutureproject/renderer/issues"},"homepage":"https://github.com/tutureproject/renderer","bin":{"tuture-renderer":"./index.js"},"dependencies":{"@types/classnames":"^2.2.4","@types/js-yaml":"^3.11.2","@types/prismjs":"^1.9.0","@types/react":"^16.3.17","@types/react-dom":"^16.0.6","@types/react-helmet":"^5.0.6","@types/react-svg":"^3.0.0","chalk":"^2.4.1","classnames":"^2.2.6","copy-webpack-plugin":"^4.5.1","cross-spawn":"^6.0.5","css-loader":"^0.28.11","file-loader":"^1.1.11","html-webpack-plugin":"^3.2.0","js-yaml":"^3.12.0","opn":"^5.3.0","prismjs":"^1.15.0","react":"^16.3.2","react-dom":"^16.3.2","react-helmet":"^5.2.0","react-markdown":"^3.3.4","react-svg":"^4.1.8","style-loader":"^0.21.0","styled-components":"^3.3.2","ts-loader":"^4.4.1","typescript":"^2.9.1","url-loader":"^1.0.1","watchpack":"^1.6.0","webpack":"^4.12.0","webpack-dev-server":"2.9.4"},"scripts":{"start":"node scripts/start.js","dev":"TUTURE_PATH=example/en npm start","dev:cn":"TUTURE_PATH=example/cn npm start","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"devDependencies":{"@types/enzyme":"^3.1.10","@types/jest":"^23.1.0","@types/react-test-renderer":"^16.0.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","husky":"^0.14.3","jest":"^23.1.0","lint-staged":"^7.2.0","prettier":"^1.13.6","react-test-renderer":"^16.4.1","ts-jest":"^22.4.6","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"moduleNameMapper":{"\\.(css|jpg|png|svg)$":"<rootDir>/src/components/tests/config/empty-module.js"},"setupFiles":["./src/components/tests/config/env.js"],"setupTestFrameworkScriptFile":"./src/components/tests/config/enzyme-adapter.js"},"gitHead":"510d5d07813188d02fd25bbf1e76b347949b265f","_id":"tuture@0.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-HZPLjOGuswiCS7708kLHdqlC3pWDpHOcZd3D8NjVBcdyE3s8FaW73Im05Oy1edHDVGCnezA4e4IRS3SkhgPfOA==","shasum":"5dff81448ea4fe0846902c97ed014022cd1b3ec1","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.3.0.tgz","fileCount":47,"unpackedSize":1535418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXnv6CRA9TVsSAnZWagAA+3wP+gNmvIlx023FEBV+9QgP\nivCjURsLfu4k3sHB7QKR/JGig6JFivRO4nNJCKrrO8PvqDu5M8DY3jQZCf4G\nKeH7TG975LxKKi8dgyWki3gC+WAPLipjZn3Q6Jw3GevQYEz3mZ58oZMkrMha\nLYxq7rIlbfOStHSWogIvwIz/j82cgFEi75lEwXVXE+fcZjCN0+sHlwvSig7t\n2K+NtYt3QXyqxJHe/qHzBoQuNWYLweCkzzj+pB1+vz7jkVNEjvp3gwlX+GtO\nowCETUObC96G5eVgg8Owtk5jyD1t1cZtZlKMkt2fmeD0vkkTZ7YbBeMYsXPI\nf68KCs2O884Ok9TQ3/oZm2g0AK7b0JjRaHFzEnFxNiyweOGBm462V4di8E1N\n3fgBmJbbUHnSOjf6yeDGx+9ZlIInEepaP8ZSURLucrbrBRc+mz4jCXppddz6\nWltm1XD+n6joHnKdMv9dqHNDJJJwFvuCx5aymzUxECiNmyB4+hCm3E2PVBiD\nD8BnPMFzYIxJS6RnGsdfTmsxHB5iTyXM9SkK/7Fr6sOF87iiOa3qg0/gLV6G\nxn21Ug8Bf7OR+YmBbNjrYB/Mf7VUzsv2Yoh2YF8TlYZjnhTNAtUFa8mNtfBG\nSwumgU4UsdnbjzFdpMbkw9CtMaKsEEai8EyecQ6LYeZEoytY4SchdwSUTQi8\nmiov\r\n=qPuF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWOQ8sSbgTwlr4+dxyZXv2Eqn0QYW83Vwqt6gL9KynhAiBpZ3ckyaCXc5MtQvwdc4DY4BH3P7AR4a/WKIEfD7/naw=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.3.0_1532918778243_0.3171419084975391"},"_hasShrinkwrap":false},"0.3.1":{"name":"tuture","version":"0.3.1","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"index.js","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"./index.js"},"dependencies":{"@types/classnames":"^2.2.4","@types/js-yaml":"^3.11.2","@types/prismjs":"^1.9.0","@types/react":"^16.3.17","@types/react-dom":"^16.0.6","@types/react-helmet":"^5.0.6","@types/react-svg":"^3.0.0","chalk":"^2.4.1","classnames":"^2.2.6","copy-webpack-plugin":"^4.5.1","cross-spawn":"^6.0.5","css-loader":"^0.28.11","file-loader":"^1.1.11","html-webpack-plugin":"^3.2.0","js-yaml":"^3.12.0","opn":"^5.3.0","prismjs":"^1.15.0","react":"^16.3.2","react-dom":"^16.3.2","react-helmet":"^5.2.0","react-markdown":"^3.3.4","react-svg":"^4.1.8","style-loader":"^0.21.0","styled-components":"^3.3.2","ts-loader":"^4.4.1","typescript":"^2.9.1","url-loader":"^1.0.1","watchpack":"^1.6.0","webpack":"^4.12.0","webpack-dev-server":"2.9.4"},"scripts":{"start":"node scripts/start.js","dev":"TUTURE_PATH=example/en npm start","dev:cn":"TUTURE_PATH=example/cn npm start","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"devDependencies":{"@types/enzyme":"^3.1.10","@types/jest":"^23.1.0","@types/react-test-renderer":"^16.0.1","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","husky":"^0.14.3","jest":"^23.1.0","lint-staged":"^7.2.0","prettier":"^1.13.6","react-test-renderer":"^16.4.1","ts-jest":"^22.4.6","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"moduleNameMapper":{"\\.(css|jpg|png|svg)$":"<rootDir>/src/components/tests/config/empty-module.js"},"setupFiles":["./src/components/tests/config/env.js"],"setupTestFrameworkScriptFile":"./src/components/tests/config/enzyme-adapter.js"},"gitHead":"cae867a06adfec8b101380a2fab46da5418b7475","_id":"tuture@0.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-z/QEcdKUYn477cKm73bR1KERlRmvFWne79EqQ0jH6zzztGQnXVP6W1GGBYLJJrMrPMG20YmnGPiOTgSGbRyNug==","shasum":"8f00310d2ec6888daef040558ea4418de4b3fddb","tarball":"https://registry.npmjs.org/tuture/-/tuture-0.3.1.tgz","fileCount":47,"unpackedSize":1534723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXrgGCRA9TVsSAnZWagAAtzQP/2O9NXC4IXbG+VHsPP99\nhzdnDQUMNmdKGtbObna3N6SGw9HYOxDExrmhutndynenkGIYfwcXRpsnZATV\nvie1lZW/ql6ehgz5xImyQ/dAqJDXh1WWZlTIptjcaX63lf5I6ui04XfS5vs2\nk22eFt0fb8WjdNP+8nwLwnqjTT+4j2pNEVOtzS1b2M7VgBlLWIBp5qA5Yfpf\nZ0H+ufeWI+Z0iK6fzrn/M79hd97fFzIMj2lafjeE5TKGRJJ7Eai2RT4ldsjm\n3xxxCJKD8YfJ9jHLSjTZCT7YKyb/G6qv7QJMQwwUxrl+bXGR1AlOAiaB2v+h\n5WBDoPlKhD/V0iJb0uSGMA1XSXTP0+fQ9I3gAddjJM1YuA/IQOcn0WH3RTXo\nJhBPZbr3ctwyUUhhXzOmQnOU5ah9pZ8aEidQuvEGToZJN/UtTY0GoTt1Mnsd\ngH25UuhZiXYtFXQhr4Co8E1pjNDmR4tuJKZSOIvlq9jTs2SHV1nMLsTTwgK9\njgbSEWRV0kZtECu+0jTvyILBlCxtVX+5gJcVQYC1u5a6hETlGoL1Hz7e0inu\ntLn4bTuGmUbe9w/1INizq9rTufq0sgt61XIFX1/hq7axD6/dWMwAeJ5MSh2F\nPaStcwHYylP36ET0l9LbV7YSc50sDLODC3hMpXcfKO3TDetaHMiJU+wuht1V\njcnE\r\n=R1k0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm6e9NhCTbk2y7dWNrZbf0yVYtZx9mswI85Zh6E96saAiEA2wTk+zYUT44PAqs+vfI5mGa0xLC9+tNK9b8ZnonepAY="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_0.3.1_1532934150133_0.1043406222491956"},"_hasShrinkwrap":false},"1.0.1":{"name":"tuture","version":"1.0.1","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"files":["/bin","/dist"],"scripts":{"start":"TUTURE_PATH=example/en NODE_ENV=development webpack -w","start:cn":"TUTURE_PATH=example/cn NODE_ENV=development webpack -w","build":"webpack --mode=production","prepublishOnly":"webpack --mode=production","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"lint-staged"},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","highlight.js":"^9.12.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash":"^4.17.10","marked":"^0.4.0","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","react":"^16.3.2","react-beautiful-dnd":"^8.0.7","react-dom":"^16.3.2","react-markdown":"^3.3.4","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2"},"devDependencies":{"@types/classnames":"^2.2.4","@types/enzyme":"^3.1.10","@types/express":"^4.16.0","@types/highlight.js":"^9.12.3","@types/isomorphic-fetch":"^0.0.34","@types/jest":"^23.1.0","@types/js-yaml":"^3.11.2","@types/lodash":"^4.14.116","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-beautiful-dnd":"^7.1.1","@types/react-dom":"^16.0.6","@types/react-helmet":"^5.0.6","@types/react-test-renderer":"^16.0.1","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","husky":"^0.14.3","jest":"^23.1.0","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","react-test-renderer":"^16.4.1","ts-jest":"^22.4.6","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-shell-plugin":"^0.5.0"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"nodemonConfig":{"delay":"400"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"moduleNameMapper":{"\\.(css|jpg|png|svg)$":"<rootDir>/src/components/tests/config/empty-module.js"},"setupFiles":["./src/components/tests/config/env.js"],"setupTestFrameworkScriptFile":"./src/components/tests/config/enzyme-adapter.js"},"gitHead":"ecaae51bbb7793fc595174fe0e237e5e56945a15","_id":"tuture@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-d8qwIZf8Kg+qQ4bROhKKY54JYI6olXMKqQlBn7Ds11NfZPB8T6Sv8gC6Fjzw4FITYhdAyWpnyc9PNYGUowjxpw==","shasum":"a4ba9a5ab78d12505f234e6a36b85ef13f06d31c","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.0.1.tgz","fileCount":8,"unpackedSize":6525418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbatjTCRA9TVsSAnZWagAAVxgQAJZDvXWJnHlqRSNWqCFk\nUw+krt1Ag8tI7HAoUW8LfbqWd9tVKimecFJ96Pyh87qHJRNvIJNjvsHNIZyC\nQ3aG9JhFAoVrkVGf+srwLko5LsygmfcSpICICi2Q3uVoZICGg0jZPrRJH+2R\n431xvkDOKC0PFKoyn1zeorv9hD410pvMgxCE/9OEfxaAkpb6SKJzocVTIXIB\n83XmhBqcp1d5ZfToDTC6lg6iebU5EE4Kj3osAHXWRWmxN5kNyRi2O8gr61+Q\nR6zBPAUJc8pimD7kOBel7u2maQWmA8CqGRdoQz0G8QcI7GgbTLVXpaRz3kZK\ncu3yJ2PtFbzJUYMFOZOX1YofrEfxSZ9gwEM9rEMVV4OBkoYjjkdSBYWPcMXs\n9ci8EVVAf/0UXgOFrcd8wJF1D4+8x22/k+NaVrT1OcXZ6fRPgNdVVK3KHtCG\nxvxSipYtHK8Bs6g3OAZaoMu5pWFYmpuW6bscEYC183CLBAQzASbpUfqOEOfh\nOTArzdZKQUh2dMnLSRzjpHInWC3/FexuKZS1DD5kWxvyHK4crQTJRL8KLH4/\n0iUfC21jQEsIDWY/Yfy7Z9QSV/VZKaYMQPhRCllUf4bd4lma4Tx+34D3Uzfq\nY2vh2AXZ+osOHhmPrgpqV5UEN7VcGNOyHNY3gH4DcNGkEe73jLOgFbbQfC8L\n1a31\r\n=HsFI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrCsZCR2o+upcmTKQI1Gi2SoKp97eAJG3nuJNCJqW3WAiARJ+EPzRGyofIAEfjlzPryHiWa38Iw20VgHfJ/lr8UWQ=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.0.1_1533728979243_0.2943937502904761"},"_hasShrinkwrap":false},"1.1.0":{"name":"tuture","version":"1.1.0","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"files":["/bin","/dist"],"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"lint-staged"},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","highlight.js":"^9.12.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash":"^4.17.10","marked":"^0.4.0","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-dom":"^16.3.2","react-markdown":"^3.3.4","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/enzyme":"^3.1.10","@types/express":"^4.16.0","@types/highlight.js":"^9.12.3","@types/isomorphic-fetch":"^0.0.34","@types/jest":"^23.1.0","@types/js-yaml":"^3.11.2","@types/lodash":"^4.14.116","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-dom":"^16.0.6","@types/react-helmet":"^5.0.6","@types/react-test-renderer":"^16.0.1","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","cache-loader":"^1.2.2","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","file-loader":"^1.1.11","fork-ts-checker-webpack-plugin":"^0.4.7","husky":"^0.14.3","jest":"^23.1.0","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","react-test-renderer":"^16.4.1","ts-jest":"^22.4.6","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-shell-plugin":"^0.5.0"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"],"moduleNameMapper":{"\\.(css|jpg|png|svg)$":"<rootDir>/src/components/tests/config/empty-module.js"},"setupFiles":["./src/components/tests/config/env.js"],"setupTestFrameworkScriptFile":"./src/components/tests/config/enzyme-adapter.js"},"gitHead":"6e3dc569a1d916374b8df0254c52098812656076","_id":"tuture@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-ZMsdWiB7hL8So7TuKTktVlQun75H4iYnZmDXJKKwiJpGnWBMOppwtA97NoJBYQRUNCfWb+Jf3K8EVut/0bYslQ==","shasum":"3b5dcabfa85aa7cd5646c2e163d9d1870b37a83c","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.1.0.tgz","fileCount":9,"unpackedSize":1123550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbvOtCRA9TVsSAnZWagAAncUP/0j3bFCVbT5Pv4kEtP9P\nwchWbDDT54Qub3fTrodGMsWckX5BuG26rFpE9jxJGKZKy7FFmtiz5yRtaoAD\nmaMzQMk2ZupCLw9GZcGgnyGe1EHTolB/xEhlA+bsQ/F+VnES8mc+CAvJQG4i\nhPJjiiXp3SkvvaZ2QDQ66GpgFqPnzJ1dJ4HJ58tDY3RIZ0/zSBS+jI2GQawg\nJ1RrwQLDGQxXOg4/Q3ZTKCN/5CHLjnAyCnYTFfFN6UIrI/8aSOAjlwuE3pp6\nNSfgqj2G+XoN1+6uSS8FmOPWXUdmQF8gF0xDVVU0ebEiJI1E2y2neJQurzdF\nx/eS5lj+/moUTF3hpDnzeFywoGnLno8ucaTnNK5KxqyRibPyOJdxOLv5rQlk\nBeUh4XEIjH+goqn185K5LilKNv6ANEa8zzzilS9zM3/IQMqPwAmcroubzl7t\n6uTfGsaF6lWo8G6GwlYN33vpS1X4iQJwcNJyIITDMNKVsYXLvynKh85X20I5\nUY6O8mC4Ws1WssfSzzEhnzLIMxkUFKYkMuKseYL7VMJK11u87y9nSWlBv7sE\nmZ/BU2x9t/wgub6CVPUxmfLjdYFBuxG9endaCszGb20pKa3+viQfV4GnIy2C\nO67bKc07l+uMv6L2F04HDOvG6BwGJ7U3M4uc7qhlsVPrEnoHoqqGbsCR3bsi\nbUaI\r\n=sZE8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGp3Pa5LyfB4nrg04QdQOpCZZ2e13Uuv44hhq/sDAK3yAiEAx1uhRv9v3TF3M9lSRTnytBfVtY/mppIOPPq/F1MT7JM="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.1.0_1533997996840_0.5336449397837126"},"_hasShrinkwrap":false},"1.2.0":{"name":"tuture","version":"1.2.0","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"files":["/bin","/dist"],"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"@types/lodash":"^4.14.116","@types/react-beautiful-dnd":"^7.1.1","classnames":"^2.2.6","express":"^4.16.3","handlebars":"^4.0.11","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash":"^4.17.10","marked":"^0.4.0","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","react-highlight":"^0.12.0","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/handlebars":"^4.0.39","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-dom":"^16.0.6","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"a5c014a6d05e23e719f0298f3a7f0fa1e1d7bdea","_id":"tuture@1.2.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-mo3/aULepJN6oTIb7RY203+LF+AKqF5nZJkkjdafLLfSNar156AUaHIqA1VCvh6sggk9E6Kl8nJjSWL21mVijA==","shasum":"c62ba03acec77599f0527e7ec6aa47826ce82bb6","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.2.0.tgz","fileCount":10,"unpackedSize":1247243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfM/hCRA9TVsSAnZWagAAdxsP/iT3iaJJlF14Gp/DKDtN\nw5GYNB3PVT3+aUqX7h0e4i7PipE27QOvg04svEot8px7R+IlKp14jjQ3TRdi\nRsvFhJpvF72Xly+s3xh4yx8ABZPF+t3HVg/4//kiPXk3h6dZaKR33RPq+bh8\nEf3Vph6dt06zd/Ew2l3aTfLFWbXPcKeJJtcy6P5SaZRr7rpRat0YNR+kbHUJ\nU2T/vw8XNHkzN/kas097HzN4R9TeF608OZw3XiN1DsY5E1R6YFAvSqgLNWRb\nauxOn171hAEvs4a5f/I01EIQUkoxFuAQ0zFIC1SKkGPyYaoFVt7+eliNVKuj\nXC9tpD9KorSxWw3rY7JI6E+BX4qjsMmbK8kuy1KtcDvbk5fZhfAtGUb3lZwM\neYwTdOzS6TejA9RjxblRQCNmkVLP/nroSoZU7kWZh009yCkmshIJg6g3we9/\nwcgwrl6bM6Ua5BeKj3VtYJ0rMRq7Awwk/mpSzR165oGycSlrPQ+P0CmFHgi6\nB1OryESORN6msAcM2oT8CMVzN4WIv7Yufx3b2y/LKivZI91BilK+RCVDpv/E\nFwCGZkXEytdLy6WPCEi1YeLpNM9z/fX8+qs7mH1zVG//swwfyyEOOf4UHsca\nr4N1O3w/y5q8AatMHMavBL74st6GD/KmZZ2bkjPWmQ4bKa479jU5S6ZEvo67\nn/w0\r\n=VesT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGMMvdzHnrZJwrN6xepjnsOJ60hkw8AaQYfBfEcQyd1aAiBwTcUcPNKxcoh+UNfg7tsbAwztiw2WHNLs210mrcV2DQ=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.2.0_1534906336634_0.5062060658283185"},"_hasShrinkwrap":false},"1.2.1":{"name":"tuture","version":"1.2.1","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"files":["/bin","/dist"],"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"@types/lodash":"^4.14.116","@types/react-beautiful-dnd":"^7.1.1","classnames":"^2.2.6","express":"^4.16.3","handlebars":"^4.0.11","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash":"^4.17.10","marked":"^0.4.0","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","react-highlight":"^0.12.0","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/handlebars":"^4.0.39","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-dom":"^16.0.6","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"c223e8b81b1bc26f95f1a9c18d5cc8c08ba30ff2","_id":"tuture@1.2.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-1tskEfoHm5oSw3EeYyXkMxSDsJT3DmFhonLhrz3JALkVqGoSJ+e3NIzqUgdnHhwEg7mmObtbizqboZndfnk6dQ==","shasum":"a8da2c3a22e7030e1b1c510673efa3bd12eac99a","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.2.1.tgz","fileCount":10,"unpackedSize":1247666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfNV0CRA9TVsSAnZWagAAq8sP/3NfoH6Pss4BWMoq2Tds\nXxvqmCgk32zr92yb86LBziMUD2cVhCVYamU0HgfNO23GPwuWyIbtNFt/k4SD\nub1H2gTJw4sC3WuP41FCWPqzR2k9mUmQjErP0hK/i5LMN+sQ6536lE0D1W1w\noyTa4sqL2ieqP6omeNPKRmZGPHRWhCZYonkjTw1k1I8ziap8nf+p1uLGifHW\nP+zM93E2Nmlr5amwKI9Ag/taKzsJzOx75HBArUypKJNUXd0Z49N5p47i1Vt2\n5fKoqv6Kq3fybPAVVDSaf3GuMpFiNAy17JBN5tMTPcW0OD1oG2hhx70nbYUx\nnT8OJjTRDYTOPg4MvT0BUGBfEuhD/YZxtmWd7L/SL8r/4MgSFCODKGhYRNcE\nKDLsfA/h7s3BJhB6KRI0zWConYDiPsHkUfY3ZPEHoMibFBolRbHAuZexQVqu\nzKd1BZvoSyLPOE0dGUMq6g4xU+uZGn0+wiBipfLjkwcooI7+QqQUwhLOUjW6\nT1ApDKnyYCaGuwMI14E1onVnxzKZZiPa/F15lH+bUJa/yDIiz09B56vFaNIb\njVuRGbTALBADbQYJDSvk14Tz7PG3QNZ4mRhF5FCkhB+VAexId/C7VxQgpzdz\nwKuVaZvhNoV9IMLGZM4hxdw3aAM/Tgk1M/J40j/YsXJ2I3Pu4Xf8Tz8pmqDx\nxlXf\r\n=bO82\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG2s6GTiEQYeBRn6puUpFzFMWd7tBZJbK32YmgqAIms7AiEA2b+br8PXN4qWYID4q03mgkWoFOBoaIj5aeXdo3DLFb8="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.2.1_1534907763642_0.1255273187688799"},"_hasShrinkwrap":false},"1.3.0":{"name":"tuture","version":"1.3.0","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","handlebars":"^4.0.11","highlight.js":"^9.12.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash.isequal":"^4.5.0","marked":"^0.4.0","mobx":"^5.0.4","mobx-react":"^5.2.5","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/handlebars":"^4.0.39","@types/highlight.js":"^9.12.3","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/lodash.isequal":"^4.5.3","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-beautiful-dnd":"^7.1.2","@types/react-dom":"^16.0.6","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"c4f5cc88f92dff0fac2e7cdc5e034a9fbb745436","_id":"tuture@1.3.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-WAUGJo/AuH2TdmZTxI+uJOPPfGheeUApPWFKBMsiLoWcXZ32/WkboBmdKNAoF/EsMwnnA1w8kJ3EWh3WjYf0Sg==","shasum":"3e357cbdab166b44b6af42d40314d28735381691","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.3.0.tgz","fileCount":10,"unpackedSize":1290961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkG5wCRA9TVsSAnZWagAAG5IP/3ZoO1Opf5hH+Th6Gjcb\nLsrbant6N7MZC5solULmlSfIQiQXXj7WK7EiQVbe0mQzmu1IMZyF9LBYJmLm\nCQxEY0Z8zb+hl5RawP4tO1o0EJ9dxf2Q+nl9BX2zeaB+PLcr9yHqP/pcD1iP\nbcG7t/pi7JLL1HMMPpnqRaB0SVW0YPCTLX3mULArNoqo5BnOQkG81EK/icKm\nwhBsUJ9NOC5PM1vBEiBZd7Khcy02+aMmf/ncyM6kFRQa1ClCi+q8S+WjESxo\n+bIDWi5jG83IrxdlBg1pkHFRFl0IHDkv2az75pk47ihZmxG/shmF5InHvnYD\n0QZh/hg0eMfxTWXzbwZRv2KBhFWTjXZpAfA/yCX+tZv6BGH2wk4qHRrnDEKk\nBs+iDdWLONdr7AJM+NQiAeuONmeySXYEd71mI8+gqbtTu39xKWP2NXEHjPvF\ncM4VkF+ioUna7L3omXSyoUVRXadc3o3bS7t4Wm9T+tu7K1YxORRK/JFzMbTW\nSNs/J7jwNVdTRVJ51IAZ7hwJmuSml2LeTBFF9cmVbeHsv/VoJHfFv9XPy6C5\nGb2X8v6b7WJ6xPEfwH+TGOS8+ttEbZYFH4heDGr+qcVRVC5z9OEWGdYc0y+q\nsQuM6EsK123laTpm/KAU0ISNN/76nWuplQPP6VOPtB5IVZ927yOgUyhCyCD1\nKvCA\r\n=NkBm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGOwMQSHTqFwUJOcpw7EXOEfa5ChC1VTmWBTEXpTLWoAIgQ7gXQ87UrYkiRRpNmi7yElJBjCO524jVUqD9zJJMtKA="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.3.0_1536192111994_0.5105107520116658"},"_hasShrinkwrap":false},"1.3.1":{"name":"tuture","version":"1.3.1","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","handlebars":"^4.0.11","highlight.js":"^9.12.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash.isequal":"^4.5.0","marked":"^0.4.0","mobx":"^5.0.4","mobx-react":"^5.2.5","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/handlebars":"^4.0.39","@types/highlight.js":"^9.12.3","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/lodash.isequal":"^4.5.3","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-beautiful-dnd":"^7.1.2","@types/react-dom":"^16.0.6","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"8408c7b9a4a9f78e8fa561bb3765d8882dfe5162","_id":"tuture@1.3.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-CTL/MC1RWxHiruQEgWTsh/jbXj3R+ts4q6psUh9qXQinqe9edZ75mjz8Ob/laiE1gFRPDdvz+d2RSTU8+rXKBQ==","shasum":"f055be9aa2eb132589e98af86a88c1ef77d9b6ef","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.3.1.tgz","fileCount":10,"unpackedSize":1289892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkiO6CRA9TVsSAnZWagAAxhMP/RWcQxAINEJwD1W05IyC\nutCjNotCKdUYH6cHlEQkdry6EuXNvSCy3Os1rHLczcFLh10EnaWgDB3qUZBu\nqw1Dsu9n5UBmSQQPerxPD7kI5ncUmSOdb09FNH5pVmsccMvU9E+xFGZ0aVC0\nYwCGs2noBaQRpH6HW0Cil7ZIn7fDnK7ARdlc0yDTIVt9wjorgcQEjuiKQ6hK\nbUArDVEBAqy/wGH0jJqRtJwDR4xMngDk2IiHQp09M5llH8WEb16L942w2Hv5\nQhrzF24h9pK3HrhcItGMhZxFtKuzYBLZJwsJj1QzbedOkJUb1eyizYqUXyv9\n9iabPwW41cJMuIYuX7hH2K1jsOJjnXvaa0FdmD2dIrf+iXHw7ZMK7KusPyE2\nEDamcKlUnc3l//pJ7GxTIODTr1rC6s6B1vOaL+HduD05fyIKVPuZx16yVtBC\n2X6UQvknK27ApmMrOF6S5zbwQ5OPvki8pM1AWelD+HwQgZDklFkqBv1DfDIi\njbj/NzyGAn/TFVaE+zWNsCprktgAVjJrzw61eTm8BPSF5zmnBwW8Y8JuBqSe\nr1x4R5Y6TVvAjRtn8afKVmkE/xAd3V7d61atQe3b3xUMORcDL8rbxj3SQlRN\nAdB52NJEEGQtdDZwrgQwBNndDTDu+ipll0ymhj9I8t27bNQxZVybtAOt3rZY\nZZxm\r\n=Ntwu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHOdYv+GP8d+42kG46QmxbLBzlN/ooWQS8fgkwMJ1JdvAiEA0pvwr/UIFk4JQYqZhz8852NJK5w3C9f0JulaQ9kRyw0="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.3.1_1536304058254_0.2638614221598923"},"_hasShrinkwrap":false},"1.3.2":{"name":"tuture","version":"1.3.2","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","handlebars":"^4.0.11","highlight.js":"^9.12.0","i18next":"^11.8.0","i18next-express-middleware":"^1.3.2","i18next-node-fs-backend":"^2.1.0","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash.isequal":"^4.5.0","marked":"^0.4.0","mobx":"^5.0.4","mobx-react":"^5.2.5","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","react-i18next":"^7.12.0","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/handlebars":"^4.0.39","@types/highlight.js":"^9.12.3","@types/i18next":"^8.4.5","@types/i18next-express-middleware":"^0.0.33","@types/i18next-node-fs-backend":"^0.0.30","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/lodash.isequal":"^4.5.3","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-beautiful-dnd":"^7.1.2","@types/react-dom":"^16.0.6","@types/react-i18next":"^7.8.2","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"15bb5d2741ffc39c2139aec3e3dd62c36397aa45","_id":"tuture@1.3.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"pftom","email":"huan1043269995@gmail.com"},"dist":{"integrity":"sha512-uJs8Egu+V2q28GTz/MXWZJNeX+qMEPv1RyYrZy/5WvbDuy4uy8k7lJgqLpOsx0mEcKaFvlBLOCQUOIkCQDNd1Q==","shasum":"34f674ae7377f0abcd28f0bd45ccfd965f52bb40","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.3.2.tgz","fileCount":10,"unpackedSize":1340088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbm3q7CRA9TVsSAnZWagAAKSQP+gNofB1X9aKC/3hqx5+d\nQ95JmTswvusGYwTUNdbthm2XXSbUUeMjS+KAG0wnU/iXzwWNQsQhJGrDUuqv\njJ6+e7tTW3oMxv4I1wZxd8b5f7oJD1qbLYaK6WAthU4hyD/0/letNjfj248Y\nmKtP7ROt5p5J2Z0YtGb/3EJth1SvOF94d/R3Buv2nntpvSK0a1O07wzoMIUO\naY/GkqkmEOkkfzD0jAm7z86DprT0gFPkFjlbINwp2y/3OnoE6uxhOReeIYhN\nP9D/1kFW4zlXXW2rXR6thedYB4Mrbcn28v8o4wBtpnn9hLISVU+ySmCAAx3Y\nd9yacSWBcoivLNOJHCYO8fm2jrAH91+m6sUhdmir+XO9ZK5/xY2vfERcxl9U\nyYS0gc8tGjUoQs555ntVKFm4dNsKxVsz7aa95Dne39uCmg76+YXkNj3Mhs2U\nILtGcNs5XzrJkVnT+sorClcF3FqS5Z44l1mm6kfGLwN5kVgIP+u2cBwgATiU\nV7d4wNSS2rF5/CFFTjUjqAknzhbB5Lxvzky4cC2JEnxM0F1225ZXgtExUl3e\nLPJ1jgIL6lxr+fsG2rcszpsb+9TOYI0w1i9iB9EeRxsAjto58AG62fyhO7NP\nv+VEMLVQJOKqEiRHAcOYRZ/W+KXix+L8ZjdVPNUmfOVd+C1oaXOKUXeYjwaU\nwApS\r\n=B3KC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyeyEoiDG9HZf38Pt3RR2vhn1sVZuoiS0WUfzBIrpcnQIhALLKVcS7HAbpVOONW0VZYaJomx2EFxouAm7WSoD318Yf"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.3.2_1536916155141_0.9913419694046555"},"_hasShrinkwrap":false},"1.4.0":{"name":"tuture","version":"1.4.0","preferGlobal":true,"description":"Tuture magically turns your repositories into juicy tutorials.","license":"MIT","main":"bin/tuture-server","keywords":["tutorial","step-by-step","learn-by-doing","git"],"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","bin":{"tuture-server":"bin/tuture-server"},"scripts":{"start":"TUTURE_PATH=example/en webpack -w --config webpack.dev.js","start:cn":"TUTURE_PATH=example/cn webpack -w --config webpack.dev.js","build":"webpack --config webpack.prod.js","prepublishOnly":"webpack --config webpack.prod.js","test":"jest","lint":"tslint 'src/**/*.{ts,tsx,js}' --project tsconfig.json","precommit":"npm run lint && lint-staged"},"lint-staged":{"./**/*.{ts,tsx,js,css,md}":["prettier --write","git add"]},"dependencies":{"classnames":"^2.2.6","express":"^4.16.3","highlight.js":"^9.12.0","i18next":"^11.8.0","i18next-browser-languagedetector":"^2.2.3","isomorphic-fetch":"^2.2.1","js-yaml":"^3.12.0","lodash.isequal":"^4.5.0","marked":"^0.4.0","mobx":"^5.0.4","mobx-react":"^5.2.5","morgan":"^1.9.0","multer":"^1.3.1","opn":"^5.3.0","rc-upload":"^2.5.1","react":"^16.3.2","react-autosize-textarea":"^4.0.0","react-beautiful-dnd":"^9.0.0","react-dom":"^16.3.2","react-helmet":"^5.2.0","react-i18next":"^7.12.0","serve-favicon":"^2.5.0","socket.io":"^2.1.1","socket.io-client":"^2.1.1","styled-components":"^3.3.2","yargs":"^12.0.1"},"devDependencies":{"@types/classnames":"^2.2.4","@types/express":"^4.16.0","@types/highlight.js":"^9.12.3","@types/i18next":"^8.4.5","@types/i18next-browser-languagedetector":"^2.0.1","@types/isomorphic-fetch":"^0.0.34","@types/js-yaml":"^3.11.2","@types/lodash.isequal":"^4.5.3","@types/marked":"^0.4.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/react":"^16.3.17","@types/react-beautiful-dnd":"^7.1.2","@types/react-dom":"^16.0.6","@types/react-helmet":"^5.0.7","@types/react-i18next":"^7.8.2","@types/serve-favicon":"^2.2.30","@types/socket.io":"^1.4.36","@types/socket.io-client":"^1.4.32","clean-webpack-plugin":"^0.1.19","cross-spawn":"^6.0.5","fork-ts-checker-webpack-plugin":"^0.4.7","html-webpack-plugin":"^3.2.0","husky":"^0.14.3","lint-staged":"^7.2.0","nodemon":"^1.18.3","prettier":"^1.13.6","svg-sprite-loader":"^3.8.0","ts-loader":"^4.4.1","tslint":"^5.10.0","tslint-config-airbnb":"^5.9.2","typescript":"^2.9.1","typescript-plugin-styled-components":"^0.0.6","webpack":"^4.12.0","webpack-cli":"^3.1.0","webpack-merge":"^4.1.4","webpack-shell-plugin":"^0.5.0"},"gitHead":"082a9b7624596caaae8cd7836f1124679a9860a9","_id":"tuture@1.4.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-NKx+iU6+Pr4bdFgi/bdMCHUkdkGlLxnXzPlrujVN7zjX7saFVmzH6z1JXZEpfJMhB1Vl5jJWdIdX4Q1x/pcziw==","shasum":"89a8c5f5b3bf4886b425160efb70d55e136d23e5","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.4.0.tgz","fileCount":10,"unpackedSize":1251505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnPcECRA9TVsSAnZWagAAGAAP/jowIHEbSHk3ji19W0Tf\nGAtURNDrwR2/sTnCE5wXcyAFhv088UCJ1rvNuN74BIrkZnTNMF+YyXoTwocN\n/VQ2rkodmaeE3eT5ntuGZwZxnOPKToIzF84hk1ekLLzZr1aeWTy6gTk9hJx3\nfxWRdb6MM4mLvMtf/SSYyxid4akaYzZlfQDq3fKsvfdOf3YIFc4Btsk9C/pb\n0B7uM1zodRTfIsZ0hRsk39eILf3xhaK/pU2lJa1OUJzdGOI0njJCi4jD9J40\n7eCPywhS2HnwyNkUfUe7L8PGoGuoa8GqOvGKeLi1HkqVgvfdnTipua+fPHMz\nPp+EcR8wmRG4pTWpk4xYSoFcHmy7geM9gs3SDaeCf1Z8oxwKFEYTBQ794hpD\n2v6IUg+BHbHOlySRWFjnCE+2SA/qxCqhonluIySLx4ekopCO9Et7rILdVcDv\n/BBCtDGsqRCrEhiMVZzfN6dbAtdfhOawi6VLyKMVYlVtL46RiqiGfFHaRTSX\nGTJyeRjp31BBvntbvdB1SKaOLhkzIAO8UhGJdq/52aX2mRxHokkfLQ6S5J6a\nKfYoaK/qmA7NkZKh+58kOZqnviBUEv4SuE/po/cxTLgHT5ewIlRbJn3gVoC+\nrCKVtBdZpJn7jknZuD1frcrN/0rjTWVIsuhV1NO4KiEsa5DglOURgTSpK7Bq\na6h5\r\n=gjHs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDePPD91VD5uvUIGTGEmfjWWKOCoCFjv1mdUhyuFe2m6wIhAIqlpfzHTxpiI0k8QX6tt8ucuNz5EhHe8Oqi02kMHfRN"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.4.0_1537013508190_0.9786090559305538"},"_hasShrinkwrap":false},"1.5.0":{"name":"tuture","version":"1.5.0","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build":"rimraf build && tsc && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.1","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","graphql-request":"^1.8.2","inquirer":"^6.0.0","js-yaml":"^3.12.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","opn":"^5.4.0","parse-diff":"^0.4.2","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1"},"devDependencies":{"@types/commander":"^2.12.2","@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/opn":"^5.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^23.5.0","pkg":"^4.3.4","rimraf":"^2.6.2","ts-jest":"^23.1.2","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.1"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["src/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"08d9798503492660ea1336c1f8a98cacb9a162e1","_id":"tuture@1.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"dist":{"integrity":"sha512-wn81K2x3tI27/V5NoefzwuOja6vCmXJmvMn46/zULoS2StE8rSVRTaq0L6TayuO+GGpKfUB2VMs//oT4yAbYaw==","shasum":"3088b31d849b2b2e448c6eb343a8542bdfa4f1ee","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.5.0.tgz","fileCount":27,"unpackedSize":4434728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvdAFCRA9TVsSAnZWagAAvDkP/1ECcqUnJKSu5oRFaMfS\nFZzM4FGB+/ZKa/QT6ydEGN7U9cTzMLfCvqjwZFpOYonubZw7V6S2HfwHn1gc\n1g+9UW3ynygduQgYQQYsG4Cbo52Iv3OYQwZCzYXFfPJuj0XwfVAMjiUdGFWz\ncFO60mwbit7fYE6RDoq/iBGpPtym/pHXddwSwsQ5MaLtAmk42CtQjh5cE7fl\nNSaKXE6tc/II4FiSPPbz1OEql0XSU9ypY15pwSHSNs7LrXzYVlfFk91fWZsN\ntkrwvzF0+FwXV4nALVSPX/UQYGnuNohGbqPNnKPGYKqwL67c9H1LG8P+wk8q\ncTgpNw94qLIvcRPIbe9FonT9k9zldfAAw3UQYEAwF6DInIShoHy9Mjg/cF1Y\nZ0YkX3bRikehAmlRYPH4sEqV4+/cHN3W6UUnepPXr/UcHXhyhFkpB+Ao/IHS\nEMpiFLlc6HNRec14CCffx1f1Amuk7foSp2EgpBgcM9JwiTlk6Q1yLjlpyb/8\nQ2UD+6DctLn6FWAu8soBr7m6Ad1c+Fpv1UWOlPdbpAo+c+Rr0CiXv1rlLw1N\nKGGy8YAUJsJB/kqx1w4fM+prt9I6KLqjOzG20Jzpif8sw4R+oN7sUPOCMqEE\noWkLB050e1rXqI2MGAQ4Pi2g6KzzxZBXPD3JjvZYUPLqzy6yN6HTodKNsCNH\nFCij\r\n=nvBC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAyoJjv4kTvQcT+tXoD1mB9U3X1OWcXIeBW+vdWiLttvAiEAn1swqA52QlzODsITnam9uZZ/oBZkXS4Zc4U9gXzBP64="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.5.0_1539166212747_0.8185734185719036"},"_hasShrinkwrap":false},"1.6.0":{"name":"tuture","version":"1.6.0","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build":"rimraf build && tsc && cp -r editor/build build/editor","docs:build":"vuepress build docs","pkg":"./scripts/pack.sh","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","inquirer":"^6.0.0","js-yaml":"^3.13.1","lodash.zip":"^4.2.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/lodash.zip":"^4.2.4","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^24.9.0","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","rimraf":"^2.6.2","ts-jest":"^24.1.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.1"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"454499e809d9b050fcc8c19c4ca15cc9af6dd8b0","_id":"tuture@1.6.0","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-xftJv+qqEPP+3Mr8A2XRB/eCVyh5WQTxnedDKG9tSTblX+7afB6ZNxzpjQw9XrDlGLN2j01nCLqEsSt8ai9PPg==","shasum":"3f0e7663ab9755206591296baabe3299ae3f5105","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.6.0.tgz","fileCount":75,"unpackedSize":6039897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtaiKCRA9TVsSAnZWagAAJaAQAKOQ+8KL+qgwqEY0jD24\nVy+J1A26iWDAKXvFciyCY0huu2e/3dPgssj38SUh5YKSMBFijQY55H/MyjDM\nLxpdhTNufPh2i116YvVWHzLqVb7/42EO/OLhgeDu5mSHtAAcnWBBlp6e8kZF\nLr6Oy26kM6MXwQ/DCvot0KXFfVrgxi1Dtmc1OV+GNwLNvkp41i7/i4KCI7g0\nrIjqTnv5B3RVE7IbaM9iOeaABTCdjps1k5oTRNSjNFoHnoyLPm32hwIo4W5a\nbBdEhsJCGHSq48QOcPvwQ2AGXowEtED5p1PJqh0EBNsJrc+3VoRHrd5SQ+gb\nvDwwh9/kALl1lpfuVspaTSRSRiyqcQrP4GiPhRQ/X53zula09xz6gZPcDQBa\nNfcpDLFh3+q8imzH8hYGq573FSW/nAhSMAPVlIkW9WNN7S+BCfPSFODRGSMI\nM65Fg85+lbArLLA22dGjwQBk2iWNERT5spU5QKHV0KeZIjZ+W05zJk1IgGO6\nwcmdM+GkzGMEhSZpAderFKIBmDWYBZi0x8+DeeqM0StDw68CIh1W3IWNqhW5\n4MEi4V9nrsxotDfrCQLqurQQViIPpor0izdqiqWRHK2j+wnbKrXuAIyZV7iE\nbSVALBhp0jinuwGbxsS5TMJAvmg5SjMlcLV3EPtkIDjjQMVkJqI/1V+3YTsL\nhi5n\r\n=YbzP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGOfr/IMax1u8pL1dBbP42/0B58k7lAsmO1glxKpxnd/AiAvZdoEFTUzAzhCVMuvveogieI/+WOCvAkL8efn2cMlwg=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.6.0_1572186250384_0.5611412257001949"},"_hasShrinkwrap":false},"1.6.1":{"name":"tuture","version":"1.6.1","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build":"rimraf build && tsc && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","inquirer":"^6.0.0","js-yaml":"^3.13.1","lodash.zip":"^4.2.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/lodash.zip":"^4.2.4","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^24.9.0","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","rimraf":"^2.6.2","ts-jest":"^24.1.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.1"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"cbbb27c542505f381292487a5768aa8b4afd7af7","_id":"tuture@1.6.1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-GAqxqRuBFJB/vbgDFvGmZDePPO97CkSmrou7HT2ImVgPbyNXSgWDL9GODlEPGPZUztgrQYTv9jtfPHQOolGi6g==","shasum":"2f85cec12c38d9b694d1781fedbdc061f3a07fad","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.6.1.tgz","fileCount":75,"unpackedSize":6039884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtsaXCRA9TVsSAnZWagAA02kP/ixzZZrmYov06q/wPRO1\nYx2OPlice2GdJdTlG67u+FtV5RuqPkE6PyAbpt9U0uBDXjMhfJvcqGGpuLaV\nrdZplG7ePule4GyJRQUz18UPwl2BuxnS8BhujveQogsZnERbe7o0TJuUm8si\ni252teveLe/kNbL+9AYdOHE5nP87Klb4eab4AcKtVFTGZg+mGL5uJN+pIbU0\nxCjNGnv/XmE9lv0WLBG5NJUswIPQoMJ7PL3Y005vjWg6L7Cp+auh0knhpuoT\nFJ5j021rq5BZti0ROdZp8ER7E0jnEKENczWwQGKHHZ18hCSYDm/B42lJl1H1\nQcMK91u5mFASPl4uG2ih6oRVgTnCREssuy7e2abw5Gr+yVT7Fdwy2dIXHfvG\nUGy9laJs3LvNRjab/Iiy7+XvLOcDEqwZI0ekllWcAyQbk1IoBu/G6nNiPhMM\n7IrJry6qgvGAGunrdEj3zGdaPiv/8HEYPVbSNp8496GtrhXDPNP2p/DlVLCn\nLPfDa5Covi1xri6+Z4Vu3gqkSXtbb6QNEO7J5FLyNqvGfCscNaJNCCg6XqzF\nXlr5JPvzC62VLQ+OVIlgAkfype8+1nVTy1R7QCMkLPvLcqQZs7/OTCQix11P\n67uC6JYC97RaBZ0PfCOmdSwto12TSy7EiTHk1r/qhsDM9puZpdLtNa1OPs0D\nE0q1\r\n=huie\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG18eEb92Czl+656GAxvw8P7xBAhMcaNF/Rr4Fu9dIDaAiEAgqolTi8T+NvgQMWOl6RTehioaopHNZDXLnT8YQX5TCQ="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.6.1_1572259479259_0.7027049852987464"},"_hasShrinkwrap":false},"1.6.2":{"name":"tuture","version":"1.6.2","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build":"rimraf build && tsc && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/tutureproject/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tutureproject/tuture/issues"},"homepage":"https://github.com/tutureproject/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","inquirer":"^6.0.0","js-yaml":"^3.13.1","lodash.zip":"^4.2.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/lodash.zip":"^4.2.4","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^24.9.0","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","rimraf":"^2.6.2","ts-jest":"^24.1.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.1"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"1e861cd3582121debd26f93669da5e3871bc457c","_id":"tuture@1.6.2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-sNsOuR9WY6/YrqhmVhRTIVqMN6mXWVzzcE8v633pj+U7pQW/rL7sTx1OYT5ixRuoK2LQiQCxwWuwDNnFOJacJA==","shasum":"9b58175ef402b6984f5532b4d491f85c1b6ed90d","tarball":"https://registry.npmjs.org/tuture/-/tuture-1.6.2.tgz","fileCount":75,"unpackedSize":6040903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduTm+CRA9TVsSAnZWagAAztgP/3THJv5Ldqsdm55I25UC\nwiUUiT12vKcmPFBd/Bz6q5R7V3eNbzlvNWU5LxmOB14g6g053jdDvAGDf0Za\nOCP+gnwxCepY2j/xRy7wouQUKNPjDQnvXH5eZPQnSfg3CB8YF2/b37Lnfmcm\nzBdSKg4swVH7xIQ3BofJaI6DlDxJdeYQSj2oYAInQOLcOiJascqTEu+eYYYy\nwKg25clzvbbcRlwghk087MSeL2hnCDqhSrhcWZgybFS8u2OYtVVFuVdnvlKv\nMck4Fm7VgACfxyuvKt391LKZF74+iSFwrB0RD6rMmlOLiAiaKiepJ41pfwGr\nNQojt1w9HzxDjPmnHVbjfLIyF0iHE6K1rIC8KT3noxsfXpyIuazT77hOMWTS\niaHVGlCzxTNYDsBhcdQT0/xvS9mi8lwdpK4sCKD5hl9h6GixddMGefdtmnoQ\n3ZirRhLZ5r2Jp6JuLcfEbg8zW9IIgw+UhoGbfu1HfmicaLOEJA/xVqT5Z9vt\nnPpCDE4Nnt+DxShcTQJsFrVKlKAvp+ie2IUFBo8k8M7LV6PkM71Gdu0AWaoL\nEvh0myuz7lNz3rx4muEmnpMVrt5t82jeG4C4dy8nvhsulpiVCH3Zxw6yVa6Y\naOvwDL0e5uNVW37mkrKY+RNYoug5Z+fA5g/S8me67HHgdgvjUzFqj7EdwYWF\npgF0\r\n=QFOi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHcVmrHlMtRyjj11hP/5J3ETSHbYrtjygDcviJala3n2AiEAtePephvbzVPTzbrHovCw/7yFqEVAjkvGFiZkbQJD538="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_1.6.2_1572420029820_0.6045046861339982"},"_hasShrinkwrap":false},"2.0.1":{"name":"tuture","version":"2.0.1","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc && cp -r editor/build build/editor","build":"yarn build:editor && yarn build:cli","pkg":"./scripts/pack.sh","prepack":"yarn build"},"repository":{"type":"git","url":"https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","inquirer":"^6.0.0","js-yaml":"^3.13.1","lodash.zip":"^4.2.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/lodash.zip":"^4.2.4","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^24.9.0","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","rimraf":"^2.6.2","ts-jest":"^24.1.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"licenseText":"MIT License\n\nCopyright (c) 2018 Tuture Authors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"tuture@2.0.1","dist":{"shasum":"a98721e0624192b35b3d8ee3358e21f5edad7122","integrity":"sha512-zmJGZOamKW2fqnMeanwBSH9k1rSqdzm8Yj3/GabMpwEdo54wiTM88N7hO5b02BF9VLtivHQJYK4UeulLDmDwCg==","tarball":"https://registry.npmjs.org/tuture/-/tuture-2.0.1.tgz","fileCount":85,"unpackedSize":6045145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy6d9CRA9TVsSAnZWagAA1IQQAJ1+r0K8inpgckWhVAWh\nsUbk9VOykUFfLihSQMq/noV9QBAJFVi/aAau6A9WmICJcXLwaXNC8aVIjHLd\nTjla/DWXpNUpwqTbH1C4gbMiHYK5vJVECttCfcgfp71lZn1y9H/V48CInfIS\nBtU54oXsJXm11FLL1EAnWywkRY90afMOBncdKsq8VmtyyI5h1F3sSCoXW1Yx\n58ge6SQALRSMVgZLWg0FFCeT19lb9nKKP2NmOgHmUZ/DLAqWV40ihIL6FGnJ\nefRNT1kXxQ0S9KHBOFv1h4KSLPdHtGUVdXAcpVuZp/B2JECnI+auDdzuyeJp\nWpuzgavXucv1q2769hI95p8x0G4kTZfXtkxxZDk46++Ryq5z6NTMZssfjgng\n/ieAQk46LhN1EzZzEsqymqmyaRrChlVnJOsW/HJTLAL6GW82I0lqB9E1YH4E\nHhTfujZOppsTAZhp93k7aM1uUJk/wh2gCUn7wQHbXDkrJX03KtQnJt96FYtd\n3z4ai3dCHu+MdAjkLow2QNKDwmManwHq+EjmbtPB9P8cU+VXgsUzBF6/gHBR\n2vh0L2UInDS0FWuuB+TOt4NnmU/sOOyBJ9Abs+N1IQszd5jeVncZekU1Utz1\nqd5ggDyMnmASFILh4Amlmv4EWYYS2UyNwu7XYYj9iIog9VQAhTgELk+oIFpb\nyFDE\r\n=A6x9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7Flsb8I7cbkTkdV1n0VmziRVC9Ha/BdY8wqKSRNiFEwIgGTy6839IcKnr2sKPfWutbsOc/IC8Yu1DjLlGN+EQLEE="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_2.0.1_1573627772854_0.8513685029125897"},"_hasShrinkwrap":false},"2.1.0":{"name":"tuture","version":"2.1.0","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"tslint -p . -t verbose","test":"rimraf build && tsc && jest","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc && cp -r editor/build build/editor","build":"yarn build:editor && yarn build:cli","pkg":"./scripts/pack.sh","prepack":"yarn build"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","express":"^4.16.3","fs-extra":"^7.0.0","globby":"^8.0.1","inquirer":"^6.0.0","js-yaml":"^3.13.1","lodash.zip":"^4.2.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/lodash.zip":"^4.2.4","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","jest":"^24.9.0","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","rimraf":"^2.6.2","ts-jest":"^24.1.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"7a064b24ea99123b1c87cb8d20dbdfd02ac15da4","_id":"tuture@2.1.0","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-8CnBVb7NrEg3oUOYDwILS8F+0bPSCJGRk+jvW7GLs6v/7rjJrInax5xPrau2e3KfsoFHAXi2uPux1o/VOvdP/A==","shasum":"b227309ccd0fb235c86bd9d1317c513b8d6579e3","tarball":"https://registry.npmjs.org/tuture/-/tuture-2.1.0.tgz","fileCount":75,"unpackedSize":6537494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd9LK5CRA9TVsSAnZWagAAPS4P/0G0cB39lXeCluP2XsHs\n7TV65u++VOo+KjcOOvxYK9dvFdwx9d6AlHBX99thv+B64iVagQ/Esxv40lRH\n4VLxLFYXtnL6crR9BWCqhfTClD85HJodSLse2r5r5N72WgCNU7ZCMctV3tEg\n/AYSJRQ5WZA3g3GvYiExoECkvQboqiPu3ZNUHSTOfhBh1LFREgsmhVv4hYLZ\ny5cW08TxQ5kLIVTGmKwGUfKZ2Vd07Wz8jP/e2A79p+EiLWTBv4DddOgxzrgp\nY0fp180gyROWaAjNKdaeAh7Hnn20VEQD0t+xYN8uzyMwRLd0FZyIFwdDLRV5\nolJtW9mvy6PiN5bosXGc2RkgtmmAa4+tfnOE/EsdTqphG+Oxj1NRgnzyIlor\nlmexDhi/WucZcsdJ2QYDJVK4fqSofsN2k4IGliRFURIfxLQWulHO+BZRbU+V\nRD8Geehceae24fa8KsQKR6h+jI+PDvDDT1X85WsluRp7j5MHjYmp3UNbDuiM\noQnz1CHpsBEY4vkLVON5R5IbLztS6iP2b6hhQt1U9IRvmCfVH/36nyTaMKTl\nHVM0iFK586lHK3kS9qsbcoRDY3iPJwqPMQz1YVkmVIeIGzH7qg5dG2l8gUsI\nnOKN/AOTb3Iby0gIbzeD+Np1OhKaRzdv44xxYRS9UnbpN0PT7WoHQCw9T/z0\npRj/\r\n=12vU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFnONHQAYu9kCo0diCy3py7NBBaQ5BOGknxHGJPkuQYtAiEA5yd6SYG97pW+mAUtRhRU0DeX9KHAWo+kw5hFZg2VY7U="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_2.1.0_1576317624403_0.5628109631874083"},"_hasShrinkwrap":false},"3.0.0-alpha0":{"name":"tuture","version":"3.0.0-alpha0","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"rimraf build && tsc && jest","build:editor":"cd editor && yarn && npm run build","build:cli":"rimraf build && tsc","build":"npm run build:editor && npm run build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"d0bdd97c1abcbf9ac013b584392bf77aff03a40d","_id":"tuture@3.0.0-alpha0","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-riL9TD9sDI7W/z28W+X3BL/W8NDd17wCk6BzXIuNqvUrs/5bFhHSKduA9YaRR4+UJ2++ae6TyVYO5ogHjIpMAQ==","shasum":"1201f47457f87bd4feac815fa0d4a7e750a3551a","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha0.tgz","fileCount":48,"unpackedSize":21270959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWlUICRA9TVsSAnZWagAA+egP/1UpQbs7YgDcAs2ouJXL\nwxs4IdVPQqpFBE83oIJqOsmRE6dYLnUwpAN6U0PAg19cWE7PU8usC2HwQGO4\ncCy7lpTjr6RTrxxEAHPGth1FqpsABJCSTIMxqSbnta36uterWJrnCWaDiDrv\n7s9iQCWZtoACoVyUxm9WmJse856yjMgvtMSth05xCMvTmGWx1uAzLgcjEtCX\nXBtSdxPKQL/k8TqqCTraQqq0MrqCZtnLpfzU6vCoCO8Uu4pXr2XNlF7wXO4l\n/sJD+HqVdFJJhyQMD53P7h66oH+px0R4a/D1mKvdI03cZqPz4XlbuLlOnNEe\nF8Vgj7MuicToDmwxGmItAZXr2SH0k0wtfG7JNKTsv9HhaQDtsiOv3Rf8PWKk\nfBzfEVLPwqU3WtkPsfPc0dcoeI5FyXTPhW+uEY4UyM4DsNa+VLc1JiNuc5p8\ns4a0/tItaMgwCV86ftHNJd/4XrtwpBNYmvVjEfns+4WaDnxxlBze4qeYBpe9\nxqfIzawNJX7Qio6vmd3SsjJ6ahXJNIr/0JBCR9S1e7NHoTh5lcXdvvy2K+f0\nsnDtNALC2VUVwARjMZSntp271+NZDjEm48xlx6G0C8HvXY2VJYM1sSlhlpHT\nRhComj6q3sQovcx3Zi0HQxQZ/xbIEA2w4vZKDhlsps/H/YaYzxVIg5M83oLG\nkRWO\r\n=RkZx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICj7OEuklNP3rMCmB2JRy5+XX64G3xBh5zmgFDolH3hCAiBXbMfp+nUXy2SK9JCH7Vlsgz3NH/jn4pFNz4jgrKDEtg=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha0_1582978312140_0.17626492799194593"},"_hasShrinkwrap":false},"3.0.0-alpha1":{"name":"tuture","version":"3.0.0-alpha1","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"rimraf build && tsc && jest","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"5c763237ac28cb13936231348b186e946de73371","_id":"tuture@3.0.0-alpha1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-0zvmHvoGscyBabHiHQK6grxeTJ4/LXQv2iWzYCrfwpRCsTlyLtnSlawKCOvQaBwJSjJGlDujMNZuJOZpOqiBwA==","shasum":"8609e8e85703dd5af85ab9fb4d626422aa5a9186","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha1.tgz","fileCount":44,"unpackedSize":6637778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXKwtCRA9TVsSAnZWagAAnmgP/RBylIOS54AdbomIagAZ\nRHt2DOYpdzcS8Ep62aEJLWx1yntE28lEg9eQegUOQ8oUDGly1zF/nJ27KX/L\niGk+QXIBoLBOusrgOXnpZ92IKyOwXxlK77+qoDlMLLNyZmRoHi7bZF+cWbIB\nAsFY43i+VlbLpAhoYIqkXw4rNTWs2RvNPW8YzYPjQQsL28JefsFXCoeLcMOm\nZIQWdYLKViGdO1wiappfmTfZsk4SOF2LSepS4nIrGP9iGzojPMkd7rHuPuVe\nX+Qx6bYyW2NzS3Y34HkB7iop9s1wcS6o6MGvP+t0QqbWa4ZC8ObIRE8joY61\nXcymQs6QwQESR0/W9WZ13aGXqUEtVB9420tUSk9u4r6ONt7DAo/L5wzTrp6d\nrV6w5XtHMQwt82eKuv/lKURuGv0Zr72t+0dRXwcceIFTW9TmND4E8by9x6Z6\nTjA6H+UH3myVhVll3VA7Ib4CKnzPWjSCzS7FU4mEcoam49orrenTNfHpnvg5\nCh+SadAZw4xkW+qU/TPUAtQd/8kUd4s1iq5COxCBqM1WzrX66RsKZdF+SkhS\nTzHuQGsbksGeV632J4AOvQX1P9dKja5zF/kCuK33OQKjc1EKeJyEMFgGY/lK\nxPF2aADaznBVygN9aRAghXXN9gtxOa6FemijiXnAe7+eXJQ1loyjSCz99DVw\n5EgN\r\n=yBkN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAs9SY1aLucecHuEOR5eaAUKq5Lx5TUibsFAEy0iNmcIAiEA6+8l9Jfbdxif2N8DaV0qCqAHfmmIDhikp+JmeaxHcms="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha1_1583131692391_0.5688910582241637"},"_hasShrinkwrap":false},"3.0.0-alpha2":{"name":"tuture","version":"3.0.0-alpha2","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"rimraf build && tsc && jest","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"roots":["test"],"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"6fbf9b3c3a555af5e3c752c0249f4fcb9aff8189","_id":"tuture@3.0.0-alpha2","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-VEZRBdIfWBSvaYS21KRxFYfLFtPzL8WYcOjDBgIdiIndNb4PyK+jVM/Kkp3nGZaFfakdIrwXzWvVJPBsJvW43Q==","shasum":"591a4cd664cc11ef12b6009951e3a75415160914","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha2.tgz","fileCount":44,"unpackedSize":6636659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXRp+CRA9TVsSAnZWagAA/QoP/3nyL/jpIyUR+PDcDc2H\nD4jPNITkhkRCBcpUsYbe8443AcuVcoQQbPS9JSx3pO2CgxA37swv6laV2S5D\nlrU53ByPkMSIpVX26+jdfzs7prSiGA0h6V59FL544pwiXMuSollNqDagyqQL\nVX9yD2zTYNohkMoH2l6IjYzARGWDCnDF6ztumWY1eV/Wzcc2nHx7zJCK47fC\naL1Y4UCHkri/oYALldE1bScLS3AroOffApsmBGdU+dnG1YQLiaY+BAHvmMa+\nuvrr33xqs094+shMG6TJQl1W3oYJHJMTHVHAxYTBM+PV4jk9slQxiQ1rv0hT\n/wcpfFdQxoxKNsxy0i24cGKOj8mmeu1V2rsblvXSpWDhCpGFucbGKLXp72bG\nyUIajWfgQFDX+hqH4xbajCg5Rg6rTq7qfP8xRVb5/vhG6PFgXD9DjFfDKPjq\nshIJOJwNam2kIFQ5uez0xONYGQzoySVUvymp/kY8SYxqFq2S6kq3tLuULp1n\n23jLQGU4X289OBQnPY1f2V7Nixh1XYb5+BQyBuFrWm5+72qVMxfJaBYZYRIA\nKHSxw2V7iI+bebJ+0mw6WMJwWwnu+IbhHwQ/Wh6TvzSGSLya5x8r6M83pq3C\noRgkMwbcxCYC6VWf0J/tg+9rFLhBBr3rvpjHcIVQyc/ajlfdwdr0NeQkcrz5\nlz/J\r\n=6CbP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjFr/4BvzVj2ttEpGy9ud/H10tw9simCtWSSNaaGmD6QIhAIs0UzvH9P9eNWJmnj8K08DwOQA2TNgy27Ku3s0ChmDX"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha2_1583159933664_0.16530536266905793"},"_hasShrinkwrap":false},"3.0.0-alpha3":{"name":"tuture","version":"3.0.0-alpha3","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"ee35674bf1cf6087136a705c8ef0445fce5883ed","_id":"tuture@3.0.0-alpha3","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-TsAXuj7PV6m4zSxyVAaLnYg1rhq9JDx0/2OvdNyK8e1EyA+i6jzhOeAIsfvRz8vdLn89DOGQxTXU6P80k6/QBg==","shasum":"4e6a77313647c0a3840a8499ebea5b7a4d3cde74","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha3.tgz","fileCount":45,"unpackedSize":6645713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZN9lCRA9TVsSAnZWagAAwRMP/RPw6KI05E0w9ShJsV2w\nOx6/y8I7gIhswT+1klNdSoZCnS9UZA1AYHG9X39qLUUl8F6LI+Ud//p/LyBO\n2SdxmPZ+Ke5ZBiBn3xKdj6EAdd6tUc5pUQeOIPXnGMkxcQ13FzQSpEomtowm\nuPaRF2f8m+N9WnHAP5/3HGYn03Lz7Hyt93iBKw0gLCoeKDtWv2ouaXVtaxR9\nU4Y3uhC5yROvf8gqbkwu3CjP5lVgwt+tfI13vjw109brB5TXNRUcH0+h4WCd\nNu2IEjV8m13zJlMBtx18qjejTSWjGpRifJbRW6oSR7lF6SLzh/T/vZ8zu3yj\n/rlQhfGhLaxa5wLS6BIyKUdyRWPrvzfOheGCjK5bWsC+KcayKJXgOyrOgS2l\n6J4JbPWZXpxRoOyOPhBleyB72L9c6mhtIz6rH8uuobKvm3B67FtIrrBUgFeu\nAWY7lbghx1dZ1pUqFD3v/SfmH7Mb5yogdpamshDiyoYZ9fQ3++2P0Yvug+n5\np7faEhk0KZnyo5+yPnpMjpDcbU2MUgvfj3OS+n5Cvb6xsV5S/FdVfy+6cmF1\nyheeQvR7Sen2WYFqRMDyEXj/AyKgF9eNNljzWUecPFdIkyIr7t7XBb7+qpFE\nKjWFJZgSR69LLlQ8htdztfgcUGtSpapWv/qLoIif+4h7WQaoCSIvjiFci++D\nvtHJ\r\n=qjcA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+0vdE49+yFgV3hb+J4n551co27jGIAKfugOXWOG8/vQIhAL56rpEIumkr3fO7pn57A/stNy4Y1PZwixsP6dcsTd4f"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha3_1583669092554_0.5570408681725814"},"_hasShrinkwrap":false},"3.0.0-alpha4":{"name":"tuture","version":"3.0.0-alpha4","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"199e3a51e50ae6aa699944f1291d4432457834e7","_id":"tuture@3.0.0-alpha4","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-Hf7r2IdpaZap16T63yXV4Gvqp/RVATU5Xp3/2xW1XYNZH/BVo7nfRpKXq0crqm+jWdPSay57tvnYRq4wUf7Dow==","shasum":"fa08f8aff86dfef0125cbc4516cc7496a84879de","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha4.tgz","fileCount":45,"unpackedSize":6647064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZz9gCRA9TVsSAnZWagAA8LkQAIWaFCwArxbFjPShfaGU\n95hZPPyc/BFl0YwCJD3JO4qoTUNxU0J6OiQX4ttcImPxVkxHh7l9yjJg78um\nT75nfUGdnRc4ZW883sd9gE92DpDr5ZxAmvEbYfhzy56Ab9m10QWbDi5ydkmc\nH5qNssW3pAk2yAJZZxh5YybXv3cXZP2URzTwSwS1yLXYHr0KmvsWqcka3bYn\n2OedntWgzuOzpHmDX6N06EhcwSKfy8ZjKhvCilbHYFTXGgfJn/HtjVMNBJjH\nBiT8w8ThuD9banOhcQlAalBaOLc9kr707WbRwbKMaSYCXb2ElfsatVsoe9rO\n2m1/C1oqar1LLkpnpu5mkSBI52EsvGvn+HysVvVaGSYIXErTJs2oaM0F+gAX\nRM90zrc43yZA4xSVkXt0EeSGYnqyop+c6wlExMoNPhNzogXJX+raJ8apiQ5B\nO96C+3oUsUHVN932PP+053zvP0z2Cf+sA4eiYC2vcSu4ms621GNlBFQkvuS5\nURbWJMiLxG+FAdmHXhf+RjTyHymDucAVkTz2PxyYXUbqD2MTsun88vssJjd1\n1WSO0ncb/rNq3/dp+zXv+18KEz78Irf0Z6gC4doAmvYhWe7TiNg5wC1QNw9a\nzfYH+C9fY5tA+p0RihT7VcyLtiHpYjr7mHLOxWnC9Fci4c/ZWlEKpo/6e+gn\nrzLa\r\n=d5P/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+JBx7SB8re/MFohI6+/tQtLZmXeanCAqwiKZ5+zHkDQIhAKjhMDiqmqXM5XqmHkPJ8PXj/zsW9MbkNOIzy/IaV0L1"}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha4_1583824735559_0.23812419872503732"},"_hasShrinkwrap":false},"3.0.0-alpha5":{"name":"tuture","version":"3.0.0-alpha5","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint:cli":"eslint . --ext .ts","lint:editor":"eslint editor","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"rimraf build && tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.0.11","editure-constants":"^0.0.11","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"199e3a51e50ae6aa699944f1291d4432457834e7","_id":"tuture@3.0.0-alpha5","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-OUSbUTRhATi1xgld4fSjUkwbMIW185mIafqIrHj3c7/jE7pgh9BaAblmYKBS0czif8u5x+DCD5bpBRJuvaO7hg==","shasum":"78a5f723d9ec13f2603591dc56517fb7350c7b09","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha5.tgz","fileCount":45,"unpackedSize":6647064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ0AtCRA9TVsSAnZWagAARzcQAJBwVJ8aLxma4pJwmxgn\nZ7cj2TqlwXj4VoZCrVe/jeiOH7pyx8Z933FKw4XZ/YnpvStJLTvQQDXXW1TE\n4jQRN/qIniRHrt4uze7ji3AqaC1TgF9HI9Xt5owtE6F0nNo2fscUg5b+MoEU\nGGLj4aXxpqOtSaKKPxSiHjb7apH1ugQa9+UQ4C0ew06/gyrmPddvDPpKjsBf\nyiewXMggw8v/F0n2YS85C9E2LGi/spXaQ9YovhDjlJgjbCB+vPmvKX+GcMoq\naLk+sc6LezyGXXQGv4a9tEKjjQIeGI+xSgCbgleyGP8w/vAP2z5wWllZt172\n6lUDcu8lbM/a2I3zwN9P7LOUzpMzdPzRupACcTpJvvtSYDNMpnL3cKejJX5a\nkd/tH1rKH647o4WiOMWjCg4uFfApj2QsLMEZnEHy1iSOvA02MLXdwlFLQwJs\nhWu3tyv9SBoCVDaLfszBEOW++9uhWULZ6qrx3/tmc7IRARz5PgQDxNj0Fl8+\n0o/WffjVBf7piTRvxf/CyFYNVupgDouWql0EEwZkgEGwhIB/q5tk7noOyfsO\njf/BIOUCetMQGxfcwvkqd/2qdTtEcDWGmwzPENEvIxKznt0ZPaaJzfEFGZnB\nK0KXWgCqTtM9h/17OhwBRaCjcZ/Y5V1O/wk/Nh6g9vYO5ZCkSjRsrwyKQ55M\n7ejc\r\n=sHBV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA2H6Hyd7Pyj+IaJW5P9CRKdelhqCjahAH2goJQy81ksAiBGHIfa20iRlChGDFw8pkyMXzMEcQ593IODV0OC0NS0cQ=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha5_1583824940568_0.17734877740283772"},"_hasShrinkwrap":false},"3.0.0-alpha6":{"name":"tuture","version":"3.0.0-alpha6","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint . --ext .ts","lint:editor":"eslint editor","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","clean":"rimraf build","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.1.2","editure-constants":"^0.1.2","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","p-limit":"^2.2.2","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"~3.6.4"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"4d93a4dcbcb567b3a34b9c71fa3d80f4d19b28bf","_id":"tuture@3.0.0-alpha6","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-Dyci+N/kuABximfSmJOTwMNCi3Xv74Thke6sTdpq7k4zF3ceKnKWp84E2RL/JEn8CCgNqbTNX+44z3rC6rzUzw==","shasum":"a6c0754ade55f1895720b1defb3fbaa7f126c951","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha6.tgz","fileCount":61,"unpackedSize":5363779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeet/ECRA9TVsSAnZWagAAwNcQAInLW0q7PSNH/6+8Qn/q\nd0JOUNgPxHjNMnw1ecnCGWb9qqNCNKwg74LUhPz4tsTpCXMGee5DQMdINxIj\nbqiYKXVfWqecyoObyJoaKaf7iHavSLJZ68ZU36QymPu3/qYf2X7Zgc7Rm/mX\nCfZW6HXTEY9ITS5u+ErFdb6vweeLsrB0P4kDkpR/90fBvsC3OcNuT4qtdZVU\nEXktuADYfY+VOQhnJX3fvAyePsAyp0h1MjGdoTl1c7I23wmcSMLhlqxWW3lL\nLwJP9qwNWjsBDQcizgk3rbb+I0CwEH+6WW9Ccwk68VnCBVbt3C04ni/Al2Rr\nAAaUgI0xjadDmgliRnx8i6JV7qlDRi0Dzn0un+vRxygJSc6XboYceDxJpGNj\nHS1JF7W5ruvgjh8EZ7w0N6Ew699Y0S6r62CperPxCaXqgLb5HVRuIGbvnu5q\nYo1W1igPy5l7hPkcB7yqMh7JT7kIbi2KSm5+HP3vqdYyH8wSqnSwhvHxdacR\nkZxTXRRGawfA4UbiG1aA8cVyPn8bMei9W2MI7OCL6qsNtxwncr3xS/eZQ/Ec\nLX5dUeb4RPFqBj2ghpc0Ljq7mZl6gR9qd9tPnZ/PqLiJLo3GOc4mioLAfqMN\n+W9XuaxxWsxEHBbchvPuJyaqoue13m54rBnBe8Y6KWwlHdCb09ZIjbkBcmAr\ntS40\r\n=lHrH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICA71AdtdZZYs31wNxaKjOaHUNZwTuQfE7pq7b84gcYZAiBBxWsWhXCFESwIIT8xzXqDwZowo4hmWW92xT8nq4KzSw=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha6_1585110980085_0.6369393428162033"},"_hasShrinkwrap":false},"3.0.0-alpha7":{"name":"tuture","version":"3.0.0-alpha7","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint \"**/*.{js,jsx,ts,tsx}\" --fix","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","clean":"rimraf build","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.1.2","editure-constants":"^0.1.2","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","multer":"^1.3.1","open":"^6.4.0","p-limit":"^2.2.2","parse-diff":"^0.4.2","rc":"^1.2.8","request":"^2.88.0","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"^3.8.3"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"45b95f15a77d2d500a8e6616a37658b5f2d44471","_id":"tuture@3.0.0-alpha7","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-86fEX3L91HaaoS7va2rjS0F3uUeebYfz4H9jvC/pU2VdTWhf7mTsYQJSXmWir6XDycy9S0wICQWixY8zgJ1XIw==","shasum":"182419889a9262fdcb6ae37de41b40b948b4fa04","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha7.tgz","fileCount":66,"unpackedSize":7967727,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiVcHCRA9TVsSAnZWagAARtIQAKBiJYpQ76GRPVcgykmT\nj1GDxxryjvEQqaq4dSqWqK/QhMtzGRAK0lpnY7iuCiFHxun0Ou41k24TOytC\nteU3UcRNMZ7bCUQLosPHIfX1KDVeSoZivknnJ9eLrm5dzjqrSO4P6fqv9D12\nRxXYk91bwmoqeB6vOQSzJK3GhWahJayQkL2mgvwblNneaVCst1JJaBwJDpEE\nlAzbq4BR9gLuEQl2wQ+oxf1OjsfAC0dfl7bi+louoCYOCa3eD+633Ff+VeB+\nj+rLxXR7h5BIgDBwljRFXVNzOZFaTbdlyrpgNgy1m6ZnwuZcAZw5P50jv3X1\nP9Z8Fw+vzOc6kCJP1lXus2vmPIHqTapogq77kMqCZkODo8xtOL+dIjgpVqsd\nOgw17nGbQjNyBRvuv75djGaiDPTTQIAwO9u207+dDy+8orI6W6v5jgwbGtpS\n2c9j/qkerhYD8MbJzt3sxznlowB93rj7GkPyI0RaWt8ArCFCtyKfAirPclms\nkyp9nk+Ioi8L/WOUYWdeupmlKBIwDixXP934MXEYJtvnafRe+RsYdqf/nMO1\njWPu4gQ8DO1rOQ73fFd+zcJuJ8EDs3oynRpKbWxxgz6q8FW8iWCXHSfmlQ0P\n1zS6E/jj4KAYMhcWxfkllrlSTTgYRaiGEmBzGA8pY603tdpogujXtQnnb2fI\nOxqA\r\n=WmN5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG2Vdkz8GcUjq9Zc4YfQnlDgKKVDdhjoq0eSR7C3SvnyAiEApJpUDRFlN+0gRK+Oal6VmEOKGqLE5wGtcGgithgUOeQ="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha7_1586059014492_0.10007824837839796"},"_hasShrinkwrap":false},"3.0.0-alpha8":{"name":"tuture","version":"3.0.0-alpha8","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint \"**/*.{js,jsx,ts,tsx}\" --fix","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"tsc","build":"yarn build:editor && yarn build:cli && cp -r editor/build build/editor","clean":"rimraf build","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.1.2","editure-constants":"^0.1.2","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"^3.8.3"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"039ecece14f74eefe469d07202b0b3b153778f13","_id":"tuture@3.0.0-alpha8","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-E0nu3ZG5VR3GrYnPrJTXbWt9TbOIiXX5Z+IP8EfdjiKlHKZ8lRhj2LmPJN47ZB3/qJx11whalT7ve4M7PqFGWg==","shasum":"a50bab3c279d97b44e74e9696118d0bc62eb6899","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha8.tgz","fileCount":60,"unpackedSize":5391497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekHAFCRA9TVsSAnZWagAAuA0P/3pEUHJZysytdRgq6ldV\n9dbODb4t33XD6YPJNkMIxTEatNVcy0OfukLXn+08Y2b8cZItw9I6GVhSAQQE\nPxdXErlGyMVdwzGZNXyywTLh/b3A7p8snKI5pkOOCy7AMxuIP6F5TIr3PkMt\nba98/GwF5X2K98PEfOgSZBEjzOagb8OaFuOFMzVWTqb4Xdkj0MVJN4rSSnB+\nAEqZ67iykw7/dSJbZpjMEKky+rL5J74vGZlzYQIUZtgnXaNBjYqw9l3gvpCo\nAkvyKAUsJAzGup0cAodrZOjCRNKDlvINsO8IMLrFdICc/6B4l9dRqoYC3kUt\nj7a5nFjJPIROzW1++N8In7LpAlwbHvDTM4xHQ2jE1sIJbcnFcfCefszKnUCv\nOcGLjz4ceSRt8DP1zChtCvIYrXIs5+7sQUnB5aK8oc572lpCXI9bWJm6887w\nXsMpp3IKy/sQgiPFNA8cIq5ej7gVnt+CjiUeBh2eyNHLSdZ69iz8b7g1u3Kf\nE+B84fPmW4wwftPILku5TQRNs6gFwPLmGuFNzRflAzutEhbZVaTdFT2F6wEE\nYxX1Kflg0wow9gR1nNC1kWMInp9lwvBKYKsMU0juGASTjCbmOFPewLOtVLsW\no5wNSRfhxd9OO8KhQygpc335jS/ATF9FMGhrCa9jW1iPPTlbiiFyVVGRRY78\nfesm\r\n=Hu1h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnO1azi/abn/W5u9ueIp3Neolxggcbj0nfH5AlxDCzugIgWAO70piwtJ/PHbfs4sE3RzlYziplD4WfJZ8gzFFYslA="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha8_1586524164635_0.023364281713843305"},"_hasShrinkwrap":false},"3.0.0-alpha9":{"name":"tuture","version":"3.0.0-alpha9","description":"Tuture magically turns your repositories into juicy tutorials.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint \"**/*.{js,jsx,ts,tsx}\" --fix","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"tsc","build":"yarn clean && yarn build:editor && yarn build:cli && cp -r editor/build build/editor","clean":"rimraf build","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.1.2","editure-constants":"^0.1.2","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","shortid":"^2.2.15","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/shortid":"^0.0.29","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"^3.8.3"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"c4a8d33cb0db365f73d26c9eed60d9cfdd25984e","_id":"tuture@3.0.0-alpha9","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-tz9dV2q6zxhLT8grbj/rkX56xWPHsSHsYovA9s2OlUWGXoEqKDoEjeK2zYFLQozvJg25imnbl7l51qHyG8cJbQ==","shasum":"a27305e438fbd383f5cb65d94048e74b215a0405","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha9.tgz","fileCount":45,"unpackedSize":2742814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekUcfCRA9TVsSAnZWagAAjB8P/A0l3um6qWL0Ew++SioZ\nnPk3lIrdYlNYqz099cvkb8aTvWtJgd+uOm+JS3hsSJBxqkTBlcc3DTlUUKPv\njqrrgxeGJOXqHOuew5LEIaobzvGjw1sfFtgMcqeuY7zCMy2V+4z0zTA8iu92\nBC1ur65iAuMB9VbUDUEkUotlFcTeZl8/hEhS1+Ptd2SkYGAMywGBtsDWU6rY\n3ajncG7E8F9jF/WxomH0pyqe29ww8z7Jhal+RPHGDbBzKUX5o5y+UrOofWk4\npvKiH+MwVVaP02E4RmPGWVQVSgqnUiR/ZOulGeOm/Us8drTJexfBaN0qsHHk\nxPT/q+FpXPdp6/T1Lm++VbSDRbbMgY1KIEq8qHxMLLB5lbbrxpheOjnkGhE4\nbn/DPEERgwx3ldhjfhAZuHU0KgtY9fsHH3hdaxsb1bxHHPuRDhKRXZCQbfWv\nXsnvSC8rTzUdDGM6kKXhbSyJ8yMZVWb8Fg6CU/qN4KWKfT5Sbq9rfwAVA5ss\n7OZal96Iqn+Q/MwvvFeRt2jFuyu99/jaUCZLQRiLqsPDaVjtZTeeR4vAwPfw\nZseZhTjgZ4m/sbd61WESedFs/z1FEYYul3U7vYZPaNFMiK43SIyVe9kvjHgC\ngrZEGUhmyU4LTJxAjWkMg8cZLFGUWKcPErNj+sqcSBAi/9Jvn6CBLPoU7exF\nSDO/\r\n=Y7F0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBvabqg+1C6280cjJOojTBWIU9oagXeyYwEyfcfWnxTwIgSxnxqu9gEBkJy5+ijOXlLiVbybnBSFapiS659RaBMjM="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha9_1586579230559_0.6350142751615038"},"_hasShrinkwrap":false},"3.0.0-alpha10":{"name":"tuture","version":"3.0.0-alpha10","description":"Write tutorials from the future, with the power of Git and community.","main":"index.ts","preferGlobal":true,"keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"engines":{"node":">=8.0.0"},"scripts":{"lint":"eslint \"**/*.{js,jsx,ts,tsx}\" --fix","test":"jest","test:watch":"jest --watch","build:editor":"cd editor && yarn && yarn build","build:cli":"tsc","build":"yarn clean && yarn build:editor && yarn build:cli && cp -r editor/build build/editor","clean":"rimraf build","pkg":"./scripts/pack.sh","prepack":"yarn build && rimraf build/**/*.map"},"repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"license":"MIT","bin":{"tuture":"./bin/run"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"},"homepage":"https://github.com/tuture-dev/tuture#readme","husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*":["pretty-quick --staged","eslint . --fix"]},"dependencies":{"@oclif/command":"^1.4.36","@oclif/config":"^1.6.33","@oclif/plugin-help":"^2.0.5","chalk":"^2.4.2","editure":"^0.1.2","editure-constants":"^0.1.2","express":"^4.16.3","fs-extra":"^7.0.0","get-port":"^5.1.1","globby":"^8.0.1","inquirer":"^6.0.0","micromatch":"^3.1.10","morgan":"^1.9.1","open":"^6.4.0","parse-diff":"^0.4.2","rc":"^1.2.8","simple-git":"^1.129.0","slate":"^0.57.1","socket.io":"^2.1.1","tmp":"^0.0.33","which":"^1.3.1","winston":"^3.1.0"},"devDependencies":{"@types/express":"^4.16.0","@types/faker":"^4.1.10","@types/fs-extra":"^5.0.4","@types/inquirer":"^0.0.42","@types/jest":"^23.3.1","@types/js-yaml":"^3.11.2","@types/lodash.clonedeep":"^4.5.6","@types/micromatch":"^3.1.0","@types/morgan":"^1.7.35","@types/multer":"^1.3.7","@types/rc":"^1.1.0","@types/request":"^2.47.1","@types/socket.io":"^1.4.38","@types/tmp":"^0.0.33","@types/which":"^1.3.1","@typescript-eslint/eslint-plugin":"^2.19.2","@typescript-eslint/parser":"^2.19.2","eslint":"^6.8.0","eslint-config-airbnb":"^18.0.1","eslint-config-prettier":"^6.10.0","eslint-config-react-app":"^5.2.0","eslint-plugin-emotion":"^10.0.27","eslint-plugin-flowtype":"^4.6.0","eslint-plugin-html":"^6.0.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-prettier":"^3.1.2","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^1.7.0","faker":"^4.1.0","husky":"^4.2.3","jest":"^24.9.0","lint-staged":"^10.0.7","lodash.clonedeep":"^4.5.0","pkg":"^4.4.0","prettier":"^1.19.1","pretty-quick":"^2.0.1","rimraf":"^2.6.2","ts-jest":"^24.1.0","typescript":"^3.8.3"},"types":"lib/index.d.ts","oclif":{"commands":"./build/commands","bin":"tuture","plugins":["@oclif/plugin-help"]},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$","testPathIgnorePatterns":["test/*"],"moduleFileExtensions":["ts","tsx","js"],"collectCoverageFrom":["build/**/*.ts"],"testURL":"http://localhost/","verbose":true},"pkg":{"scripts":"bin/run","assets":"build/**/*"},"gitHead":"82b08d96ee57714f7e962402f23735ddbe01a331","_id":"tuture@3.0.0-alpha10","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-zUXAyGhlcoFQbNM1ZHnKQnY46l6BmaYEgr45ATmF1PQJbzlGDteN5QtHGSemJG4jm2gnuciLMe6asXtph/a7EQ==","shasum":"1a8471cbd64ef94f0d81a487cadd73dd8ba1f54e","tarball":"https://registry.npmjs.org/tuture/-/tuture-3.0.0-alpha10.tgz","fileCount":45,"unpackedSize":2742944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemEN7CRA9TVsSAnZWagAAN5kP/2wz8ArdXHoh0IpLQjo7\n+FiE2fkSFEhwBHbJFHb10n7k+Xnptq/GsVJ282WLxag04mEBBoEVjRWKhGtd\nwj4eRFzRXvA4Jn8I6qo/feIL/Wog7kLn8pmYPf5jbjQmfC2+YieIi17i/IP1\neglogKxwjie6nMniJBPkSlkXwTpkIOoRpx4VC1TF/2CGozqtS1d54WUvB2D2\ndLLaRGro2S4zUXsGxMW5CMGOns8LHaDT8sVk+rNpRbSI5IJlvqgamhTqDaqx\n68usO535mh4o03ssTxGLVpjdO8QSdE92hrvl1/jW2DfxpZUnJKf+cXc0ayGU\n/Opsk/dpErobaeijYM8g8ty69ZmuhaCSuhMwoploF+eQ2ya5UvgBMyn0Ql5K\nKysVO9ZPrNm0DlJdhfxxW9nLEYDiGjQMXBofuCK8RjLz45JaYLjXP3cbCWb7\nEvsjet7lMejQvMX0+B8N5HPZqIS1vR5VQU+y0O8MoFjJbiI3hH+o+BidmjeU\nLMYIa3GVsvKp40aVoc1zPwYRtuZk4a6gieNU/Aia8H5Bj9dGWbiYYLNriu1R\nQ/7NsCa+wQvrS+8IUXT6WLfqCtDyPEfV4Z2z14D4+YG+rzaIx131Hzwz7qIw\nto5dYCfsyk/R5JebFNd6kAwJK9DiGhnBNTDjIWZ39nEJA9J0oD1Gd5/TiFf1\nBLXo\r\n=IAx7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHiKu7GLidIKedenbvvBVbXs4ReIIRRzx2NTGJnIywUAiALt0gSB1VdoNKRSI8pmXK+7TXcsWfztZvmPgOst7PiGg=="}]},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"_npmUser":{"name":"powerformarc","email":"powerformarc@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tuture_3.0.0-alpha10_1587037051011_0.11689724076030283"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-16T07:02:08.900Z","1.0.0":"2018-05-16T07:02:09.004Z","modified":"2022-05-22T10:30:55.274Z","0.0.1":"2018-05-24T09:20:08.936Z","0.0.2":"2018-05-25T01:52:15.669Z","0.0.3":"2018-05-25T01:56:22.925Z","0.1.0":"2018-06-07T08:52:31.780Z","0.2.0":"2018-06-17T02:21:28.307Z","0.2.1":"2018-07-09T11:03:09.247Z","0.2.2":"2018-07-25T06:45:55.976Z","0.2.3":"2018-07-28T02:41:06.939Z","0.2.4":"2018-07-28T07:11:41.922Z","0.3.0":"2018-07-30T02:46:18.385Z","0.3.1":"2018-07-30T07:02:30.281Z","1.0.1":"2018-08-08T11:49:39.397Z","1.1.0":"2018-08-11T14:33:16.979Z","1.2.0":"2018-08-22T02:52:16.799Z","1.2.1":"2018-08-22T03:16:03.766Z","1.3.0":"2018-09-06T00:01:52.184Z","1.3.1":"2018-09-07T07:07:38.451Z","1.3.2":"2018-09-14T09:09:15.251Z","1.4.0":"2018-09-15T12:11:48.390Z","1.5.0":"2018-10-10T10:10:13.021Z","1.6.0":"2019-10-27T14:24:10.665Z","1.6.1":"2019-10-28T10:44:39.411Z","2.0.0":"2019-10-28T11:57:11.943Z","1.6.2":"2019-10-30T07:20:30.054Z","2.0.1":"2019-11-13T06:49:33.149Z","2.1.0":"2019-12-14T10:00:24.649Z","3.0.0-alpha0":"2020-02-29T12:11:52.485Z","3.0.0-alpha1":"2020-03-02T06:48:12.858Z","3.0.0-alpha2":"2020-03-02T14:38:53.897Z","3.0.0-alpha3":"2020-03-08T12:04:52.734Z","3.0.0-alpha4":"2020-03-10T07:18:55.773Z","3.0.0-alpha5":"2020-03-10T07:22:20.834Z","3.0.0-alpha6":"2020-03-25T04:36:20.384Z","3.0.0-alpha7":"2020-04-05T03:56:54.708Z","3.0.0-alpha8":"2020-04-10T13:09:24.810Z","3.0.0-alpha9":"2020-04-11T04:27:10.793Z","3.0.0-alpha10":"2020-04-16T11:37:31.202Z"},"maintainers":[{"email":"huan1043269995@gmail.com","name":"pftom"},{"email":"powerformarc@qq.com","name":"powerformarc"},{"email":"a429273392@qq.com","name":"tomwenthey"}],"license":"MIT","readme":"<p align=\"center\"><img style=\"width: 200px\" src=\"https://user-gold-cdn.xitu.io/2020/4/8/171577bb979987bd?w=330&h=400&f=svg&s=3342\"/></p>\n\n<p align=\"center\" style=\"font-size: 24px;\">Git + Tuture = Tutorial（教程）</p>\n\n<p align=\"center\" style=\"font-size: 16px;\">”       基于 Git，为写作技术实战教程而生     “</p>\n\n<p align=\"center\" style=\"font-size: 16px;\">       <a href=\"https://www.yuque.com/tuture/product-manuals/nsaphr\">你可能想了解我们为什么要创建图雀社区？</a>     </p>\n\n<p align=\"center\" style=\"font-size: 16px;\">       <a href=\"https://www.yuque.com/tuture/product-manuals/ckx8ry\">以及关于图雀社区的常见问题解答</a>     </p>\n\n![编组 2](https://tva1.sinaimg.cn/large/00831rSTgy1gdm6uwl8cij31qt0u0try.jpg)\n\n## 介绍\n\nTuture 是一款基于 Git 版本控制系统、为实战技术教程创作而生的写作工具，具备以下核心优势：\n\n- 根据提交记录自动生成教程骨架，无需手动整理代码\n- 对着代码“讲故事”，思路更清晰，写作更愉快\n- 专业美观的写作界面，提供全方位的支持，让你专注于内容创作\n- 内容的同步和协作基于 Git 分布式版本控制系统，为社区创作开启无限可能\n- 强大且方便的内容导出和发布，帮助你的文章快速传播，得到更多读者的认可\n\n### 免责声明（郑重提醒）\n\nTuture 为教程内容创作而生，因此 Git 仓库通常是**专门用于教学演示的示例项目**。我们无法担保把 Linux 内核仓库（98 万多次提交）转换成 Tuture 教程的效果哦！\n\n## 生态\n\n|                     **项目**                     | **状态** |                 **描述**                  |\n| :----------------------------------------------: | :------: | :---------------------------------------: |\n|  [Tuture](https://github.com/tuture-dev/tuture)  |   活跃   |         基于 Git 快速撰写技术教程         |\n| [Editure](https://github.com/tuture-dev/editure) |   活跃   | 基于 Slate 的 Markdown 富文本一体的编辑器 |\n|  [图雀社区](https://github.com/tuture-dev/hub)   |   活跃   |    发布使用 Tuture 写作而成的技术教程     |\n\n<a name=\"PUOxn\"></a>\n\n## 如何快速使用？\n\n在一个已有提交的 Git 项目根目录下运行如下命令：\n\n1. 安装 Tuture 写作工具\n\n```bash\nnpm install -g tuture\n```\n\n2. 克隆我们为你准备的代码：\n\n```bash\ngit clone https://github.com/tuture-dev/our-tuture.git\n```\n\n3. 进入项目根目录并使用 `tuture` 运行命令：\n\n```bash\ncd our-tuture && tuture up\n```\n\n这个时候你应该可以看到如下的界面：\n\n![00831rSTgy1gdm5loil8pj31580u0tib](https://tva1.sinaimg.cn/large/00831rSTgy1gdm6wsd2hfj31580u0tc1.jpg)\n\n## 快速开始\n\n如果你想自己从零开始体会如何基于一个 Git 项目撰写实战技术教程，那么我们我们为你撰写了一篇 [”场景化“ 的快速上手教程](https://www.yuque.com/tuture/product-manuals)，无论你对 Git 有没有了解，你都能很好的学会使用 Tuture 写作工具。\n\n## 文档\n\n如果你想更多的了解 Tuture，可以阅读我们的如下文档：\n\n- [简介和优势](https://www.yuque.com/tuture/product-manuals/overview)\n- [关键概念](https://www.yuque.com/tuture/product-manuals/concepts)\n- [更多文档...](https://www.yuque.com/tuture/product-manuals)\n\n## 作品\n\n| 名称                                                       | 封面                                                                                        | 仓库地址                                                                                                                                                                                                   |\n| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 从零到部署：用 Vue 和 Express 实现迷你全栈电商应用（系列） | <img width=\"200\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdmdz6q1hjj309g048t9r.jpg\"/> | - [仓库地址](https://github.com/tuture-dev/vue-online-shop-frontend)<br />- [图雀社区](https://tuture.co/2019/10/17/0b662ce/)<br />- [微信公众号](https://mp.weixin.qq.com/s/1YdC9mY3JTqxSuJ9G4l1Qw)<br /> |\n| Taro 小程序开发大型实战（系列）                            | <img width=\"200\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdme080rr4j30ao04mmyg.jpg\"/> | - [仓库地址](https://github.com/tuture-dev/ultra-club)<br />- [图雀社区](https://tuture.co/2019/12/26/34a473b/)<br />- [微信公众号](https://mp.weixin.qq.com/s/KtnhfEx-cq1V-TDV67V-Qg) <br />              |\n| Docker 筑梦师系列                                          | <img width=\"200\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdme151sflj30as04uta5.jpg\"/> | - [仓库地址](https://github.com/tuture-dev/docker-dream)<br />- [图雀社区](https://tuture.co/2020/01/01/442cc8d/)<br />- [微信公众号](https://mp.weixin.qq.com/s/GmkMFd0frqBNZN0u4sy8Ow)<br />             |\n| 类型即定义：TypeScript 从入门到实践系列                    | <img width=\"200\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdme83j3apj30aq04qabx.jpg\"/> | - [仓库地址](https://github.com/tuture-dev/typescript-tea)<br />- [图雀社区](https://tuture.co/2020/04/06/C_ao1Yv/) <br />- [微信公众号](https://mp.weixin.qq.com/s/u230EnsNh-WMSC07FSi2wg)<br />          |\n\n<p align=\"center\"><a href=\"https://tuture.co/\">查看更多 （30+篇）使用 Tuture 写作工具写作的教程 →</a></p>\n\n## 作者\n\n感谢所有图雀社区的作者名，写出了这些精彩的技术文章，让我们的技术世界更加美好！✌️\n\n|           ![4.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbb918aa78?w=60&h=60&f=svg&s=492835)           | ![3.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbdff59747?w=60&h=60&f=svg&s=534459) | ![2.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbe1b9897e?w=60&h=60&f=svg&s=1104039) | ![1.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbe7b239e0?w=60&h=60&f=svg&s=371524) | ![6.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbfa9b7eb6?w=60&h=60&f=svg&s=365355) |\n| :------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |\n|                                      [mRcfps](https://github.com/mRcfps)                                       |                             [pftom](https://github.com/pftom)                              |                          [HolyHeart](https://github.com/HolyHeart)                          |                              [crxk](https://github.com/crxk)                               |              [晨曦时梦见兮](https://juejin.im/user/5b13f11d5188257da1245183)               |\n|           ![8.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bbf9d5493a?w=60&h=60&f=svg&s=513047)           | ![7.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bc1aa37cf9?w=60&h=60&f=svg&s=453059) | ![10.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bc247bb547?w=60&h=60&f=svg&s=774349) | ![9.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bc260df131?w=60&h=60&f=svg&s=394291) | ![5.svg](https://user-gold-cdn.xitu.io/2020/4/8/171577bc27105173?w=60&h=60&f=svg&s=443283) |\n| [慢一拍](https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzIzNjYyNjMxNg==&scene=124#wechat_redirect) |               [JowayYoung](https://juejin.im/user/584ec3a661ff4b006cd6383e)                |                        [布拉德特皮](https://github.com/SephirothKid)                        |                               [Horace\\_](http://ihorace.cn/)                               |                                [婧婧](https://jinghao.xyz/)                                |\n\n## 提问、联系或加入我们\n\n如果你对 Tuture 写作工具有任何疑问、改进意见，都可以关注我们的公众号进图雀社区官方反馈学习交流群：\n\n![](https://user-gold-cdn.xitu.io/2020/4/8/171577bc36f04df9?w=900&h=500&f=png&s=138401)\n\n## 贡献\n\n请确保你在提交 Pull Request 之前先阅读了 [贡献指南](https://www.yuque.com/tuture/mtnpg1/xxxx) ！感谢所有已经给 Tuture 提交贡献的人！\n\n| <img style=\"width: 200px;\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdm6rv9wx5j308o08odhc.jpg\" /> | <img style=\"width: 200px;\"  src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdm6scg251j308o08oq58.jpg\"/> | <img style=\"width: 200px;\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdm6soy5jhj308o08omyb.jpg\"/> | <img style=\"width: 200px\" src=\"https://tva1.sinaimg.cn/large/00831rSTgy1gdm6tje8qtj308o08o781.jpg\" /> |\n| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |\n| [mRcfps](https://github.com/mRcfps)<br />Tuture & Editure <br />Tuture 共同创始人                      | [pftom](https://github.com/pftom)<br />Tuture & Editure<br />Tuture 共同创始人                         | [studytoohard](https://github.com/studytoohard)<br />Tuture<br />Tuture 核心贡献者                    | [HolyHeart](https://github.com/HolyHeart)<br />Tuture<br />Tuture 核心贡献者                          |\n\n## 协议\n\n[MIT](https://github.com/tuture-dev/tuture/blob/master/LICENSE)\n\nCopyright (c) 2018-present, Tuture Devlopers\n","readmeFilename":"README.md","keywords":["learn-by-doing","learn-by-examples","hands-on","tutorial","diff-viewer","git"],"description":"Write tutorials from the future, with the power of Git and community.","homepage":"https://github.com/tuture-dev/tuture#readme","repository":{"type":"git","url":"git+https://github.com/tuture-dev/tuture.git"},"bugs":{"url":"https://github.com/tuture-dev/tuture/issues"}}