Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update all non-major dependencies #542

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 10, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@prisma/client (source) 5.7.0 -> 5.16.2 age adoption passing confidence dependencies minor
@sapphire/decorators (source) 6.0.3 -> 6.1.0 age adoption passing confidence dependencies minor
@sapphire/discord-utilities (source) 3.2.1 -> 3.3.0 age adoption passing confidence dependencies minor
@sapphire/discord.js-utilities (source) 7.1.3 -> 7.3.0 age adoption passing confidence dependencies minor
@sapphire/duration (source) 1.1.1 -> 1.1.2 age adoption passing confidence dependencies patch
@sapphire/eslint-config (source) 5.0.3 -> 5.0.5 age adoption passing confidence devDependencies patch
@sapphire/stopwatch (source) 1.5.1 -> 1.5.2 age adoption passing confidence dependencies patch
@sapphire/ts-config (source) 5.0.0 -> 5.0.1 age adoption passing confidence devDependencies patch
@sapphire/type 2.4.3 -> 2.5.1 age adoption passing confidence dependencies minor
@sapphire/utilities (source) 3.14.0 -> 3.16.2 age adoption passing confidence dependencies minor
@swc/core (source) 1.3.100 -> 1.6.13 age adoption passing confidence devDependencies minor
@swc/helpers (source) 0.5.3 -> 0.5.12 age adoption passing confidence devDependencies patch
@types/gradient-string (source) 1.1.5 -> 1.1.6 age adoption passing confidence devDependencies patch
@types/node (source) 20.10.4 -> 20.14.10 age adoption passing confidence devDependencies minor
@typescript-eslint/eslint-plugin (source) 6.13.2 -> 6.21.0 age adoption passing confidence devDependencies minor
@typescript-eslint/parser (source) 6.13.2 -> 6.21.0 age adoption passing confidence devDependencies minor
akhileshns/heroku-deploy v3.12.14 -> v3.13.15 age adoption passing confidence action minor
bullmq (source) 4.15.2 -> 4.17.0 age adoption passing confidence dependencies minor
discord.js (source) 14.14.1 -> 14.15.3 age adoption passing confidence dependencies minor
eslint (source) 8.55.0 -> 8.57.0 age adoption passing confidence devDependencies minor
eslint-plugin-prettier 5.0.1 -> 5.1.3 age adoption passing confidence devDependencies minor
ioredis 5.3.2 -> 5.4.1 age adoption passing confidence dependencies minor
lint-staged 15.2.0 -> 15.2.7 age adoption passing confidence devDependencies patch
node (source) 20.10.0 -> 20.15.1 age adoption passing confidence engines minor
prettier (source) 3.1.0 -> 3.3.3 age adoption passing confidence devDependencies minor
prisma (source) 5.7.0 -> 5.16.2 age adoption passing confidence devDependencies minor
typescript (source) 5.3.3 -> 5.5.3 age adoption passing confidence devDependencies minor
undici (source) 5.28.2 -> 5.28.4 age adoption passing confidence dependencies patch
yarn (source) 3.7.0 -> 3.8.3 age adoption passing confidence packageManager minor

Release Notes

prisma/prisma (@​prisma/client)

v5.16.2

Compare Source

Today, we are issuing the 5.16.2 patch release to fix an issue in Prisma client.

Fix in Prisma Client

v5.16.1

Compare Source

Today, we are issuing the 5.16.1 patch release to fix an issue in Prisma client.

Fix in Prisma Client

v5.16.0

Compare Source

🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟

Highlights
Omit model fields globally

With Prisma ORM 5.16.0 we’re more than happy to announce that we’re expanding the omitApi Preview feature to also include the ability to omit fields globally.

When the Preview feature is enabled, you’re able to define fields to omit when instantiating Prisma Client.

const prisma = new PrismaClient({
  omit: {
    user: {
      // make sure that password is never queried.
      password: true,
    },
  },
});

You’re also able to omit fields from multiple models and multiple fields from the same model

const prisma = new PrismaClient({
  omit: {
    user: { 
      // make sure that password and internalId are never queried.
      password: true,
      internalId: true,
    },
    post: {
      secretkey: true,
    },
  },
});

With both local and global omit, you now have the flexibility to completely remove sensitive fields while also tailoring individual queries. If you need the ability to generally omit a field except in a specific query, you can also overwrite a global omit locally

const prisma = new PrismaClient({
  omit: {
    user: { 
      // password is omitted globally.
      password: true,
    },
  },
});

const userWithPassword = await prisma.user.findUnique({
  omit: { password: false }, // omit now false, so password is returned
  where: { id: 1 },
});
Changes to prismaSchemaFolder

In 5.15.0 we released the prismaSchemaFolder Preview feature, allowing you to create multiple Prisma Schema files in a prisma/schema directory. We’ve gotten a lot of great feedback and are really excited with how the community has been using the feature.

To continue improving our multi-file schema support, we have a few breaking changes to the prismaSchemaFolder feature:

  • When using relative paths in Prisma Schema files with the prismaSchemaFolder feature, a path is now relative to the file it is defined in rather than relative to the prisma/schema folder. This means that if you have a generator block in /project/prisma/schema/config/generator.prisma with an output of ./foo the output will be resolved to /project/prisma/schema/config/foo rather than /project/prisma/foo. The path to a SQLite file will be resolved in the same manner.
  • We realized that during migration many people would have prisma/schema as well as prisma/schema.prisma. Our initial implementation looked for a .prisma file first and would ignore the schema folder if it exists. This is now an error.
Changes to fullTextSearch

In order to improve our full-text search implementation we have made a breaking change to the fullTextSearch Preview feature.

Previously, when the feature was enabled we updated the <Model>OrderByWithRelationInput TypeScript type with the <Model>OrderByWithRelationAndSearchRelevanceInput type. However, we have noted that there are no cases where relational ordering is needed but search relevance is not. Thus, we have decided to remove the <Model>OrderByWithRelationAndSearchRelevanceInput naming and only use the <Model>OrderByWithRelationInput naming.

Fixes and improvements
Prisma
Language tools (e.g. VS Code)
Prisma Engines
Credits

Huge thanks to @​key-moon, @​pranayat, @​yubrot, @​skyzh, @​brian-dlee, @​mydea, @​nickcarnival, @​eruditmorina, @​nzakas, @​gutyerrez, @​avallete, @​ceddy4395, @​Kayoshi-dev, @​yehonatanz for helping!

v5.15.1

Compare Source

Today, we are issuing the 5.15.1 patch release.

Fixes in Prisma Client

v5.15.0

Compare Source

Today, we are excited to share the 5.15.0 stable release 🎉

🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟

Highlights
Multi-File Prisma Schema support

Prisma ORM 5.15.0 features support for multi-file Prisma Schema in Preview.

This closes a long standing issue and does so in a clean and easy to migrate way.

To get started:

  1. Enable the prismaSchemaFolder Preview feature by including it in the previewFeatures field of your generator.
    datasource db {
      provider = "postgresql"
      url      = env("DATABASE_URL")
    }
    
    generator client {
      provider        = "prisma-client-js"
      previewFeatures = ["prismaSchemaFolder"]
    }
    
  2. Create a schema subdirectory under your prisma directory.
  3. Move your schema.prisma into this directory.

You are now set up with a multi-file Prisma Schema! Add as many or as few .prisma files to the new prisma/schema directory.

When running commands where a Prisma Schema file is expected to be provided, you can now define a Prisma Schema directory. This includes Prisma CLI commands that use the --schema option as well as defining schema via package.json

Our tooling has also been updated to handle multiple Prisma Schema files. This includes our Visual Studio Code extension and tools like database introspection, which will deposit new models in a introspected.prisma file. Existing models will be updated in the file they are found.

To learn more, please refer to our official documentation and announcement blog post. If you try out prismaSchemaFolder, please let us know!

Interesting Bug Fixes
Fix for PostgreSQL prepared statement caching for raw queries

This release fixes a nasty bug with the caching of prepared statements in raw Prisma Client queries that affected PostgreSQL when you ran the same SQL statement with differently typed paramters. This should not fail any more.

Fix for SQL Server introspection of (deprecated) CREATE DEFAULT

Our Introspection logic crashed on encountering certain multi-line CREATE DEFAULT, a deprecated way to define defaults in SQL Server. As many SQL Server users are working with established databases, this happened frequently enough that we now explicitly ignore these defaults instead of crashing.

Fix for Cloudflare D1’s lower parameter limit

Cloudflare’s D1 has a lower parameter limit than local SQLite, which caused bigger queries to fail. We adapted that limit to the D1 default for @prisma/adapter-d1, which will avoid such failures.

Fix for Cloudflare D1’s different PRAGMA support

Our generated migration SQL for SQLite did not always work for Cloudflare D1, because of differences in the supported pragmas. We adapted the SQL to work in both local SQLite and Cloudflare D1.

Fixes and improvements
Prisma Migrate
Prisma Client
Language tools (e.g. VS Code)
Credits

Huge thanks to @​pranayat, @​yubrot, and @​skyzh for helping!

v5.14.0

Compare Source

Today, we are excited to share the 5.14.0 stable release 🎉

🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release. 🌟

Highlights
Share your feedback about Prisma ORM

We want to know how you like working with Prisma ORM in your projects! Please take our 2min survey and let us know what you like or where we can improve 🙏

createManyAndReturn()

We’re happy to announce the availability of a new, top-level Prisma Client query: createManyAndReturn(). It works similarly to createMany() but uses a RETURNING clause in the SQL query to retrieve the records that were just created.

Here’s an example of creating multiple posts and then immediately returning those posts.

const postBodies = req.json()['posts']

const posts = prisma.post.createManyAndReturn({
	data: postBodies
});

return posts

Additionally,createManyAndReturn() supports the same options as findMany(), such as the ability to return only specific fields.

const postBodies = req.json()['posts']

const postTitles = prisma.post.createManyAndReturn({
	data: postBodies,
	select: {
	  title: true,
	},
});

return postTitles

Note: Because createManyAndReturn() uses the RETURNING clause, it is only supported by PostgreSQL, CockroachDB, and SQLite databases. At this time, relationLoadStrategy: join is not supported in createManyAndReturn() queries.

MongoDB performance improvements

Previously, Prisma ORM suffered from performance issues when using the in operator or when including related models in queries against a MongoDB database. These queries were translated by the Prisma query engine in such a way that indexes were skipped and collection scans were used, leading to slower queries especially on large datasets.

With 5.14.0, Prisma ORM now rewrites queries to use a combination of $or and $eq operators, leading to dramatic performance increases for queries that include in operators or relation loading.

Fixes and improvements
Prisma Client
Prisma Migrate
Language tools (e.g. VS Code)
Company news
Prisma Changelog

Curious about all things Prisma? Be sure to check out the Prisma Changelog for updates across Prisma's products, including ORM, Accelerate, and Pulse!

Credits

Huge thanks to @​pranayat, @​yubrot, @​skyzh, @​anuraaga, @​gutyerrez, @​avallete, @​ceddy4395, @​Kayoshi-dev for helping!

v5.13.0

Compare Source

Today, we are excited to share the 5.13.0 stable release 🎉

🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release.

Highlights
omit fields from Prisma Client queries (Preview)

We’re excited to announce Preview support for the omit option within the Prisma Client query options. The highly-requested omit feature now allows you to exclude fields that you don’t want to retrieve from the database on a per-query basis.

By default, when a query returns records, the result includes all scalar fields of the models defined in the Prisma schema. select can be used to return specific fields, while omit can now be used to exclude specific fields. omit lives at the same API level and works on all of the same Prisma Client model queries as select. Note, however, that omit and select are mutually exclusive. In other words, you can’t use both in the same query.

To get started using omit, enable the omitApi Preview feature in your Prisma schema:

// schema.prisma
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["omitApi"]
}

Be sure to re-generate Prisma Client afterwards:

npx prisma generate

Here is an example of using omit:

// Includes all fields except password
await prisma.user.findMany({
  omit: {
   password: true
  },
})

Here is an example of using omit with include:

// Includes all user fields except user's password and title of user's posts
await prisma.user.findMany({
  omit: {
   password: true
  },
  include: {
    posts: {
      omit: {
        title: true
      },
    },
  },
})
Expand to view the example Prisma schema
model User {
  id       Int     @&#8203;id @&#8203;default(autoincrement())
  email    String  @&#8203;unique
  name     String?
  password String
  posts    Post[]
}

model Post {
  id       Int    @&#8203;id @&#8203;default(autoincrement())
  title    String
  author   User   @&#8203;relation(fields: [authorId], references: [id])
  authorId Int
}

Many users have requested a global implementation of omit. This request will be accommodated in the future. In the meantime, you can follow the issue here.

📣 Share your feedback: omitApi Preview feature

📚 Documentation: omit - Prisma Client API Reference

Fixes and improvements
Prisma Migrate
Prisma Client
Credits

Huge thanks to @​ospfranco, @​pranayat, @​yubrot, @​skyzh, @​anuraaga, @​yehonatanz, @​arthurfiorette, @​elithrar, @​tockn, @​Kuhave, @​obiwac for helping!

v5.12.1

Compare Source

Today, we are issuing the 5.12.1 patch release to fix two small problems with our new Cloudflare D1 support.

Fixes in Prisma CLI
Windows-only fix for new D1 specific flags for migrate diff and db pull

The flags --from-local-d1 and --to-local-d1 for migrate diff and --local-d1 to db pull we added in 5.12.0 were not working as expected when running on Windows only. This is now fixed.

📚 Documentation: Deploying a Cloudflare worker with D1 and Prisma ORM

New option for migrate diff: -o or --output

We added a new parameter --output to migrate diff that can be used to provide a filename into which the output of the command will be written. This is particularly useful for Windows users, using PowerShell, as using > to write into a file creates a UTF-16 LE file that can not be read by wrangler d1 migrations apply. Using this new option, this problem can be avoided:

npx prisma migrate diff --script --from-empty --to-schema-datamodel ./prisma/schema.prisma --output ./schema.sql

Related issues:

v5.12.0

Compare Source

Today, we are excited to share the 5.12.0 stable release 🎉

🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release.

Highlights

Cloudflare D1 (Preview)

This release brings Preview support for Cloudflare D1 with Prisma ORM 🥳

D1 is Cloudflare’s SQLite database that can be used when deploying applications with Cloudflare.

When using Prisma ORM with D1, you can continue to: model your database with Prisma schema language, specify sqlite as your database provider in your Prisma schema, and interact with your database using Prisma Client.

To use Prisma ORM and D1 on Cloudflare Workers or Cloudflare Pages, you need to set sqlite as your database provider and use the @prisma/adapter-d1 database adapter via the driverAdapters Preview feature, released back in version 5.4.0.

Here is an example of sending a query to your D1 database using Prisma Client in your Worker:

// src/index.ts file
import { PrismaClient } from '@&#8203;prisma/client'
import { PrismaD1 } from '@&#8203;prisma/adapter-d1'

// Add the D1Database to the Env interface
export interface Env {
// This must match the binding name defined in your wrangler.toml configuration
  DB: D1Database
}

export default {
  async fetch(
    request: Request,
    env: Env,
    ctx: ExecutionContext
  ): Promise<Response> {
    // Make sure the database name matches the binding name in wrangler.toml and Env interface
    const adapter = new PrismaD1(env.DB)
    // Instantiate PrismaClient using the PrismaD1 driver adapter
    const prisma = new PrismaClient({ adapter })

    const users = await prisma.user.findMany()
    const result = JSON.stringify(users)
    return new Response(result)
  },
}

📚 Documentation: Deploying a Cloudflare worker with D1 and Prisma ORM

✍️ Blog post: Build Applications at the Edge with Prisma ORM & Cloudflare D1 (Preview)

📣 Share your feedback: D1 Driver Adapter

🚀 Example project: Deploy a Cloudflare Worker with D1

createMany() for SQLite

Bringing support for createMany() in SQLite has been a long-awaited and highly requested feature

createMany() is a method on Prisma Client, released back in version 2.16.0, that lets you insert multiple records into your database at once. This can be really useful when seeding your database or inserting bulk data.

Here is an example of using createMany() to create new users:

const users = await prisma.user.createMany({
  data: [
    { name: 'Sonali', email: 'sonali@prisma.io' },
    { name: 'Alex', email: 'alex@prisma.io' },
    { name: 'Yewande', email: 'yewande@prisma.io' },
    { name: 'Angelina', email: 'angelina@prisma.io' },
  ],
})

Before this release, if you wanted to perform bulk inserts with SQLite, you would have most likely used $queryRawUnsafe to execute raw SQL queries. But now you don’t have to go through all that trouble 🙂

With SQLite, createMany() works exactly the same way from an API standpoint as it does with other databases except it does not support the skipDuplicates option. At the behavior level, SQLite will split createMany() entries into multiple INSERT queries when the model in your schema contains fields with attributes like @default(dbgenerated()) or @default(autoincrement()) and when the fields are not consistently provided with values across the entries.

📚Documentation: createMany() - Prisma Client API Reference

Fixes and Improvements

Prisma Client

Configuration

📅 Schedule: Branch creation - "before 6pm every weekday" in timezone Asia/Kolkata, Automerge - "after 9pm every weekday" in timezone Asia/Kolkata.

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added Dependencies: Patch Patch fix to dependencies the Project depends on Type: Dependencies All PRs related to dependencies labels Dec 10, 2023
@renovate renovate bot changed the title chore(deps): update dependency prettier to v3.1.1 chore(deps): update all non-major dependencies Dec 11, 2023
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 6 times, most recently from d9487fa to a4bdf01 Compare December 16, 2023 02:03
@renovate renovate bot changed the title chore(deps): update all non-major dependencies fix(deps): update all non-major dependencies Dec 16, 2023
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 8 times, most recently from 5af834e to 5451adf Compare December 24, 2023 07:23
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from 4203947 to 9554fc5 Compare December 31, 2023 14:04
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 4 times, most recently from fb09246 to 7367518 Compare January 6, 2024 02:05
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from b646ecc to 66dcb3f Compare June 18, 2024 15:38
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from dc1458b to e44771e Compare June 25, 2024 23:33
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 1b8e036 to 48f19ee Compare June 30, 2024 13:23
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from e669d7c to 7e8eaa1 Compare July 13, 2024 11:33
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 7e8eaa1 to e9419a6 Compare July 13, 2024 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies: Patch Patch fix to dependencies the Project depends on Type: Dependencies All PRs related to dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants