Security News
Research
Supply Chain Attack on Rspack npm Packages Injects Cryptojacking Malware
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
@koopjs/koop-core
Advanced tools
Transform, query, & download geospatial data on the web. See koopjs.github.io for details.
This is the core dependency for setting up a Koop instance. By default it includes the Output-Geoservices plugin and an in-memory data cache.
# Install Koop npm and save to package.json
npm install --save @koopjs/koop-core
The Koop usage docs and quick start provide usage information, but we'll give a quick overview here.
// require koop-core
const Koop = require('@koopjs/koop-core')
// create a Koop instance
const koop = new Koop(options)
/* Register Koop data providers */
const provider = require('@koopjs/provider-github')
koop.register(provider)
// Start listening on port 8080
koop.server.listen(8080, () => console.log(`Koop listening on port 8080!`))
Every Koop instance includes the Geoservice output-plugin by default, so after startup noted above, you would have the following routes ready to receive requests: [GET, POST] /github/rest/info [GET, POST] /github/rest/services/:id/FeatureServer/:layer/:method [GET, POST] /github/rest/services/:id/FeatureServer/layers [GET, POST] /github/rest/services/:id/FeatureServer/:layer [GET, POST] /github/rest/services/:id/FeatureServer
You can pass an options
object when instantiating a Koop instance.
// create a Koop instance
const koop = new Koop(options)
Koop enables CORS by default. If you do not want CORS enabled, you can disable it by adding a disableCors
boolean to your Koop config file:
const options = {
disableCors: true
}
Koop adds Express compression by default. If you do not want Express compression (e.g., perhaps you are using Nginx for compression), you can disable it by adding a disableCompression
boolean to your Koop config file:
const options = {
disableCompression: true
}
Koop includes a Winston logger with a console transport by default. If you have a custom logger that you want to use, you can pass it as an option:
const logger = require('my-logger')
const options = {
logger
}
The default Koop logger uses a log-level of info
. If you want to change the log level, you can pass any of the standard Winston log-level values as an option:
const options = {
logLevel: 'debug'
}
Find a bug or want to request a new feature? Please let us know by submitting an issue.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
FAQs
Serve, transform, and query geospatial data on the web
The npm package @koopjs/koop-core receives a total of 457 weekly downloads. As such, @koopjs/koop-core popularity was classified as not popular.
We found that @koopjs/koop-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.
Security News
Sonar’s acquisition of Tidelift highlights a growing industry shift toward sustainable open source funding, addressing maintainer burnout and critical software dependencies.