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 #11522

Merged
merged 2 commits into from
Jul 23, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 22, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@astrojs/check (source) ^0.8.1 -> ^0.8.2 age adoption passing confidence
@astrojs/compiler (source) ^2.9.0 -> ^2.9.2 age adoption passing confidence
@fortawesome/fontawesome-free (source) ^6.5.2 -> ^6.6.0 age adoption passing confidence
@types/dom-view-transitions (source) ^1.0.4 -> ^1.0.5 age adoption passing confidence
@vercel/edge (source) ^1.1.1 -> ^1.1.2 age adoption passing confidence
@vue/compiler-sfc (source) ^3.4.31 -> ^3.4.33 age adoption passing confidence
drizzle-orm (source) ^0.31.2 -> ^0.32.0 age adoption passing confidence
postcss (source) ^8.4.38 -> ^8.4.39 age adoption passing confidence
prettier-plugin-astro ^0.14.0 -> ^0.14.1 age adoption passing confidence
rollup (source) ^4.18.1 -> ^4.19.0 age adoption passing confidence
semver ^7.6.2 -> ^7.6.3 age adoption passing confidence
shiki (source) ^1.10.3 -> ^1.11.0 age adoption passing confidence
tailwindcss (source) ^3.4.5 -> ^3.4.6 age adoption passing confidence
tailwindcss (source) ^3.4.3 -> ^3.4.6 age adoption passing confidence
vue (source) ^3.4.31 -> ^3.4.33 age adoption passing confidence
web-vitals ^4.2.1 -> ^4.2.2 age adoption passing confidence

Release Notes

withastro/language-tools (@​astrojs/check)

v0.8.2

Compare Source

Patch Changes
withastro/compiler (@​astrojs/compiler)

v2.9.2

Compare Source

Patch Changes
  • a765f47: Escape script tags with unknown types
FortAwesome/Font-Awesome (@​fortawesome/fontawesome-free)

v6.6.0

Compare Source

vercel/vercel (@​vercel/edge)

v1.1.2

Compare Source

Patch Changes
  • [edge] deprecate ipAddress & geolocation. (#​11869)
vuejs/core (@​vue/compiler-sfc)

v3.4.33

Compare Source

Bug Fixes

v3.4.32

Compare Source

Bug Fixes
Performance Improvements
  • server-renderer: avoid unnecessary checks in createBuffer (#​11364) (fc205bf)
  • server-renderer: optimize unrollBuffer by avoiding promises (#​11340) (05779a7)
drizzle-team/drizzle-orm (drizzle-orm)

v0.32.0

Compare Source

Release notes for drizzle-orm@0.32.0 and drizzle-kit@0.23.0

It's not mandatory to upgrade both packages, but if you want to use the new features in both queries and migrations, you will need to upgrade both packages

New Features

🎉 MySQL $returningId() function

MySQL itself doesn't have native support for RETURNING after using INSERT. There is only one way to do it for primary keys with autoincrement (or serial) types, where you can access insertId and affectedRows fields. We've prepared an automatic way for you to handle such cases with Drizzle and automatically receive all inserted IDs as separate objects

import { boolean, int, text, mysqlTable } from 'drizzle-orm/mysql-core';

const usersTable = mysqlTable('users', {
  id: int('id').primaryKey(),
  name: text('name').notNull(),
  verified: boolean('verified').notNull().default(false),
});

const result = await db.insert(usersTable).values([{ name: 'John' }, { name: 'John1' }]).$returningId();
//    ^? { id: number }[]

Also with Drizzle, you can specify a primary key with $default function that will generate custom primary keys at runtime. We will also return those generated keys for you in the $returningId() call

import { varchar, text, mysqlTable } from 'drizzle-orm/mysql-core';
import { createId } from '@​paralleldrive/cuid2';

const usersTableDefFn = mysqlTable('users_default_fn', {
  customId: varchar('id', { length: 256 }).primaryKey().$defaultFn(createId),
  name: text('name').notNull(),
});

const result = await db.insert(usersTableDefFn).values([{ name: 'John' }, { name: 'John1' }]).$returningId();
//  ^? { customId: string }[]

If there is no primary keys -> type will be {}[] for such queries

🎉 PostgreSQL Sequences

You can now specify sequences in Postgres within any schema you need and define all the available properties

Example
import { pgSchema, pgSequence } from "drizzle-orm/pg-core";

// No params specified
export const customSequence = pgSequence("name");

// Sequence with params
export const customSequence = pgSequence("name", {
      startWith: 100,
      maxValue: 10000,
      minValue: 100,
      cycle: true,
      cache: 10,
      increment: 2
});

// Sequence in custom schema
export const customSchema = pgSchema('custom_schema');

export const customSequence = customSchema.sequence("name");
🎉 PostgreSQL Identity Columns

Source: As mentioned, the serial type in Postgres is outdated and should be deprecated. Ideally, you should not use it. Identity columns are the recommended way to specify sequences in your schema, which is why we are introducing the identity columns feature

Example
import { pgTable, integer, text } from 'drizzle-orm/pg-core' 

export const ingredients = pgTable("ingredients", {
  id: integer("id").primaryKey().generatedAlwaysAsIdentity({ startWith: 1000 }),
  name: text("name").notNull(),
  description: text("description"),
});

You can specify all properties available for sequences in the .generatedAlwaysAsIdentity() function. Additionally, you can specify custom names for these sequences

PostgreSQL docs reference.

🎉 PostgreSQL Generated Columns

You can now specify generated columns on any column supported by PostgreSQL to use with generated columns

Example with generated column for tsvector

Note: we will add tsVector column type before latest release

import { SQL, sql } from "drizzle-orm";
import { customType, index, integer, pgTable, text } from "drizzle-orm/pg-core";

const tsVector = customType<{ data: string }>({
  dataType() {
    return "tsvector";
  },
});

export const test = pgTable(
  "test",
  {
    id: integer("id").primaryKey().generatedAlwaysAsIdentity(),
    content: text("content"),
    contentSearch: tsVector("content_search", {
      dimensions: 3,
    }).generatedAlwaysAs(
      (): SQL => sql`to_tsvector('english', ${test.content})`
    ),
  },
  (t) => ({
    idx: index("idx_content_search").using("gin", t.contentSearch),
  })
);

In case you don't need to reference any columns from your table, you can use just sql template or a string

export const users = pgTable("users", {
  id: integer("id"),
  name: text("name"),
  generatedName: text("gen_name").generatedAlwaysAs(sql`hello world!`),
  generatedName1: text("gen_name1").generatedAlwaysAs("hello world!"),
}),
🎉 MySQL Generated Columns

You can now specify generated columns on any column supported by MySQL to use with generated columns

You can specify both stored and virtual options, for more info you can check MySQL docs

Also MySQL has a few limitation for such columns usage, which is described here

Drizzle Kit will also have limitations for push command:

  1. You can't change the generated constraint expression and type using push. Drizzle-kit will ignore this change. To make it work, you would need to drop the column, push, and then add a column with a new expression. This was done due to the complex mapping from the database side, where the schema expression will be modified on the database side and, on introspection, we will get a different string. We can't be sure if you changed this expression or if it was changed and formatted by the database. As long as these are generated columns and push is mostly used for prototyping on a local database, it should be fast to drop and create generated columns. Since these columns are generated, all the data will be restored

  2. generate should have no limitations

Example
export const users = mysqlTable("users", {
  id: int("id"),
  id2: int("id2"),
  name: text("name"),
  generatedName: text("gen_name").generatedAlwaysAs(
    (): SQL => sql`${schema2.users.name} || 'hello'`,
    { mode: "stored" }
  ),
  generatedName1: text("gen_name1").generatedAlwaysAs(
    (): SQL => sql`${schema2.users.name} || 'hello'`,
    { mode: "virtual" }
  ),
}),

In case you don't need to reference any columns from your table, you can use just sql template or a string in .generatedAlwaysAs()

🎉 SQLite Generated Columns

You can now specify generated columns on any column supported by SQLite to use with generated columns

You can specify both stored and virtual options, for more info you can check SQLite docs

Also SQLite has a few limitation for such columns usage, which is described here

Drizzle Kit will also have limitations for push and generate command:

  1. You can't change the generated constraint expression with the stored type in an existing table. You would need to delete this table and create it again. This is due to SQLite limitations for such actions. We will handle this case in future releases (it will involve the creation of a new table with data migration).

  2. You can't add a stored generated expression to an existing column for the same reason as above. However, you can add a virtual expression to an existing column.

  3. You can't change a stored generated expression in an existing column for the same reason as above. However, you can change a virtual expression.

  4. You can't change the generated constraint type from virtual to stored for the same reason as above. However, you can change from stored to virtual.

New Drizzle Kit features

🎉 Migrations support for all the new orm features

PostgreSQL sequences, identity columns and generated columns for all dialects

🎉 New flag --force for drizzle-kit push

You can auto-accept all data-loss statements using the push command. It's only available in CLI parameters. Make sure you always use it if you are fine with running data-loss statements on your database

🎉 New migrations flag prefix

You can now customize migration file prefixes to make the format suitable for your migration tools:

  • index is the default type and will result in 0001_name.sql file names;
  • supabase and timestamp are equal and will result in 20240627123900_name.sql file names;
  • unix will result in unix seconds prefixes 1719481298_name.sql file names;
  • none will omit the prefix completely;
Example: Supabase migrations format
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  dialect: "postgresql",
  migrations: {
    prefix: 'supabase'
  }
});
withastro/prettier-plugin-astro (prettier-plugin-astro)

v0.14.1

Compare Source

Patch Changes
  • 7282bcb: Fixes an issue where style and script tags would sometimes get moved to other tags
rollup/rollup (rollup)

v4.19.0

Compare Source

2024-07-20

Features
  • Implement support for decorators (#​5562)
Bug Fixes
  • Improve soucemap generation when tree-shaking logical expressions (#​5581)
Pull Requests
npm/node-semver (semver)

v7.6.3

Compare Source

Bug Fixes
Documentation
shikijs/shiki (shiki)

v1.11.0

Compare Source

   🚀 Features
    View changes on GitHub
tailwindlabs/tailwindcss (tailwindcss)

v3.4.6

Compare Source

Fixed
  • Fix detection of some utilities in Slim/Pug templates (#​14006)
Changed
  • Loosen :is() wrapping rules when using an important selector (#​13900)
GoogleChrome/web-vitals (web-vitals)

v4.2.2

Compare Source

  • Fix interaction count after bfcache restore (#​505)

Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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 the dependencies Pull requests that update a dependency file label Jul 22, 2024
Copy link

changeset-bot bot commented Jul 22, 2024

⚠️ No Changeset found

Latest commit: 77021f9

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions github-actions bot added feat: markdown Related to Markdown (scope) pkg: vue Related to Vue (scope) pkg: example Related to an example package (scope) pkg: react Related to React (scope) pkg: integration Related to any renderer integration (scope) pkg: astro Related to the core `astro` package (scope) labels Jul 22, 2024
Copy link
Contributor Author

renovate bot commented Jul 22, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@bluwy bluwy merged commit 536209a into main Jul 23, 2024
14 checks passed
@bluwy bluwy deleted the renovate/all-minor-patch branch July 23, 2024 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file feat: markdown Related to Markdown (scope) pkg: astro Related to the core `astro` package (scope) pkg: example Related to an example package (scope) pkg: integration Related to any renderer integration (scope) pkg: react Related to React (scope) pkg: vue Related to Vue (scope)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant