Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

drizzle-postgis

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

drizzle-postgis

A Drizzle extension/plugin to help work with PostGIS and GeoJSON

  • 1.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
138
increased by89.04%
Maintainers
1
Weekly downloads
 
Created
Source

🌐 drizzle-postgis

A Drizzle extension/plugin to help work with PostGIS and GeoJSON


Bug report · Feature request · Read Docs



🚸 Disclaimer

I'm a GIS beginner, please let me know if you see anything problematic in the way this library is implemented. The library is also missing support for very many functions. PRs are very welcome, all I ask is that you add test coverage for any new functions :)

🎉 Installation

pnpm add drizzle-postgis

Patching drizzle-kit (See Troubleshooting for more info) is no longer required in most cases (unless you need to generate migrations with a box2d type).

❓Troubleshooting

If you're having trouble with Postgres complaining that the functions can't be found, try using config.setPostGISSchema("<schema>")

There's more information about how to use these functions here: https://postgis.net/docs/reference.html

NOTE for people using box2d

Unfortunately drizzle-kit has a bug that causes some custom types to be quoted. The only type in this library that is still affected (as of drizzle-kit 0.22.0) is box2d. In order to use this with migrations, you need to apply a patch (see below). This issue tracks this problem somewhat: https://github.com/drizzle-team/drizzle-kit-mirror/issues/350

Step 1: Obtain the Patch File

The patch file is located in repository under the patches directory: patches/drizzle-kit@<version>.patch. (Replace with your installed version of drizzle-kit).

You can copy the patch file content directly from the repository to your local patches directory.

Step 2: Apply the Patch

If you're using pnpm, you can apply the patch by adding the following lines to your package.json file under the pnpm section:

  "pnpm": {
    "patchedDependencies": {
      "drizzle-kit@<version>": "patches/drizzle-kit@<version>.patch"
    }
  }

This configuration tells pnpm to apply the specified patch to the drizzle-kit@<version> dependency. Note that patches/drizzle-kit@<version>.patch is the path to the patch file

After updating your package.json, run pnpm install to install the patched dependency.

If you prefer not to modify your package.json, you can manually apply the patch using the patch command:

  1. Save the patch file content to a local file, e.g., drizzle-kit.patch.
  2. Navigate to the directory where drizzle-kit is installed (usually node_modules/drizzle-kit).
  3. Run the following command: patch -p1 < /path/to/drizzle-kit.patch

This will apply the patch to the drizzle-kit dependency.

📚 Auto generate docs

The project is configured to auto-generate the documentation using typedoc. The documentation is generated in the docs folder.

The documentation will get generated when the code is pushed to the main branch. You can also generate the documentation locally by running the command pnpm run build:docs.

🫱🏻‍🫲🏼 Contributing

Please make sure to follow the conventional commit messages format while making changes. This helps in generating changelogs and versioning the package.

🙏 Thanks to

Keywords

FAQs

Package last updated on 17 Jun 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc