Fix package.json to refer to dependencies properly.
Other libraries that use webpack can bundle the dependencies as they see
fit, rather than the old way where we emitted the monolithic library to
npm.
MODIFY
docs/users.rst
docs/users.rst
@@ -15,44 +15,17 @@ are just building a simple page out of GeoJS like in the
work well; however, when using GeoJS as part of an application,
you may need to customize the loading order or versions of the
bundled applications. In this case, you may need to include the
-sources manually or bundle them yourself. The following is a
-list of libraries used by GeoJS.
-
-.. table:: Internally bundled GeoJS dependencies
-
- +---------------------------+------------+---------------------------+
- | Library | Version | Component |
- +===========================+============+===========================+
- | `proj4`_ | 2.4 | Core |
- +---------------------------+------------+---------------------------+
- | `GL matrix`_ | 2.1 | Core, GL renderer |
- +---------------------------+------------+---------------------------+
- | `earcut`_ | 2.1 | GL polygon feature |
- +---------------------------+------------+---------------------------+
- | `jQuery`_ | 3.3 | Core |
- +---------------------------+------------+---------------------------+
-
-.. table:: External GeoJS dependencies
-
- +---------------------------+------------+---------------------------+
- | Library | Version | Component |
- +===========================+============+===========================+
- | `d3`_ | 3.5 | D3 renderer, UI widgets |
- +---------------------------+------------+---------------------------+
+sources manually or bundle them yourself.
+
+See the package.json file for a list of required and optional dependencies used by GeoJS.
.. note::
- JQuery is now included in the distributed bundle. Internally, this
+ JQuery is included in the distributed bundle. Internally, this
version will always be used and exposed as ``geo.jQuery``. GeoJS
will also set the global variable ``window.$`` if no other version
is detected.
-.. _jQuery: http://jquery.com/
-.. _proj4: http://proj4js.org/
-.. _GL matrix: http://glmatrix.net/
-.. _earcut: https://github.com/mapbox/earcut/
-.. _d3: http://d3js.org/
-
Software conventions
--------------------

MODIFY
package-lock.json
package-lock.json
"dev": true,
"requires": {
"browserslist": "1.7.7",
- "caniuse-db": "1.0.30000870",
+ "caniuse-db": "1.0.30000872",
"normalize-range": "0.1.2",
"num2fraction": "1.2.2",
"postcss": "5.2.18",
"integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
"dev": true,
"requires": {
- "caniuse-db": "1.0.30000870",
+ "caniuse-db": "1.0.30000872",
"electron-to-chromium": "1.3.52"
}
},
"dev": true,
"requires": {
"browserslist": "1.7.7",
- "caniuse-db": "1.0.30000870",
+ "caniuse-db": "1.0.30000872",
"lodash.memoize": "4.1.2",
"lodash.uniq": "4.5.0"
}
},
"caniuse-db": {
- "version": "1.0.30000870",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000870.tgz",
- "integrity": "sha1-85fNZJIsJPhdDOeAPJvVxaFXGxY=",
+ "version": "1.0.30000872",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000872.tgz",
+ "integrity": "sha1-P25Ttj03N2i/meiWEz1m74nEmZk=",
"dev": true
},
"canvas-prebuilt": {
"earcut": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/earcut/-/earcut-2.1.3.tgz",
- "integrity": "sha512-AxdCdWUk1zzK/NuZ7e1ljj6IGC+VAdC3Qb7QQDsXpfNrc5IM8tL9nNXUmEGE6jRHTfZ10zhzRhtDmWVsR5pd3A==",
- "dev": true
+ "integrity": "sha512-AxdCdWUk1zzK/NuZ7e1ljj6IGC+VAdC3Qb7QQDsXpfNrc5IM8tL9nNXUmEGE6jRHTfZ10zhzRhtDmWVsR5pd3A=="
},
"ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
- "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"optional": true,
"requires": {
- "jsbn": "0.1.1"
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2"
}
},
"editions": {
"on-finished": "2.3.0",
"parseurl": "1.3.2",
"path-to-regexp": "0.1.7",
- "proxy-addr": "2.0.3",
+ "proxy-addr": "2.0.4",
"qs": "6.5.1",
"range-parser": "1.2.0",
"safe-buffer": "5.1.1",
"gl-mat3": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gl-mat3/-/gl-mat3-1.0.0.tgz",
- "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI=",
- "dev": true
+ "integrity": "sha1-iWMyGcpCk3mha5GF2V1BcTRTuRI="
},
"gl-mat4": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz",
- "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==",
- "dev": true
- },
- "gl-vec2": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.2.0.tgz",
- "integrity": "sha512-M5AbyvcAlPZy1SMZsB5xQX//JRUGsayQZ06BifC5KQ42U8LyUInhlB4WQVRoHqJBIMOR0WWaoJZJOT7n+gnUOg==",
- "dev": true
+ "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA=="
},
"gl-vec3": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/gl-vec3/-/gl-vec3-1.1.3.tgz",
- "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw==",
- "dev": true
+ "integrity": "sha512-jduKUqT0SGH02l8Yl+mV1yVsDfYgQAJyXGxkJQGyxPLHRiW25DwVIRPt6uvhrEMHftJfqhqKthRcyZqNEl9Xdw=="
},
"gl-vec4": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gl-vec4/-/gl-vec4-1.0.1.tgz",
- "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ=",
- "dev": true
+ "integrity": "sha1-l9loeCgbFLUyy84QF4Xf0cs0CWQ="
},
"glob": {
"version": "7.1.2",
"dev": true
},
"ipaddr.js": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz",
- "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+ "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
"dev": true
},
"is-absolute-url": {
"jquery": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
- "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==",
- "dev": true
+ "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
},
"js-base64": {
"version": "2.4.8",
"neo-async": "2.5.1",
"node-dir": "0.1.8",
"nomnom": "1.8.1",
- "recast": "0.15.2",
+ "recast": "0.15.3",
"temp": "0.8.3",
"write-file-atomic": "1.3.4"
},
"kdbush": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/kdbush/-/kdbush-1.0.1.tgz",
- "integrity": "sha1-PL0D6d6tnA9vZszblkUOXOzGQOA=",
- "dev": true
+ "integrity": "sha1-PL0D6d6tnA9vZszblkUOXOzGQOA="
},
"kew": {
"version": "0.7.0",
"mgrs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz",
- "integrity": "sha1-+5FYjnjJACVnI5XLQLJffNatGCk=",
- "dev": true
+ "integrity": "sha1-+5FYjnjJACVnI5XLQLJffNatGCk="
},
"micromatch": {
"version": "2.3.11",
"parallel-transform": "1.1.0",
"pump": "2.0.1",
"pumpify": "1.5.1",
- "stream-each": "1.2.2",
+ "stream-each": "1.2.3",
"through2": "2.0.3"
}
},
"mousetrap": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.2.tgz",
- "integrity": "sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA==",
- "dev": true
+ "integrity": "sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA=="
},
"move-concurrently": {
"version": "1.0.1",
"dev": true
},
"prettier": {
- "version": "1.13.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz",
- "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==",
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz",
+ "integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==",
"dev": true
},
"pretty-bytes": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/proj4/-/proj4-2.4.4.tgz",
"integrity": "sha512-yo6qTpBQXnxhcPopKJeVwwOBRzUpEa3vzSFlr38f5mF4Jnfb6NOL/ePIomefWiZmPgkUblHpcwnWVMB8FS3GKw==",
- "dev": true,
"requires": {
"mgrs": "1.0.0",
"wkt-parser": "1.2.2"
}
},
"proxy-addr": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
- "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
+ "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
"dev": true,
"requires": {
"forwarded": "0.1.2",
- "ipaddr.js": "1.6.0"
+ "ipaddr.js": "1.8.0"
}
},
"proxy-agent": {
}
},
"recast": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.2.tgz",
- "integrity": "sha512-L4f/GqxjlEJ5IZ+tdll/l+6dVi2ylysWbkgFJbMuldD6Jklgfv6zJnCpuAZDfjwHhfcd/De0dDKelsTEPQ29qA==",
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.3.tgz",
+ "integrity": "sha512-xqnagxQH7mL4+UpcCVMObPPdjCEE2dmfGcTwcdpyNgZOd9W0rfdLRF3+smoA+AQqMw6xK6G4021dAQK8XfPYIQ==",
"dev": true,
"requires": {
"ast-types": "0.11.5",
"assert-plus": "1.0.0",
"bcrypt-pbkdf": "1.0.2",
"dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
+ "ecc-jsbn": "0.1.2",
"getpass": "0.1.7",
"jsbn": "0.1.1",
"safer-buffer": "2.1.2",
}
},
"stream-each": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz",
- "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
"dev": true,
"requires": {
"end-of-stream": "1.4.1",
"vgl": {
"version": "0.3.10",
"resolved": "https://registry.npmjs.org/vgl/-/vgl-0.3.10.tgz",
- "integrity": "sha1-IUrSkO4n3APHXdMtp76BqzDVgWA=",
- "dev": true
+ "integrity": "sha1-IUrSkO4n3APHXdMtp76BqzDVgWA="
},
"viewport-dimensions": {
"version": "0.2.0",
"mkdirp": "0.5.1",
"p-each-series": "1.0.0",
"p-lazy": "1.0.0",
- "prettier": "1.13.7",
+ "prettier": "1.14.0",
"supports-color": "5.4.0",
"v8-compile-cache": "2.0.0",
"webpack-addons": "1.1.5",
"wkt-parser": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.2.2.tgz",
- "integrity": "sha512-2aCAsY3VIKraNfMnAU2HYQyPQUnyeBvwXZofBXTR/Cev1vbL5Q4/Nw47JEFvkLtBm96RtK6fQbdPmc1kk8uhMw==",
- "dev": true
+ "integrity": "sha512-2aCAsY3VIKraNfMnAU2HYQyPQUnyeBvwXZofBXTR/Cev1vbL5Q4/Nw47JEFvkLtBm96RtK6fQbdPmc1kk8uhMw=="
},
"wordwrap": {
"version": "1.0.0",

MODIFY
package.json
package.json
"type": "git",
"url": "https://github.com/OpenGeoscience/geojs"
},
+ "dependencies": {
+ "earcut": "^2.1.1",
+ "gl-mat3": "^1.0.0",
+ "gl-mat4": "^1.1.4",
+ "gl-vec3": "^1.0.3",
+ "gl-vec4": "^1.0.1",
+ "jquery": "^3.3",
+ "kdbush": "^1.0.1",
+ "mousetrap": "^1.6.0",
+ "proj4": "^2.4.4",
+ "vgl": "0.3.10"
+ },
"optionalDependencies": {
"d3": "^3.5.16",
"hammerjs": "^2.0.8"
"colorbrewer": "^1.0.0",
"css-loader": "^0.28.11",
"docco": "^0.7.0",
- "earcut": "^2.1.1",
"eslint": "^2.10.2",
"eslint-config-semistandard": "^6.0.2",
"eslint-config-standard": "^5.3.1",
"file-loader": "^1.1.11",
"forever": "^0.15.2",
"fs-extra": "^6.0.1",
- "gl-mat3": "^1.0.0",
- "gl-mat4": "^1.1.4",
- "gl-vec2": "^1.0.0",
- "gl-vec3": "^1.0.3",
- "gl-vec4": "^1.0.1",
"glob": "^7.0.3",
"imports-loader": "^0.8.0",
"istanbul-combine": "^0.3.0",
"istanbul-instrumenter-loader": "^3.0.1",
"jaguarjs-jsdoc": "^1.0.2",
"jasmine-core": "^3.1.0",
- "jquery": "^3.3",
"js-yaml": "^3.10.0",
"jsdoc": "^3.5",
"jsdoc-autoprivate": "0.0.1",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "^0.0.32",
"karma-webpack": "^3.0.0",
- "kdbush": "^1.0.1",
"marked": "^0.4.0",
- "mousetrap": "^1.6.0",
"nib": "^1.1.2",
"pako": "^1.0.6",
"phantomjs-prebuilt": "^2.1.5",
- "proj4": "^2.4.4",
"pug": "^2.0.3",
"pug-lint": "^2.4.0",
"pug-loader": "^2.4.0",
"typeface-lato": "^0.0.54",
"uglifyjs-webpack-plugin": "^1.2.5",
"url-loader": "^1.0.1",
- "vgl": "0.3.10",
"webpack": "^3.12.0",
"webpack-cli": "^2.1.3",
"webpack-serve": "^1.0.2",

MODIFY
webpack.config.js
webpack.config.js
@@ -107,7 +107,7 @@ module.exports = {
test: /vgl\.js$/,
use: [
'expose-loader?vgl',
- 'imports-loader?mat4=gl-mat4,vec4=gl-vec4,vec3=gl-vec3,vec2=gl-vec2,$=jquery'
+ 'imports-loader?mat4=gl-mat4,vec4=gl-vec4,vec3=gl-vec3,$=jquery'
]
}]
}

Fix package.json to refer to dependencies properly.

Other libraries that use webpack can bundle the dependencies as they see
fit, rather than the old way where we emitted the monolithic library to
npm.