{"id":15041249,"url":"https://github.com/googlecloudplatform/cloud-sql-nodejs-connector","last_synced_at":"2026-01-16T19:28:04.081Z","repository":{"id":142727464,"uuid":"585696002","full_name":"GoogleCloudPlatform/cloud-sql-nodejs-connector","owner":"GoogleCloudPlatform","description":"A JavaScript library for connecting securely to your Cloud SQL instances","archived":false,"fork":false,"pushed_at":"2025-04-02T18:47:47.000Z","size":1639,"stargazers_count":79,"open_issues_count":22,"forks_count":12,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-08T12:08:35.873Z","etag":null,"topics":["cloud-sql","libraries","node","nodejs","npm"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogleCloudPlatform.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-05T20:46:34.000Z","updated_at":"2025-04-03T08:52:36.000Z","dependencies_parsed_at":"2023-12-19T05:55:33.483Z","dependency_job_id":"4bbc3d3f-c6ed-43e5-84ca-5f3930201054","html_url":"https://github.com/GoogleCloudPlatform/cloud-sql-nodejs-connector","commit_stats":{"total_commits":207,"total_committers":15,"mean_commits":13.8,"dds":0.5700483091787439,"last_synced_commit":"9dfc3b26ddaad399a5af785b67ac3e385349da60"},"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-sql-nodejs-connector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-sql-nodejs-connector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-sql-nodejs-connector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fcloud-sql-nodejs-connector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleCloudPlatform","download_url":"https://codeload.github.com/GoogleCloudPlatform/cloud-sql-nodejs-connector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247838444,"owners_count":21004580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-sql","libraries","node","nodejs","npm"],"created_at":"2024-09-24T20:45:48.755Z","updated_at":"2026-01-16T19:28:04.068Z","avatar_url":"https://github.com/GoogleCloudPlatform.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@google-cloud/cloud-sql-connector\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-sql-nodejs-connector/main/docs/images/cloud-sql-nodejs-connector.png\" alt=\"cloud-sql-nodejs-connector image\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eCloud SQL Node.js Connector\u003c/h1\u003e\n\n[![CI][ci-badge]][ci-build]\n[![npm][npm-badge]][npm-docs]\n[![npm][npm-downloads]][npm-docs]\n\n[ci-badge]: https://github.com/GoogleCloudPlatform/cloud-sql-nodejs-connector/actions/workflows/tests.yml/badge.svg?event=push\n[ci-build]: https://github.com/GoogleCloudPlatform/cloud-sql-nodejs-connector/actions/workflows/tests.yml?query=event%3Apush+branch%3Amain\n[npm-badge]: https://img.shields.io/npm/v/@google-cloud/cloud-sql-connector\n[npm-docs]: https://www.npmjs.com/package/@google-cloud/cloud-sql-connector\n[npm-downloads]: https://img.shields.io/npm/dm/@google-cloud/cloud-sql-connector\n\nThe **Cloud SQL Node.js Connector** is a Cloud SQL connector designed for use\nwith the Node.js runtime. Using a Cloud SQL connector provides a native\nalternative to the [Cloud SQL Auth Proxy](https://cloud.google.com/sql/docs/mysql/sql-proxy)\nwhile providing the following benefits:\n\n- **IAM Authorization:** uses IAM permissions to control who/what can connect to\n  your Cloud SQL instances\n- **Improved Security:** uses robust, updated TLS 1.3 encryption and identity\n  verification between the client connector and the server-side proxy,\n  independent of the database protocol.\n- **Convenience:** removes the requirement to use and distribute SSL\n  certificates, as well as manage firewalls or source/destination IP addresses.\n- (optionally) **IAM DB Authentication:** provides support for\n  [Cloud SQL’s automatic IAM DB AuthN][iam-db-authn] feature.\n\n[iam-db-authn]: https://cloud.google.com/sql/docs/postgres/authentication\n\nThe Cloud SQL Node.js Connector is a package to be used alongside a database\ndriver. Currently supported drivers are:\n\n- [`pg`](https://www.npmjs.com/package/pg) (PostgreSQL)\n- [`mysql2`](https://www.npmjs.com/package/mysql2) (MySQL)\n- [`tedious`](https://www.npmjs.com/package/tedious) (SQL Server)\n\n## Installation\n\nYou can install the library using `npm install`:\n\n```sh\nnpm install @google-cloud/cloud-sql-connector\n```\n\n### APIs and Services\n\nThis library requires the following to successfully make Cloud SQL Connections:\n\n- IAM principal (user, service account, etc.) with the\n[Cloud SQL Client][client-role] role. This IAM principal will be used for\n[credentials](#credentials).\n- The [Cloud SQL Admin API][admin-api] to be enabled within your Google Cloud\nProject. By default, the API will be called in the project associated with\nthe IAM principal.\n\n[admin-api]: https://console.cloud.google.com/apis/api/sqladmin.googleapis.com\n[client-role]: https://cloud.google.com/sql/docs/mysql/roles-and-permissions\n\n### Credentials\n\nThis library uses the [Application Default Credentials (ADC)][adc] strategy for\nresolving credentials. Please see [these instructions for how to set your ADC][set-adc]\n(Google Cloud Application vs Local Development, IAM user vs service account credentials),\nor consult the [Node.js google-auth-library][google-auth].\n\n[adc]: https://cloud.google.com/docs/authentication#adc\n[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc\n[google-auth]: https://cloud.google.com/nodejs/docs/reference/google-auth-library/latest#ways-to-authenticate\n\n## Usage\n\nThe connector package is meant to be used alongside a database driver, in the\nfollowing examples you can see how to create a new connector and get valid\noptions that can then be used when starting a new connection.\n\nFor even more examples, check the [`examples/`](examples/) folder.\n\n### Using with PostgreSQL\n\nHere is how to start a new\n[`pg`](https://www.npmjs.com/package/pg) connection pool.\n\n```js\nimport pg from 'pg';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\nconst {Pool} = pg;\n\nconst connector = new Connector();\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  ipType: 'PUBLIC',\n});\nconst pool = new Pool({\n  ...clientOpts,\n  user: 'my-user',\n  password: 'my-password',\n  database: 'db-name',\n  max: 5,\n});\nconst {rows} = await pool.query('SELECT NOW()');\nconsole.table(rows); // prints returned time value from server\n\nawait pool.end();\nconnector.close();\n```\n\n### Using with MySQL\n\nHere is how to start a new\n[`mysql2`](https://www.npmjs.com/package/mysql2) connection pool.\n\n```js\nimport mysql from 'mysql2/promise';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\n\nconst connector = new Connector();\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  ipType: 'PUBLIC',\n});\nconst pool = await mysql.createPool({\n  ...clientOpts,\n  user: 'my-user',\n  password: 'my-password',\n  database: 'db-name',\n});\nconst conn = await pool.getConnection();\nconst [result] = await conn.query(`SELECT NOW();`);\nconsole.table(result); // prints returned time value from server\n\nawait pool.end();\nconnector.close();\n```\n\n### Using with SQL Server\n\nHere is how to start a new\n[`tedious`](https://www.npmjs.com/package/tedious) connection.\n\n```js\nconst {Connection, Request} = require('tedious');\nconst {Connector} = require('@google-cloud/cloud-sql-connector');\n\nconst connector = new Connector();\nconst clientOpts = await connector.getTediousOptions({\n  instanceConnectionName: process.env.SQLSERVER_CONNECTION_NAME,\n  ipType: 'PUBLIC',\n});\nconst connection = new Connection({\n  // Please note that the `server` property here is not used and is only defined\n  // due to a bug in the tedious driver (ref: https://github.com/tediousjs/tedious/issues/1541)\n  // With that in mind, do not try to change this value since it will have no\n  // impact in how the connector works, this README will be updated to remove\n  // this property declaration as soon as the tedious driver bug is fixed\n  server: '0.0.0.0',\n  authentication: {\n    type: 'default',\n    options: {\n      userName: 'my-user',\n      password: 'my-password',\n    },\n  },\n  options: {\n    ...clientOpts,\n    // Please note that the `port` property here is not used and is only defined\n    // due to a bug in the tedious driver (ref: https://github.com/tediousjs/tedious/issues/1541)\n    // With that in mind, do not try to change this value since it will have no\n    // impact in how the connector works, this README will be updated to remove\n    // this property declaration as soon as the tedious driver bug is fixed\n    port: 9999,\n    database: 'my-database',\n  },\n});\n\nconnection.connect(err =\u003e {\n  if (err) {\n    throw err;\n  }\n  let result;\n  const req = new Request('SELECT GETUTCDATE()', err =\u003e {\n    if (err) {\n      throw err;\n    }\n  });\n  req.on('error', err =\u003e {\n    throw err;\n  });\n  req.on('row', columns =\u003e {\n    result = columns;\n  });\n  req.on('requestCompleted', () =\u003e {\n    console.table(result);\n  });\n  connection.execSql(req);\n});\n\nconnection.close();\nconnector.close();\n```\n\n### Using a Local Proxy Tunnel (Unix domain socket)\n\nAnother possible way to use the Cloud SQL Node.js Connector is by creating a\nlocal proxy server that tunnels to the secured connection established\nusing the `Connector.startLocalProxy()` method instead of\n`Connector.getOptions()`.\n\n\u003e [!NOTE]\n\u003e\n\u003e The `startLocalProxy()` method is currently only supported for MySQL and PostgreSQL\n\u003e as it uses a Unix domain socket which SQL Server does not currently support.\n\nThis alternative approach enables usage of the Connector library with\nunsupported drivers such as [Prisma](https://www.prisma.io/). Here is an\nexample on how to use it with its PostgreSQL driver:\n\n```js\nimport {Connector} from '@google-cloud/cloud-sql-connector';\nimport {PrismaClient} from '@prisma/client';\n\nconst connector = new Connector();\nawait connector.startLocalProxy({\n  instanceConnectionName: 'my-project:us-east1:my-instance',\n  listenOptions: { path: '.s.PGSQL.5432' },\n});\nconst hostPath = process.cwd();\n\nconst datasourceUrl =\n `postgresql://my-user:password@localhost/dbName?host=${hostPath}`;\nconst prisma = new PrismaClient({ datasourceUrl });\n\nconnector.close();\nawait prisma.$disconnect();\n```\n\nFor examples on each of the supported Cloud SQL databases consult our\n[Prisma samples](./examples/README.md#prisma).\n\n### Specifying IP Address Type\n\nThe Cloud SQL Connector for Node.js can be used to connect to Cloud SQL\ninstances using both public and private IP addresses, as well as\n[Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect)\n(PSC). Specifying which IP address type to connect to can be configured within\n`getOptions` through the `ipType` argument.\n\nBy default, connections will be configured to `'PUBLIC'` and connect over\npublic IP, to configure connections to use an instance's private IP,\nuse `'PRIVATE'` for `ipType` as follows:\n\n**Note:** If specifying Private IP or Private Service Connect, your application\nmust be attached to the proper VPC network to connect to your Cloud SQL\ninstance. For most applications this will require the use of a\n[VPC Connector](https://cloud.google.com/vpc/docs/configure-serverless-vpc-access#create-connector).\n\n#### Example on how to use a Private IP\n\n```js\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  ipType: 'PRIVATE',\n});\n```\n\n#### Example on how to use a [Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect) (PSC) IP\n\n```js\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  ipType: 'PSC',\n});\n```\n\n#### Example on how to use `IpAddressTypes` in TypeScript\n\n```js\nimport {Connector, IpAddressTypes} from '@google-cloud/cloud-sql-connector';\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  ipType: IpAddressTypes.PSC,\n});\n```\n\n### Automatic IAM Database Authentication\n\nConnections using [Automatic IAM database authentication][] are supported when\nusing Postgres or MySQL drivers.\n\nMake sure to [configure your Cloud SQL Instance to allow IAM authentication][configure-iam-authn]\nand [add an IAM database user][add-iam-user].\n\nA `Connector` can be configured to connect to a Cloud SQL instance using\nautomatic IAM database authentication with `getOptions` through the\n`authType` argument.\n\n```js\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  authType: 'IAM',\n});\n```\n\nWhen configuring a connection for IAM authentication, the `password` argument\ncan be omitted and the `user` argument should be formatted as follows:\n\n\u003e Postgres: For an IAM user account, this is the user's email address.\n\u003e For a service account, it is the service account's email without the\n\u003e `.gserviceaccount.com` domain suffix.\n\u003e\n\u003e MySQL: For an IAM user account, this is the user's email address, without\n\u003e the `@` or domain name. For example, for `test-user@gmail.com`, set the\n\u003e `user` field to `test-user`. For a service account, this is the service\n\u003e account's email address without the `@project-id.iam.gserviceaccount.com`\n\u003e suffix.\n\nExamples using the `test-sa@test-project.iam.gserviceaccount.com`\nservice account to connect can be found below.\n\n[Automatic IAM database authentication]: https://cloud.google.com/sql/docs/postgres/authentication#automatic\n[configure-iam-authn]: https://cloud.google.com/sql/docs/postgres/create-edit-iam-instances#configure-iam-db-instance\n[add-iam-user]: https://cloud.google.com/sql/docs/postgres/create-manage-iam-users#creating-a-database-user\n\n#### Postgres Automatic IAM Authentication Example\n\n```js\nimport pg from 'pg';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\nconst {Pool} = pg;\n\nconst connector = new Connector();\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  authType: 'IAM',\n});\nconst pool = new Pool({\n  ...clientOpts,\n  user: 'test-sa@test-project.iam',\n  database: 'db-name',\n  max: 5,\n});\nconst {rows} = await pool.query('SELECT NOW()');\nconsole.table(rows); // prints returned time value from server\n\nawait pool.end();\nconnector.close();\n```\n\n#### MySQL Automatic IAM Authentication Example\n\n```js\nimport mysql from 'mysql2/promise';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\n\nconst connector = new Connector();\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  authType: 'IAM',\n});\nconst pool = await mysql.createPool({\n  ...clientOpts,\n  user: 'test-sa',\n  database: 'db-name',\n});\nconst conn = await pool.getConnection();\nconst [result] = await conn.query(`SELECT NOW();`);\nconsole.table(result); // prints returned time value from server\n\nawait pool.end();\nconnector.close();\n```\n\n#### Example on how to use `AuthTypes` in TypeScript\n\nFor TypeScript users, the `AuthTypes` type can be imported and used directly\nfor automatic IAM database authentication.\n\n```js\nimport {AuthTypes, Connector} from '@google-cloud/cloud-sql-connector';\nconst clientOpts = await connector.getOptions({\n  instanceConnectionName: 'my-project:region:my-instance',\n  authType: AuthTypes.IAM,\n});\n```\n\n## Using With `Google Auth Library: Node.js Client` Credentials\n\nOne can use [`google-auth-library`](https://github.com/googleapis/google-auth-library-nodejs/) credentials\nwith this library by providing an `AuthClient` or `GoogleAuth` instance to the `Connector`.\n\n```sh\nnpm install google-auth-library\n```\n\n```js\nimport {GoogleAuth} from 'google-auth-library';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\n\nconst connector = new Connector({\n  auth: new GoogleAuth({\n    scopes: ['https://www.googleapis.com/auth/sqlservice.admin']\n  }),\n});\n```\n\nThis can be useful when configuring credentials that differ from\nApplication Default Credentials. See the [documentation][google-auth-creds]\non the `google-auth-library` for more information.\n\n### Setting a custom quota project\n\nThe custom **Google Auth Library** `auth` property can also be used to set\nauth-specific properties such as a custom quota project. Following up from the\nprevious example, here's how you can set a custom quota project using a custom\n`auth` credential:\n\n```js\nimport {GoogleAuth} from 'google-auth-library';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\n\nconst connector = new Connector({\n  auth: new GoogleAuth({\n    clientOptions: {\n      quotaProjectId: '\u003ccustom quota project\u003e',\n    },\n  }),\n});\n```\n\n## Additional customization via Environment Variables\n\nIt is possible to change some of the library default behavior via environment\nvariables. Here is a quick reference to supported values and their effect:\n\n- `GOOGLE_APPLICATION_CREDENTIALS`: If defined the connector will use this\n  file as a custom credential files to authenticate to Cloud SQL APIs. Should be\n  a path to a JSON file. You can\n  [find more on how to get a valid credentials file here][credentials-json-file].\n- `GOOGLE_CLOUD_QUOTA_PROJECT`: Used to set a custom quota project to Cloud SQL\n  APIs when defined.\n\n## Using Advanced Disaster Recovery and DNS domain names to identify instances\n\nThe connector can be configured to use DNS to look up an instance.\nUse a DNS name managed by Cloud SQL [Advanced Disaster Recovery](https://docs.cloud.google.com/sql/docs/mysql/use-advanced-disaster-recovery),\nor a domain name that you manage.\n\n### Using Advanced Recovery Write Endpoint DNS Name\n\n[Advanced Disaster Recovery](https://docs.cloud.google.com/sql/docs/mysql/use-advanced-disaster-recovery)\ncreates geographically distributed replicas of your Cloud SQL database instance. When you perform\nswitchover or failover on the database instance, the connector will gracefully disconnect from the\nold primary instance and reconnect to the new primary instance.\n\nFollow the instructions in [Connect using Write Endpoint](https://docs.cloud.google.com/sql/docs/mysql/connect-to-instance-using-write-endpoint)\nto get the write endpoint DNS name for your primary instance. Then, use this write endpoint DNS\nname to configure the connector.\n\n### Configure your DNS Records\n\nThe connector may be configured to use DNS that you define as well.\n\nAdd a DNS TXT record for the Cloud SQL instance to a **private** DNS server\nor a private Google Cloud DNS Zone used by your application.\n\n**Note:** You are strongly discouraged from adding DNS records for your\nCloud SQL instances to a public DNS server. This would allow anyone on the\ninternet to discover the Cloud SQL instance name.\n\nFor example: suppose you wanted to use the domain name\n`prod-db.mycompany.example.com` to connect to your database instance\n`my-project:region:my-instance`. You would create the following DNS record:\n\n- Record type: `TXT`\n- Name: `prod-db.mycompany.example.com` – This is the domain name used by the application\n- Value: `my-project:region:my-instance` – This is the instance name\n\n### Configure the connector\n\nConfigure the connector as described above, replacing the connector ID with\nthe DNS name.\n\nAdapting the MySQL + database/sql example above:\n\n```js\nimport mysql from 'mysql2/promise';\nimport {Connector} from '@google-cloud/cloud-sql-connector';\n\nconst connector = new Connector();\nconst clientOpts = await connector.getOptions({\n  domainName: 'prod-db.mycompany.example.com',\n  ipType: 'PUBLIC',\n});\n\nconst pool = await mysql.createPool({\n  ...clientOpts,\n  user: 'my-user',\n  password: 'my-password',\n  database: 'db-name',\n});\nconst conn = await pool.getConnection();\nconst [result] = await conn.query(`SELECT NOW();`);\nconsole.table(result); // prints returned time value from server\n\nawait pool.end();\nconnector.close();\n```\n\n## Automatic failover using DNS domain names\n\nFor example: suppose application is configured to connect using the\ndomain name `prod-db.mycompany.example.com`. Initially the private DNS\nzone has a TXT record with the value `my-project:region:my-instance`. The\napplication establishes connections to the `my-project:region:my-instance`\nCloud SQL instance. Configure the connector using the `domainName` option:\n\nThen, to reconfigure the application to use a different database\ninstance, change the value of the `prod-db.mycompany.example.com` DNS record\nfrom `my-project:region:my-instance` to `my-project:other-region:my-instance-2`\n\nThe connector inside the application detects the change to this\nDNS record. Now, when the application connects to its database using the\ndomain name `prod-db.mycompany.example.com`, it will connect to the\n`my-project:other-region:my-instance-2` Cloud SQL instance.\n\nThe connector will automatically close all existing connections to\n`my-project:region:my-instance`. This will force the connection pools to\nestablish new connections. Also, it may cause database queries in progress\nto fail.\n\nThe connector will poll for changes to the DNS name every 30 seconds by default.\nYou may configure the frequency of the connections using the Connector's\n`failoverPeriod` option. When this is set to 0, the connector will disable\npolling and only check if the DNS record changed when it is creating a new \nconnection.\n\n## Support policy\n\n### Major version lifecycle\n\nThis project uses [semantic versioning](https://semver.org/), and uses the\nfollowing lifecycle regarding support for a major version:\n\n**Active** - Active versions get all new features and security fixes (that\nwouldn’t otherwise introduce a breaking change). New major versions are\nguaranteed to be \"active\" for a minimum of 1 year.\n\n**Deprecated** - Deprecated versions continue to receive security and critical\nbug fixes, but do not receive new features. Deprecated versions will be\nsupported for 1 year.\n\n**Unsupported** - Any major version that has been deprecated for \u003e=1 year is\nconsidered unsupported.\n\n### Supported Node.js Versions\n\nOur client libraries follow the\n[Node.js release schedule](https://nodejs.org/en/about/releases/).\nLibraries are compatible with all current _active_ and _maintenance_ versions\nof Node.js.\nIf you are using an end-of-life version of Node.js, we recommend that you\nupdate as soon as possible to an actively supported LTS version.\n\nGoogle's client libraries support legacy versions of Node.js runtimes on a\nbest-efforts basis with the following warnings:\n\n- Legacy versions are not tested in continuous integration.\n- Some security patches and features cannot be backported.\n- Dependencies cannot be kept up-to-date.\n\n### Release cadence\n\nThis project aims for a release on at least a monthly basis. If no new features\nor fixes have been added, a new PATCH version with the latest dependencies is\nreleased.\n\n## Contributing\n\nWe welcome outside contributions. Please see our\n[Contributing Guide](./docs/contributing.md) for details on how best to\ncontribute.\n\n## License\n\nApache Version 2.0\n\nSee [LICENSE](./LICENSE)\n\n[credentials-json-file]: https://github.com/googleapis/google-cloud-node#download-your-service-account-credentials-json-file\n[google-auth-creds]: https://cloud.google.com/nodejs/docs/reference/google-auth-library/latest#loading-credentials-from-environment-variables\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fcloud-sql-nodejs-connector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglecloudplatform%2Fcloud-sql-nodejs-connector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fcloud-sql-nodejs-connector/lists"}