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

Update all non-major dependencies #473

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 18, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@antfu/eslint-config 3.12.1 -> 3.16.0 age adoption passing confidence
@gqloom/valibot (source) 0.6.1 -> 0.7.0 age adoption passing confidence
@hono/node-server 1.13.7 -> 1.13.8 age adoption passing confidence
@types/node (source) 22.10.4 -> 22.13.2 age adoption passing confidence
eslint (source) 9.17.0 -> 9.20.1 age adoption passing confidence
hono (source) 4.6.15 -> 4.7.1 age adoption passing confidence
lint-staged 15.3.0 -> 15.4.3 age adoption passing confidence
pnpm (source) 9.15.2 -> 9.15.5 age adoption passing confidence
prettier (source) 3.4.2 -> 3.5.0 age adoption passing confidence
typescript (source) 5.7.2 -> 5.7.3 age adoption passing confidence
valibot (source) 1.0.0-beta.9 -> 1.0.0-rc.0 age adoption passing confidence
vite (source) 6.0.9 -> 6.1.0 age adoption passing confidence
vitest (source) 3.0.0-beta.3 -> 3.0.5 age adoption passing confidence

Release Notes

antfu/eslint-config (@​antfu/eslint-config)

v3.16.0

Compare Source

   🚀 Features
    View changes on GitHub

v3.15.0

Compare Source

   🚀 Features
    View changes on GitHub

v3.14.0

Compare Source

   🚀 Features
    View changes on GitHub

v3.13.0

Compare Source

   🚀 Features
    View changes on GitHub

v3.12.2

Compare Source

   🚀 Features
    View changes on GitHub
modevol-com/gqloom (@​gqloom/valibot)

v0.7.0

Compare Source

What's Changed

Full Changelog: https://github.com/modevol-com/gqloom/compare/[@​gqloom/core](https://redirect.github.com/gqloom/core)[@​0](https://redirect.github.com/0).6.0...0.7.0

Resolver Chained Construction

In the old version of GQLoom, we declared operations by passing a resolution option as the second parameter to methods such as query and field. The code looked like this:

import { query, resolver } from "@​gqloom/core"
import * as v from "valibot"

export const helloResolver = resolver({
  hello: query(v.string(), {
    input: { name: v.nullish(v.string(), "World") },
    resolve: ({ name }) => `Hello, ${name}!`,
  }),
})

Now we can use the chained calls of methods such as query and field to declare operations, which will make the development experience easier. The code now looks like this:

import { query, resolver } from "@​gqloom/core"
import * as v from "valibot"

export const helloResolver = resolver({
  hello: query(v.string())
    .input({ name: v.nullish(v.string(), "World") })
    .resolve(({ name }) => `Hello, ${name}!`),
})

Drizzle Integration

GQLoom now provides integration with Drizzle:

  • Use Drizzle Schema as Silk;
  • Use the resolver factory to quickly create CRUD operations from Drizzle.

Here is an example of using both Drizzle and GQLoom:

// schema.ts
import { drizzleSilk } from "@​gqloom/drizzle"
import { relations } from "drizzle-orm"
import * as t from "drizzle-orm/sqlite-core"

export const users = drizzleSilk(
  t.sqliteTable("users", {
    id: t.int().primaryKey({ autoIncrement: true }),
    name: t.text().notNull(),
    age: t.int(),
    email: t.text(),
    password: t.text(),
  })
)

export const usersRelations = relations(users, ({ many }) => ({
  posts: many(posts),
}))

export const posts = drizzleSilk(
  t.sqliteTable("posts", {
    id: t.int().primaryKey({ autoIncrement: true }),
    title: t.text().notNull(),
    content: t.text(),
    authorId: t.int().references(() => users.id, { onDelete: "cascade" }),
  })
)

export const postsRelations = relations(posts, ({ one }) => ({
  author: one(users, {
    fields: [posts.authorId],
    references: [users.id],
  }),
}))
// resolver.ts
import { query, resolver } from "@​gqloom/core"
import { drizzleResolverFactory } from "@​gqloom/drizzle"
import { eq } from "drizzle-orm"
import { drizzle } from "drizzle-orm/libsql"
import * as v from "valibot"
import * as schema from "./schema.ts"
import { users } from "./schema.ts"

const db = drizzle({
  schema,
  connection: { url: process.env.DB_FILE_NAME! },
})

const usersResolverFactory = drizzleResolverFactory(db, "users")

export const usersResolver = resolver.of(users, {
  user: query
    .output(users.$nullable())
    .input({ id: v.number() })
    .resolve(({ id }) => {
      return db.select().from(users).where(eq(users.id, id)).get()
    }),

  users: usersResolverFactory.selectArrayQuery(),

  posts: usersResolverFactory.relationField("posts"), 
})

Learn more in the Drizzle Integration Documentation!

honojs/node-server (@​hono/node-server)

v1.13.8

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/node-server@v1.13.7...v1.13.8

eslint/eslint (eslint)

v9.20.1

Compare Source

v9.20.0

Compare Source

v9.19.0

Compare Source

v9.18.0

Compare Source

honojs/hono (hono)

v4.7.1

Compare Source

v4.7.0

Compare Source

Release Notes

Hono v4.7.0 is now available!

This release introduces one helper and two middleware.

  • Proxy Helper
  • Language Middleware
  • JWK Auth Middleware

Plus, Standard Schema Validator has been born.

Let's look at each of these.

Proxy Helper

We sometimes use the Hono application as a reverse proxy. In that case, it accesses the backend using fetch. However, it sends an unintended headers.

app.all('/proxy/:path', (c) => {
  // Send unintended header values to the origin server
  return fetch(`http://${originServer}/${c.req.param('path')}`)
})

For example, fetch may send Accept-Encoding, causing the origin server to return a compressed response. Some runtimes automatically decode it, leading to a Content-Length mismatch and potential client-side errors.

Also, you should probably remove some of the headers sent from the origin server, such as Transfer-Encoding.

Proxy Helper will send requests to the origin and handle responses properly. The above headers problem is solved simply by writing as follows.

import { Hono } from 'hono'
import { proxy } from 'hono/proxy'

app.get('/proxy/:path', (c) => {
  return proxy(`http://${originServer}/${c.req.param('path')}`)
})

You can also use it in more complex ways.

app.get('/proxy/:path', async (c) => {
  const res = await proxy(
    `http://${originServer}/${c.req.param('path')}`,
    {
      headers: {
        ...c.req.header(),
        'X-Forwarded-For': '127.0.0.1',
        'X-Forwarded-Host': c.req.header('host'),
        Authorization: undefined,
      },
    }
  )
  res.headers.delete('Set-Cookie')
  return res
})

Thanks @​usualoma!

Language Middleware

Language Middleware provides 18n functions to Hono applications. By using the languageDetector function, you can get the language that your application should support.

import { Hono } from 'hono'
import { languageDetector } from 'hono/language'

const app = new Hono()

app.use(
  languageDetector({
    supportedLanguages: ['en', 'ar', 'ja'], // Must include fallback
    fallbackLanguage: 'en', // Required
  })
)

app.get('/', (c) => {
  const lang = c.get('language')
  return c.text(`Hello! Your language is ${lang}`)
})

You can get the target language in various ways, not just by using Accept-Language.

  • Query parameters
  • Cookies
  • Accept-Language header
  • URL path

Thanks @​lord007tn!

JWK Auth Middleware

Finally, middleware that supports JWK (JSON Web Key) has landed. Using JWK Auth Middleware, you can authenticate by verifying JWK tokens. It can access keys fetched from the specified URL.

import { Hono } from 'hono'
import { jwk } from 'hono/jwk'

app.use(
  '/auth/*',
  jwk({
    jwks_uri: `https://${backendServer}/.well-known/jwks.json`,
  })
)

app.get('/auth/page', (c) => {
  return c.text('You are authorized')
})

Thanks @​Beyondo!

Standard Schema Validator

Standard Schema provides a common interface for TypeScript validator libraries. Standard Schema Validator is a validator that uses it. This means that Standard Schema Validator can handle several validators, such as Zod, Valibot, and ArkType, with the same interface.

The code below really works!

import { Hono } from 'hono'
import { sValidator } from '@​hono/standard-validator'
import { type } from 'arktype'
import * as v from 'valibot'
import { z } from 'zod'

const aSchema = type({
  agent: 'string',
})

const vSchema = v.object({
  slag: v.string(),
})

const zSchema = z.object({
  name: z.string(),
})

const app = new Hono()

app.get(
  '/:slag',
  sValidator('header', aSchema),
  sValidator('param', vSchema),
  sValidator('query', zSchema),
  (c) => {
    const headerValue = c.req.valid('header')
    const paramValue = c.req.valid('param')
    const queryValue = c.req.valid('query')
    return c.json({ headerValue, paramValue, queryValue })
  }
)

const res = await app.request('/foo?name=foo', {
  headers: {
    agent: 'foo',
  },
})

console.log(await res.json())

Thanks @​muningis!

New features
All changes
New Contributors

Full Changelog: honojs/hono@v4.6.20...v4.7.0

v4.6.20

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/hono@v4.6.19...v4.6.20

v4.6.19

Compare Source

What's Changed

Full Changelog: honojs/hono@v4.6.18...v4.6.19

v4.6.18

Compare Source

What's Changed

Full Changelog: honojs/hono@v4.6.17...v4.6.18

v4.6.17

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/hono@v4.6.16...v4.6.17

v4.6.16

Compare Source

What's Changed

Full Changelog: honojs/hono@v4.6.15...v4.6.16

lint-staged/lint-staged (lint-staged)

v15.4.3

Compare Source

Patch Changes
  • #​1512 cbfed1d Thanks @​tarik02! - Adjust TypeScript types for the default export so that it can be used as a value without error TS2693.

v15.4.2

Compare Source

Patch Changes
  • #​1509 8827ebf Thanks @​iiroj! - Change lint-staged's dependencies to use caret (^) ranges instead of tilde (~). This makes it easier for package managers to perform dependency management when minor-level updates are also permitted instead of just patch-level.

v15.4.1

Compare Source

Patch Changes

v15.4.0

Compare Source

Minor Changes
  • #​1500 a8ec1dd Thanks @​iiroj! - Lint-staged now provides TypeScript types for the configuration and main Node.js API. You can use the JSDoc syntax in your JS configuration files:

    /**
     * @​filename: lint-staged.config.js
     * @​type {import('lint-staged').Configuration}
     */
    export default {
      '*': 'prettier --write',
    }

    It's also possible to use the .ts file extension for the configuration if your Node.js version supports it. The --experimental-strip-types flag was introduced in Node.js v22.6.0 and unflagged in v23.6.0, enabling Node.js to execute TypeScript files without additional configuration.

    export NODE_OPTIONS="--experimental-strip-types"
    
    npx lint-staged --config lint-staged.config.ts
Patch Changes
pnpm/pnpm (pnpm)

v9.15.5: pnpm 9.15.5

Compare Source

Patch Changes

  • Verify that the package name is valid when executing the publish command.
  • When running pnpm install, the preprepare and postprepare scripts of the project should be executed #​8989.
  • Quote args for scripts with shell-quote to support new lines (on POSIX only) #​8980.
  • Proxy settings should be respected, when resolving Git-hosted dependencies #​6530.
  • Replace strip-ansi with the built-in util.stripVTControlCharacters #​9009.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me Workleap
Canva

v9.15.4: pnpm 9.15.4

Compare Source

Patch Changes

  • Ensure that recursive pnpm update --latest <pkg> updates only the specified package, with dedupe-peer-dependents=true.

Platinum Sponsors

Bit Bit Figma

Gold Sponsors

Discord Prisma
u|screen JetBrains
Nx CodeRabbit
Route4Me Workleap
Canva

v9.15.3

Compare Source

prettier/prettier (prettier)

v3.5.0

Compare Source

diff

🔗 Release Notes

microsoft/TypeScript (typescript)

v5.7.3

Compare Source

fabian-hiller/valibot (valibot)

v1.0.0-rc.0

Compare Source

This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.

  • Add assert method to assert values (issue #​862)
  • Add checkItemsAsync action (pull request #​856)
  • Add graphemes, maxGraphemes, minGraphemes and notGraphemes action (pull request #​853)
  • Add words, maxWords, minWords and notWords action
  • Add args and returns action to transform functions (issue #​243)
  • Add rfcEmail action to validate RFC 5322 email addresses (pull request #​912)
  • Add new overload signature to pipe and pipeAync method to support unlimited pipe items of same input and output type (issue #​852)
  • Add @__NO_SIDE_EFFECTS__ notation to improve tree shaking (pull request #​995)
  • Add exactOptional and exactOptionalAsync schema (PR #​1013)
  • Change types and implementation to support Standard Schema
  • Change behaviour of minValue and maxValue for NaN (pull request #​843)
  • Change type and behaviour of nullable, nullableAsync, nullish, nullishAsync, optional, optionalAsync, undefinedable and undefinedableAsync for undefined default value (issue #​878)
  • Change type signature of partialCheck and partialCheckAsync action to add .pathList property in a type-safe way
  • Change type signature of findItem action to support type predicates (issue #​867)
  • Change validation of missing object entries in looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject (PR #​1013)
  • Change type signature of optional and optionalAsync when used within an object schema (PR #​1013)
  • Change MarkOptional type to fix order of entries and TS error when using generic schemas (issue #​1021)
  • Change VariantOption and VariantOptionAsync type to fix TS error when using generic schemas (issue #​842)
  • Change implementation of variant and variantAsync to support optional discriminators using exactOptional, exactOptionalAsync, optional, optionalAsync, nullish or nullishAsync
  • Refactor bytes, maxBytes, minBytes and notBytes action
  • Fix implementation of nonOptional, nonOptionalAsync, nonNullable, nonNullableAsync, nonNullish and nonNullishAsync schema in edge cases (issue #​909)
  • Fix instantiation error for any in PathKeys type (issue #​929)
  • Fix TypeScript error of keyof method for objects with many keys (pull request #​988)
  • Fix options filtering in enum_ schema (pull request #​941)

v1.0.0-beta.15

Compare Source

Many thanks to @​andersk, @​cloudkite and @​thecotne for contributing to this release.

  • Change implementation of variant and variantAsync to support optional discriminators using exactOptional, exactOptionalAsync, optional, optionalAsync, nullish or nullishAsync
  • Change implementation of looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject to support fallback and fallbackAsync for missing entries (PR #​1031)

v1.0.0-beta.14

Compare Source

Many thanks to @​m-kutnik and @​AndreiCravtov for contributing to this release.

  • Change MarkOptional type to fix order of entries and TS error when using generic schemas (issue #​1021)
  • Change VariantOption and VariantOptionAsync type to fix TS error when using generic schemas (issue #​842)

v1.0.0-beta.13

Compare Source

Many thanks to @​andersk, @​EltonLobo07, @​xcfox, @​Bilboramix, @​genki, @​ivands, @​bachmacintosh, @​sandros94, @​Hugos68 and @​typed-sigterm for contributing to this release.

See discussion #​1022 and issue #​983 for more details and context on this release.

  • Add exactOptional and exactOptionalAsync schema (PR #​1013)
  • Change validation of missing object entries in looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject (PR #​1013)
  • Change type signature of optional and optionalAsync when used within an object schema (PR #​1013)

v1.0.0-beta.12

[Compare Source](https://redirect.github.com/fabian-hiller/valibot/compare/v1


Configuration

📅 Schedule: Branch creation - "* 0-3 * * 1" (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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 18, 2023
@renovate renovate bot changed the title Update dependency @types/node to v20.10.5 Update all non-major dependencies Dec 18, 2023
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 6d10bd2 to c1cedfe Compare December 24, 2023 18:38
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from fa827e6 to a9113bf Compare December 30, 2023 01:58
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 2df8b90 to 7c0a470 Compare January 9, 2024 17:02
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 14 times, most recently from c4a0ce3 to 64f16a4 Compare January 17, 2024 10:57
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from dcf2d91 to f9f0565 Compare January 23, 2024 21:50
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 14 times, most recently from acb9950 to f208a43 Compare January 28, 2025 04:45
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 8 times, most recently from 64fb4c6 to 2364e8f Compare February 5, 2025 14:03
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 6 times, most recently from 7655905 to e28264b Compare February 13, 2025 06:12
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from e28264b to 79a8abf Compare February 13, 2025 11:34
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
Development

Successfully merging this pull request may close these issues.

0 participants