feat(changelog): changelog inside application

This commit is contained in:
Alexey Kasyanchuk 2018-02-06 00:41:23 +03:00
parent 74def9f763
commit 9bac53f559
6 changed files with 324 additions and 12 deletions

254
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "rats-search", "name": "rats-search",
"version": "0.1.0", "version": "0.2.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -1788,6 +1788,11 @@
"integrity": "sha512-ukc+RoVsxNjsFGTgXtCGr/RcNHQ4/OKBZQ2B6C2XBQwrbxXGWxgOMF9xgQ2WAQJQtvur3N6xakpIGMRNfGtt8Q==", "integrity": "sha512-ukc+RoVsxNjsFGTgXtCGr/RcNHQ4/OKBZQ2B6C2XBQwrbxXGWxgOMF9xgQ2WAQJQtvur3N6xakpIGMRNfGtt8Q==",
"dev": true "dev": true
}, },
"bail": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz",
"integrity": "sha1-99bBcxYwqfnw1NNe0fli4gdKF2Q="
},
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@ -2354,6 +2359,21 @@
"resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz",
"integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU="
}, },
"character-entities": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz",
"integrity": "sha1-92hxvl72bdt/j440eOzDdMJ9bco="
},
"character-entities-legacy": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz",
"integrity": "sha1-9Ad53xoQGHK7UQo9KV4fzPFHIC8="
},
"character-reference-invalid": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz",
"integrity": "sha1-lCg191Dk7GGjCOYMLvjMEBEgLvw="
},
"chardet": { "chardet": {
"version": "0.4.2", "version": "0.4.2",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
@ -2619,6 +2639,11 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true "dev": true
}, },
"collapse-white-space": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz",
"integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw="
},
"collection-visit": { "collection-visit": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@ -4027,8 +4052,7 @@
"extend": { "extend": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
"dev": true
}, },
"extend-shallow": { "extend-shallow": {
"version": "2.0.1", "version": "2.0.1",
@ -5804,6 +5828,20 @@
} }
} }
}, },
"is-alphabetical": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz",
"integrity": "sha1-x3B5zJHU76x3W+EDS/LSQ/lebwg="
},
"is-alphanumerical": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz",
"integrity": "sha1-37SqTRCF4zvbYcLe6cgOnGwZ9Ts=",
"requires": {
"is-alphabetical": "1.0.1",
"is-decimal": "1.0.1"
}
},
"is-arrayish": { "is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@ -5822,8 +5860,7 @@
"is-buffer": { "is-buffer": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
"dev": true
}, },
"is-builtin-module": { "is-builtin-module": {
"version": "1.0.0", "version": "1.0.0",
@ -5860,6 +5897,11 @@
} }
} }
}, },
"is-decimal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz",
"integrity": "sha1-9ftqlJlq2ejjdh+/vQkfH8qMToI="
},
"is-descriptor": { "is-descriptor": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
@ -5933,6 +5975,11 @@
"is-extglob": "1.0.0" "is-extglob": "1.0.0"
} }
}, },
"is-hexadecimal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz",
"integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk="
},
"is-installed-globally": { "is-installed-globally": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
@ -5996,8 +6043,7 @@
"is-plain-obj": { "is-plain-obj": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
"dev": true
}, },
"is-plain-object": { "is-plain-object": {
"version": "2.0.4", "version": "2.0.4",
@ -6072,6 +6118,16 @@
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true "dev": true
}, },
"is-whitespace-character": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz",
"integrity": "sha1-muAXbzKCtlRXoZks2whPil+DPjs="
},
"is-word-character": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz",
"integrity": "sha1-WgP6HqkazopusMfNdw64bWXIvvs="
},
"isarray": { "isarray": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
@ -6459,6 +6515,11 @@
"object-visit": "1.0.1" "object-visit": "1.0.1"
} }
}, },
"markdown-escapes": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz",
"integrity": "sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg="
},
"material-ui": { "material-ui": {
"version": "0.20.0", "version": "0.20.0",
"resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.0.tgz", "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.20.0.tgz",
@ -7250,6 +7311,19 @@
} }
} }
}, },
"parse-entities": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz",
"integrity": "sha1-gRLYhHExnyerrk1klksSL+ThuJA=",
"requires": {
"character-entities": "1.2.1",
"character-entities-legacy": "1.1.1",
"character-reference-invalid": "1.1.1",
"is-alphanumerical": "1.0.1",
"is-decimal": "1.0.1",
"is-hexadecimal": "1.0.1"
}
},
"parse-glob": { "parse-glob": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
@ -8167,6 +8241,25 @@
"prop-types": "15.6.0" "prop-types": "15.6.0"
} }
}, },
"react-markdown": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-3.1.5.tgz",
"integrity": "sha512-XwWc7gffEYUEzzBcEWwJD+brPMQcu/as36EeFW7gSmVPnB+I90EeSL8QBq1jdJEna281Tnmm0bqKAYrmGnF1VQ==",
"requires": {
"prop-types": "15.6.0",
"remark-parse": "4.0.0",
"unified": "6.1.6",
"unist-util-visit": "1.3.0",
"xtend": "4.0.1"
},
"dependencies": {
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
}
}
},
"react-tap-event-plugin": { "react-tap-event-plugin": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/react-tap-event-plugin/-/react-tap-event-plugin-3.0.2.tgz", "resolved": "https://registry.npmjs.org/react-tap-event-plugin/-/react-tap-event-plugin-3.0.2.tgz",
@ -8480,6 +8573,35 @@
} }
} }
}, },
"remark-parse": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz",
"integrity": "sha512-XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==",
"requires": {
"collapse-white-space": "1.0.3",
"is-alphabetical": "1.0.1",
"is-decimal": "1.0.1",
"is-whitespace-character": "1.0.1",
"is-word-character": "1.0.1",
"markdown-escapes": "1.0.1",
"parse-entities": "1.1.1",
"repeat-string": "1.6.1",
"state-toggle": "1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "1.1.0",
"unherit": "1.1.0",
"unist-util-remove-position": "1.1.1",
"vfile-location": "2.0.2",
"xtend": "4.0.1"
},
"dependencies": {
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
}
}
},
"remove-trailing-separator": { "remove-trailing-separator": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@ -8495,8 +8617,7 @@
"repeat-string": { "repeat-string": {
"version": "1.6.1", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
"dev": true
}, },
"repeating": { "repeating": {
"version": "2.0.1", "version": "2.0.1",
@ -8507,6 +8628,11 @@
"is-finite": "1.0.2" "is-finite": "1.0.2"
} }
}, },
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs="
},
"request": { "request": {
"version": "2.83.0", "version": "2.83.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
@ -9088,6 +9214,11 @@
"integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
"dev": true "dev": true
}, },
"state-toggle": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz",
"integrity": "sha1-0g+aYWu08MO5i5GSLSW2QKorxCU="
},
"static-extend": { "static-extend": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@ -9649,6 +9780,11 @@
"punycode": "1.4.1" "punycode": "1.4.1"
} }
}, },
"trim": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
},
"trim-newlines": { "trim-newlines": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@ -9661,6 +9797,16 @@
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true "dev": true
}, },
"trim-trailing-lines": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
"integrity": "sha1-eu+7eAjfnWafbaLkOMrIxGradoQ="
},
"trough": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz",
"integrity": "sha1-qf2LA5Swro//guBjOgo2zK1bX4Y="
},
"truncate-utf8-bytes": { "truncate-utf8-bytes": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
@ -9775,6 +9921,22 @@
"webpack-sources": "1.1.0" "webpack-sources": "1.1.0"
} }
}, },
"unherit": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz",
"integrity": "sha1-a5qu379z3xdWrZ4xbdmBiFhAzX0=",
"requires": {
"inherits": "2.0.3",
"xtend": "4.0.1"
},
"dependencies": {
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
}
}
},
"unicode-canonical-property-names-ecmascript": { "unicode-canonical-property-names-ecmascript": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz",
@ -9803,6 +9965,20 @@
"integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==", "integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==",
"dev": true "dev": true
}, },
"unified": {
"version": "6.1.6",
"resolved": "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz",
"integrity": "sha512-pW2f82bCIo2ifuIGYcV12fL96kMMYgw7JKVEgh7ODlrM9rj6vXSY3BV+H6lCcv1ksxynFf582hwWLnA1qRFy4w==",
"requires": {
"bail": "1.0.2",
"extend": "3.0.1",
"is-plain-obj": "1.1.0",
"trough": "1.0.1",
"vfile": "2.3.0",
"x-is-function": "1.0.4",
"x-is-string": "0.1.0"
}
},
"union-value": { "union-value": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@ -9859,6 +10035,32 @@
"crypto-random-string": "1.0.0" "crypto-random-string": "1.0.0"
} }
}, },
"unist-util-is": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz",
"integrity": "sha1-DDEmKeP5YMZukx6BLT2A53AQlHs="
},
"unist-util-remove-position": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz",
"integrity": "sha1-WoXBVV/BugwQG4ZwfRXlD6TIcbs=",
"requires": {
"unist-util-visit": "1.3.0"
}
},
"unist-util-stringify-position": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz",
"integrity": "sha1-PMvcU2ee7W7PN3fdf14yKcG2qjw="
},
"unist-util-visit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.3.0.tgz",
"integrity": "sha512-9ntYcxPFtl44gnwXrQKZ5bMqXMY0ZHzUpqMFiU4zcc8mmf/jzYm8GhYgezuUlX4cJIM1zIDYaO6fG/fI+L6iiQ==",
"requires": {
"unist-util-is": "2.1.1"
}
},
"universalify": { "universalify": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
@ -10153,6 +10355,30 @@
"extsprintf": "1.3.0" "extsprintf": "1.3.0"
} }
}, },
"vfile": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
"integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
"requires": {
"is-buffer": "1.1.6",
"replace-ext": "1.0.0",
"unist-util-stringify-position": "1.1.1",
"vfile-message": "1.0.0"
}
},
"vfile-location": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz",
"integrity": "sha1-02dcWch3SY5JK0dW/2Xkrxp1IlU="
},
"vfile-message": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz",
"integrity": "sha512-HPREhzTOB/sNDc9/Mxf8w0FmHnThg5CRSJdR9VRFkD2riqYWs+fuXlj5z8mIpv2LrD7uU41+oPWFOL4Mjlf+dw==",
"requires": {
"unist-util-stringify-position": "1.1.1"
}
},
"vm-browserify": { "vm-browserify": {
"version": "0.0.4", "version": "0.0.4",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
@ -10553,6 +10779,16 @@
"signal-exit": "3.0.2" "signal-exit": "3.0.2"
} }
}, },
"x-is-function": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz",
"integrity": "sha1-XSlNw9Joy90GJYDgxd93o5HR+h4="
},
"x-is-string": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
"integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI="
},
"xdg-basedir": { "xdg-basedir": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",

View File

@ -23,7 +23,8 @@
{ {
"from": "resources/icons/512x512.png", "from": "resources/icons/512x512.png",
"to": "icons/512x512.png" "to": "icons/512x512.png"
} },
"CHANGELOG.md"
], ],
"directories": { "directories": {
"buildResources": "resources" "buildResources": "resources"
@ -81,6 +82,7 @@
"react": "^16.2.0", "react": "^16.2.0",
"react-dom": "^16.2.0", "react-dom": "^16.2.0",
"react-input-range": "^1.3.0", "react-input-range": "^1.3.0",
"react-markdown": "^3.1.5",
"react-tap-event-plugin": "^3.0.2" "react-tap-event-plugin": "^3.0.2"
}, },
"devDependencies": { "devDependencies": {

26
src/app/changelog-page.js Normal file
View File

@ -0,0 +1,26 @@
import React from 'react';
import Page from './page';
import ReactMarkdown from 'react-markdown'
import fs from 'fs'
export default class ChangeLog extends Page {
constructor(props) {
super(props)
this.setTitle('Changelog');
let changelogPath = 'CHANGELOG.md'
if(!fs.existsSync(changelogPath))
changelogPath = 'resources/CHANGELOG.md'
this.changelog = fs.readFileSync(changelogPath)
if(!this.changelog)
throw new Error('no changelog file')
}
render() {
return (
<div className='pad0-75'>
<ReactMarkdown skipHtml={true} source={this.changelog} />
</div>
);
}
}

View File

@ -6,6 +6,7 @@ import TorrentPage from './torrent-page.js'
import DMCAPage from './dmca-page.js' import DMCAPage from './dmca-page.js'
import AdminPage from './admin-page.js' import AdminPage from './admin-page.js'
import TopPage from './top-page.js' import TopPage from './top-page.js'
import ChangelogPage from './changelog-page.js'
let routers = {} let routers = {}
const router = (page, callback) => { const router = (page, callback) => {
@ -81,4 +82,11 @@ router('/top', () => {
//singleton //singleton
let pie = new PagesPie; let pie = new PagesPie;
pie.open(TopPage, {replace: 'all'}); pie.open(TopPage, {replace: 'all'});
});
router('/changelog', () => {
//singleton
let pie = new PagesPie;
console.log('changelog')
pie.open(ChangelogPage, {replace: 'all'});
}); });

View File

@ -6,10 +6,12 @@
import path from "path"; import path from "path";
import url from "url"; import url from "url";
import { app, Menu, ipcMain, Tray } from "electron"; import { app, Menu, ipcMain, Tray } from "electron";
import createWindow from "./helpers/window";
import { devMenuTemplate } from "./menu/dev_menu_template"; import { devMenuTemplate } from "./menu/dev_menu_template";
import { editMenuTemplate } from "./menu/edit_menu_template"; import { editMenuTemplate } from "./menu/edit_menu_template";
import { settingsMenuTemplate } from "./menu/config_menu_template"; import { settingsMenuTemplate } from "./menu/config_menu_template";
import createWindow from "./helpers/window"; import { aboutMenuTemplate } from "./menu/about_menu_template";
// Special module holding environment variables which you declared // Special module holding environment variables which you declared
// in config/env_xxx.json file. // in config/env_xxx.json file.
@ -19,7 +21,7 @@ const { spawn, exec } = require('child_process')
const fs = require('fs') const fs = require('fs')
const setApplicationMenu = () => { const setApplicationMenu = () => {
const menus = [editMenuTemplate, settingsMenuTemplate]; const menus = [editMenuTemplate, settingsMenuTemplate, aboutMenuTemplate];
if (env.name !== "production") { if (env.name !== "production") {
menus.push(devMenuTemplate); menus.push(devMenuTemplate);
} }

View File

@ -0,0 +1,38 @@
import { app, BrowserWindow, shell } from "electron";
import path from "path";
import url from "url";
export const aboutMenuTemplate = {
label: "About",
submenu: [
{
label: "Changelog",
accelerator: "CmdOrCtrl+]",
click: () => {
const win = new BrowserWindow({
parent: BrowserWindow.getFocusedWindow(),
modal: true
})
win.setMenu(null)
win.loadURL(url.format({
pathname: path.join(__dirname, "app.html"),
protocol: "file:",
slashes: true
}))
win.webContents.on('did-finish-load', () => {
win.send('url', '/changelog')
});
const handleRedirect = (e, url) => {
if(url != win.webContents.getURL()) {
e.preventDefault()
shell.openExternal(url)
}
}
win.webContents.on('will-navigate', handleRedirect)
win.webContents.on('new-window', handleRedirect)
}
}
]
};