{"library":"parse-db-uri","title":"Parse Database URIs","description":"parse-db-uri is a utility library designed to parse database connection URIs into a structured JavaScript object. It extends the output of the 'parse-url' package with database-specific fields such as `database`, `user`, `host`, `password`, and `dialect`. The library is currently stable at version 2.1.2, with recent updates including automatic decoding of passwords and usernames in the URI and added support for SQLite URIs. It provides a straightforward, function-based API for extracting components from common database URI formats, making it easier to configure database connections in applications. The release cadence is irregular but has seen active maintenance recently within the 2.x major version.","language":"javascript","status":"active","last_verified":"Wed Apr 22","install":{"commands":["npm install parse-db-uri"],"cli":null},"imports":["import parseDbUri from 'parse-db-uri';","const parseDbUri = require('parse-db-uri');"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"const parseDbUri = require(\"parse-db-uri\");\n\nconst mysqlUri = \"mysql://root:secretpass@localhost:3306/my_database\";\nconst sqliteUri = \"sqlite://data/db.sqlite3\";\nconst postgresUri = `postgres://${process.env.DB_USER ?? 'admin'}:${process.env.DB_PASSWORD ?? 'password'}@db.example.com:5432/my_app_db?sslmode=require`;\n\nconsole.log(\"MySQL URI parsed:\", parseDbUri(mysqlUri));\n// Expected output for mysqlUri:\n// { protocols: [ 'mysql' ], protocol: 'mysql', port: 3306, resource: 'localhost', host: 'localhost', user: 'root', password: 'secretpass', pathname: '/my_database', hash: '', search: '', href: 'mysql://root:secretpass@localhost:3306/my_database', query: {}, parse_failed: false, uri: 'mysql://root:secretpass@localhost:3306/my_database', database: 'my_database', dialect: 'mysql' }\n\nconsole.log(\"SQLite URI parsed:\", parseDbUri(sqliteUri));\n// Expected output for sqliteUri:\n// { protocols: [ 'sqlite' ], protocol: 'sqlite', port: 0, resource: 'data', host: 'data', user: '', password: '', pathname: 'data/db.sqlite3', hash: '', search: '', href: 'sqlite://data/db.sqlite3', query: {}, parse_failed: false, uri: 'sqlite://data/db.sqlite3', dialect: 'sqlite' }\n\nconsole.log(\"PostgreSQL URI parsed:\", parseDbUri(postgresUri));","lang":"javascript","description":"Demonstrates parsing MySQL, SQLite, and PostgreSQL database URIs into structured objects, including database-specific fields and environment variable usage for sensitive credentials.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}