Using open source javascript with GJS
Jonas Danielsson <[email protected]> Thu, 22 Oct 2015 14:48:10 +0200
| Newsgroups | gmane.comp.gnome.devel |
|---|---|
| Message-ID | <CABHT2vECQr_YKZcVmqaRz9At_5Hgf_mY2V3us=iDTetwSgzM2g@mail.gmail.com> |
--001a113f1b045254ef0522b0e8f6 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --001a113f1b045254ef0522b0e8f6 Content-Type: text/plain; charset=UTF-8 Hi, I want to use geojson-vt in GNOME Maps. The project can be found at https://github.com/mapbox/geojson-vt The reason I want it is because it solves showing big sets of GeoJSON data without being slow. It does this with tricks: https://www.mapbox.com/blog/introducing-geojson-vt/ I have mangaged to get this working in Maps, it required me to change how the including of modules was done. Since geojson-vt uses Node.js style includes with require and module.export. The patch needed to get geojson-vt included is attached to this mail. The license for geojson-vt can be found here: https://github.com/mapbox/geojson-vt/blob/master/LICENSE So how do I do this best? Do we need a best practice? Has this been done before? I wanted to discuss it here since I or someone else might want to use other javascript code from Github or other places. I was thinking of having an import/geojson-vt branch were I keep the code unpatched and use that if I want to get updates from geojson-vt. And then apply my changes on a differant branch, like master. Should I checking everything from the geojson-vt repo? Should I use a git submodule? Should I abandon this idea totally and write my own geojson code? Thankful for replies --001a113f1b045254ef0522b0e8f6 Content-Type: text/x-patch; charset=US-ASCII; name="0001-geojson-vt-Update-to-GJS-style-import.patch" Content-Disposition: attachment; filename="0001-geojson-vt-Update-to-GJS-style-import.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ig283oy20 RnJvbSAwYmFjYTQzZTc2NDMzYTU4OTMzZGU5MDUxZWJjODNlM2MyZmUxOWY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hcyBEYW5pZWxzc29uIDxqb25hc0B0aHJlZXRpbWVzdHdv Lm9yZz4KRGF0ZTogVGh1LCAyMiBPY3QgMjAxNSAxNDozNTowMSArMDIwMApTdWJqZWN0OiBbUEFU Q0hdIGdlb2pzb24tdnQ6IFVwZGF0ZSB0byBHSlMgc3R5bGUgaW1wb3J0CgotLS0KIHNyYy9jbGlw LmpzICAgICAgfCAgMiAtLQogc3JjL2NvbnZlcnQuanMgICB8ICA0ICstLS0KIHNyYy9pbmRleC5q cyAgICAgfCAxNCArKysrKystLS0tLS0tLQogc3JjL3NpbXBsaWZ5LmpzICB8ICAyIC0tCiBzcmMv dGlsZS5qcyAgICAgIHwgIDIgLS0KIHNyYy90cmFuc2Zvcm0uanMgfCAgMyAtLS0KIHNyYy93cmFw LmpzICAgICAgfCAgNCArLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMjMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2NsaXAuanMgYi9zcmMvY2xpcC5qcwppbmRl eCBmNjU3YWQ4Li5jYWQ3YTIxIDEwMDY0NAotLS0gYS9zcmMvY2xpcC5qcworKysgYi9zcmMvY2xp cC5qcwpAQCAtMSw3ICsxLDUgQEAKICd1c2Ugc3RyaWN0JzsKIAotbW9kdWxlLmV4cG9ydHMgPSBj bGlwOwotCiAvKiBjbGlwIGZlYXR1cmVzIGJldHdlZW4gdHdvIGF4aXMtcGFyYWxsZWwgbGluZXM6 CiAgKiAgICAgfCAgICAgICAgfAogICogIF9fX3xfX18gICAgIHwgICAgIC8KZGlmZiAtLWdpdCBh L3NyYy9jb252ZXJ0LmpzIGIvc3JjL2NvbnZlcnQuanMKaW5kZXggOTIwNDk4ZS4uNjY5NDczYSAx MDA2NDQKLS0tIGEvc3JjL2NvbnZlcnQuanMKKysrIGIvc3JjL2NvbnZlcnQuanMKQEAgLTEsOCAr MSw2IEBACiAndXNlIHN0cmljdCc7CiAKLW1vZHVsZS5leHBvcnRzID0gY29udmVydDsKLQotdmFy IHNpbXBsaWZ5ID0gcmVxdWlyZSgnLi9zaW1wbGlmeScpOworY29uc3Qgc2ltcGxpZnkgPSBpbXBv cnRzLnNpbXBsaWZ5LnNpbXBsaWZ5OwogCiAvLyBjb252ZXJ0cyBHZW9KU09OIGZlYXR1cmUgaW50 byBhbiBpbnRlcm1lZGlhdGUgcHJvamVjdGVkIEpTT04gdmVjdG9yIGZvcm1hdCB3aXRoIHNpbXBs aWZpY2F0aW9uIGRhdGEKIApkaWZmIC0tZ2l0IGEvc3JjL2luZGV4LmpzIGIvc3JjL2luZGV4Lmpz CmluZGV4IDRjZjUzMmUuLmMyYzM2MjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmRleC5qcworKysgYi9z cmMvaW5kZXguanMKQEAgLTEsMTMgKzEsMTEgQEAKICd1c2Ugc3RyaWN0JzsKIAotbW9kdWxlLmV4 cG9ydHMgPSBnZW9qc29udnQ7Ci0KLXZhciBjb252ZXJ0ID0gcmVxdWlyZSgnLi9jb252ZXJ0Jyks ICAgICAvLyBHZW9KU09OIGNvbnZlcnNpb24gYW5kIHByZXByb2Nlc3NpbmcKLSAgICB0cmFuc2Zv cm0gPSByZXF1aXJlKCcuL3RyYW5zZm9ybScpLCAvLyBjb29yZGluYXRlIHRyYW5zZm9ybWF0aW9u Ci0gICAgY2xpcCA9IHJlcXVpcmUoJy4vY2xpcCcpLCAgICAgICAgICAgLy8gc3RyaXBlIGNsaXBw aW5nIGFsZ29yaXRobQotICAgIHdyYXAgPSByZXF1aXJlKCcuL3dyYXAnKSwgICAgICAgICAgIC8v IGRhdGUgbGluZSBwcm9jZXNzaW5nCi0gICAgY3JlYXRlVGlsZSA9IHJlcXVpcmUoJy4vdGlsZScp OyAgICAgLy8gZmluYWwgc2ltcGxpZmllZCB0aWxlIGdlbmVyYXRpb24KLQorY29uc3QgY29udmVy dCA9IGltcG9ydHMuY29udmVydC5jb252ZXJ0OworY29uc3QgdHJhbnNmb3JtID0geyB0aWxlOiBp bXBvcnRzLnRyYW5zZm9ybS50cmFuc2Zvcm1UaWxlLAorICAgICAgICAgICAgICAgICAgICBwb2lu dDogaW1wb3J0cy50cmFuc2Zvcm0udHJhbnNmb3JtUG9pbnQgfTsKK2NvbnN0IGNsaXAgPSBpbXBv cnRzLmNsaXAuY2xpcDsKK2NvbnN0IGNyZWF0ZVRpbGUgPSBpbXBvcnRzLnRpbGUuY3JlYXRlVGls ZTsKK2NvbnN0IHdyYXAgPSBpbXBvcnRzLndyYXAud3JhcDsKIAogZnVuY3Rpb24gZ2VvanNvbnZ0 KGRhdGEsIG9wdGlvbnMpIHsKICAgICByZXR1cm4gbmV3IEdlb0pTT05WVChkYXRhLCBvcHRpb25z KTsKZGlmZiAtLWdpdCBhL3NyYy9zaW1wbGlmeS5qcyBiL3NyYy9zaW1wbGlmeS5qcwppbmRleCBm ZTllZWE2Li4yZTU1OTcyIDEwMDY0NAotLS0gYS9zcmMvc2ltcGxpZnkuanMKKysrIGIvc3JjL3Np bXBsaWZ5LmpzCkBAIC0xLDcgKzEsNSBAQAogJ3VzZSBzdHJpY3QnOwogCi1tb2R1bGUuZXhwb3J0 cyA9IHNpbXBsaWZ5OwotCiAvLyBjYWxjdWxhdGUgc2ltcGxpZmljYXRpb24gZGF0YSB1c2luZyBv cHRpbWl6ZWQgRG91Z2xhcy1QZXVja2VyIGFsZ29yaXRobQogCiBmdW5jdGlvbiBzaW1wbGlmeShw b2ludHMsIHRvbGVyYW5jZSkgewpkaWZmIC0tZ2l0IGEvc3JjL3RpbGUuanMgYi9zcmMvdGlsZS5q cwppbmRleCA0ZTZjY2IxLi43NjRkNTM4IDEwMDY0NAotLS0gYS9zcmMvdGlsZS5qcworKysgYi9z cmMvdGlsZS5qcwpAQCAtMSw3ICsxLDUgQEAKICd1c2Ugc3RyaWN0JzsKIAotbW9kdWxlLmV4cG9y dHMgPSBjcmVhdGVUaWxlOwotCiBmdW5jdGlvbiBjcmVhdGVUaWxlKGZlYXR1cmVzLCB6MiwgdHgs IHR5LCB0b2xlcmFuY2UsIG5vU2ltcGxpZnkpIHsKICAgICB2YXIgdGlsZSA9IHsKICAgICAgICAg ZmVhdHVyZXM6IFtdLApkaWZmIC0tZ2l0IGEvc3JjL3RyYW5zZm9ybS5qcyBiL3NyYy90cmFuc2Zv cm0uanMKaW5kZXggNWVlNDI2YS4uZmU5M2U5NCAxMDA2NDQKLS0tIGEvc3JjL3RyYW5zZm9ybS5q cworKysgYi9zcmMvdHJhbnNmb3JtLmpzCkBAIC0xLDggKzEsNSBAQAogJ3VzZSBzdHJpY3QnOwog Ci1leHBvcnRzLnRpbGUgPSB0cmFuc2Zvcm1UaWxlOwotZXhwb3J0cy5wb2ludCA9IHRyYW5zZm9y bVBvaW50OwotCiAvLyBUcmFuc2Zvcm1zIHRoZSBjb29yZGluYXRlcyBvZiBlYWNoIGZlYXR1cmUg aW4gdGhlIGdpdmVuIHRpbGUgZnJvbQogLy8gbWVyY2F0b3ItcHJvamVjdGVkIHNwYWNlIGludG8g KGV4dGVudCB4IGV4dGVudCkgdGlsZSBzcGFjZS4KIGZ1bmN0aW9uIHRyYW5zZm9ybVRpbGUodGls ZSwgZXh0ZW50KSB7CmRpZmYgLS1naXQgYS9zcmMvd3JhcC5qcyBiL3NyYy93cmFwLmpzCmluZGV4 IDBlZWZiYjUuLmNhZTk2MDkgMTAwNjQ0Ci0tLSBhL3NyYy93cmFwLmpzCisrKyBiL3NyYy93cmFw LmpzCkBAIC0xLDggKzEsNiBAQAogJ3VzZSBzdHJpY3QnOwogCi12YXIgY2xpcCA9IHJlcXVpcmUo Jy4vY2xpcCcpOwotCi1tb2R1bGUuZXhwb3J0cyA9IHdyYXA7Citjb25zdCBjbGlwID0gaW1wb3J0 cy5jbGlwLmNsaXA7CiAKIGZ1bmN0aW9uIHdyYXAoZmVhdHVyZXMsIGJ1ZmZlciwgaW50ZXJzZWN0 WCkgewogICAgIHZhciBtZXJnZWQgPSBmZWF0dXJlcywKLS0gCjIuNC4wCgo= --001a113f1b045254ef0522b0e8f6 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ gnome-devel-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gnome-devel-list --001a113f1b045254ef0522b0e8f6--