Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 18, 2023

This PR contains the following updates:

Package Change Age Confidence
@antfu/eslint-config 3.12.1 -> 3.16.0 age confidence
@edgedb/generate (source) 0.5.6 -> 0.6.1 age confidence
@gqloom/valibot (source) 0.6.1 -> 0.12.0 age confidence
@hono/graphql-server (source) 0.5.1 -> 0.7.0 age confidence
@hono/node-server 1.13.7 -> 1.19.5 age confidence
@tsconfig/node22 (source) 22.0.0 -> 22.0.2 age confidence
@tsconfig/strictest (source) 2.0.5 -> 2.0.6 age confidence
@types/node (source) 22.10.4 -> 22.18.11 age confidence
eslint (source) 9.17.0 -> 9.38.0 age confidence
graphql 16.10.0 -> 16.11.0 age confidence
lint-staged 15.3.0 -> 15.5.2 age confidence
pino (source) 9.6.0 -> 9.14.0 age confidence
pino-pretty 13.0.0 -> 13.1.2 age confidence
pnpm (source) 9.15.2 -> 9.15.9 age confidence
prettier (source) 3.4.2 -> 3.6.2 age confidence
simple-git-hooks 2.11.1 -> 2.13.1 age confidence
typescript (source) 5.7.2 -> 5.9.3 age confidence
valibot (source) 1.0.0-beta.9 -> 1.1.0 age confidence
vitest (source) 3.0.0-beta.3 -> 3.2.4 age 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
geldata/gel-js (@​edgedb/generate)

v0.6.1

Compare Source

v0.6.0

Compare Source

modevol-com/gqloom (@​gqloom/valibot)

v0.11.0

Compare Source

Enhanced Integration with MikroORM

MikroORM 6.5 introduced the defineEntity helper function, which is extremely useful for the GQLoom project.
With defineEntity, we don't need to enable decorator functionality while still achieving full type safety and null safety:

import { mikroSilk } from "@​gqloom/mikro-orm"
import { type InferEntity, defineEntity } from "@​mikro-orm/core"

const UserEntity = defineEntity({
  name: "User",
  properties: (p) => ({
    id: p.integer().primary().autoincrement(),
    createdAt: p.datetime().onCreate(() => new Date()),
    email: p.string(),
    name: p.string(),
    password: p.string().nullable(),
    role: p.string().$type<"admin" | "user">().default("user"),
    posts: () => p.oneToMany(PostEntity).mappedBy("author"),
  }),
})
export interface IUser extends InferEntity<typeof UserEntity> {}

const PostEntity = defineEntity({
  name: "Post",
  properties: (p) => ({
    id: p.integer().primary().autoincrement(),
    createdAt: p.datetime().onCreate(() => new Date()),
    updatedAt: p
      .datetime()
      .onCreate(() => new Date())
      .onUpdate(() => new Date()),
    published: p.boolean().default(false),
    title: p.string(),
    content: p.string().lazy(),
    author: () => p.manyToOne(UserEntity),
  }),
})
export interface IPost extends InferEntity<typeof PostEntity> {}

export const User = mikroSilk(UserEntity)
export const Post = mikroSilk(PostEntity)
Complete Resolver Factory

Now you can create a MikroORM-style GraphQL API with just a few lines of code:

const postFactory = new MikroResolverFactory(Post, useEm)

export const postResolver = postFactory.resolver()

The code above is equivalent to:

export const postResolver = resolver.of(Post, {
  author: postFactory.referenceField("author"),
  countPosts: postFactory.countQuery(),
  findPosts: postFactory.findQuery(),
  findPostsByCursor: postFactory.findByCursorQuery(),
  findOnePost: postFactory.findOneQuery(),
  findOnePostOrFail: postFactory.findOneOrFailQuery(),
  createPost: postFactory.createMutation(),
  insertPost: postFactory.insertMutation(),
  insertManyPosts: postFactory.insertManyMutation(),
  deletePost: postFactory.deleteMutation(),
  updatePost: postFactory.updateMutation(),
  upsertPost: postFactory.upsertMutation(),
  upsertManyPosts: postFactory.upsertManyMutation(),
})
Custom Resolver Input Field Types:
const userFactory = new MikroResolverFactory(User, {
  getEntityManager: useEm,
  input: {
    email: v.pipe(v.string(), v.email()), // Validate email format
    password: {
      filters: field.hidden, // Hide this field in query filters
      create: v.pipe(v.string(), v.minLength(6)), // Validate minimum length of 6 characters on creation
      update: v.pipe(v.string(), v.minLength(6)), // Validate minimum length of 6 characters on update
    },
  },
})

Check out the full features in the MikroORM Documentation

Full Changed since 0.10.0

New Contributors

Full Changelog: modevol-com/gqloom@0.10.0...0.11.0

v0.10.0

What's Changed since 0.9.0

  • feat(drizzle): DrizzleInputFactory to support custom column types by @​xcfox in #​66
  • feat(prisma): add context module and useSelectedFields function by @​xcfox in #​67
  • fix(federation): field with dependencies by @​xcfox in #​68
  • feat(federation): add Middlewares support for resolveReference by @​xcfox in #​69
  • feat(federation): implement loadReference method for batch loading by @​xcfox in #​70
  • feat(drizzle): drizzle silk allow field types to be functions returning GraphQLOutputType or null by @​xcfox in #​71
  • feat(zod): Adapt to Zod v4 by @​xcfox in #​41
  • feat(core): add AsyncContextProvider.run by @​xcfox in #​72
  • feat(federation): FederatedChainResolver Executor support $resolveReference by @​xcfox in #​73
  • refactor(core): update FIELD_HIDDEN symbol to boolean value by @​xcfox in #​75
  • feat(core): add setResult and clearResult methods to CallableInputParser by @​xcfox in #​76
  • feat(core): add output method for transformation for FactoryWithResolve by @​xcfox in #​78
  • feat(drizzle): enhance drizzleSilk to hiding fields in GraphQL and TypeScript by @​xcfox in #​79
  • refactor(core): Aggregate field.load by path by @​xcfox in #​83

Full Changelog: modevol-com/gqloom@0.9.0...0.10.0

v0.9.0

🚨 Breaking Changes

asyncContextProvider

asyncContext is now an optional feature. We can choose not to enable asyncContext so that GQLoom can be used in runtime environments such as browsers and Cloudflare Workers that do not provide the AsyncLocalStorage API. For general backend applications, we can easily enable asyncContext by using the asyncContextProvider middleware:

import { weave } from '@&#8203;gqloom/core'
import { asyncContextProvider } from '@&#8203;gqloom/core/context'

const schema = weave(asyncContextProvider, helloResolver)

At the same time, useContext is also exported from @gqloom/core/context:

import { useContext } from "@&#8203;gqloom/core/context"
import type { YogaInitialContext } from "graphql-yoga"

export function useAuthorization() {
  return useContext<YogaInitialContext>().request.headers.get("Authorization")
}
Query Input for DrizzleResolverFactory

Inside DrizzleResolverFactory, db.query is no longer used. This is because drizzle does not provide a queryBuilder for tables that have no relationships, and this affects the input of all queries provided by DrizzleResolverFactory:

Custom Input:
export const userResolver = resolver.of(users, {
  users: userFactory
    .selectSingleQuery()
    .description("query with custom input")
    .input(
      v.pipe(
        v.object({
          age: v.nullish(v.number()),
        }),
        v.transform(({ age }) => ({
          where: age != null ? eq(users.age, age) : undefined,
        }))
      )
    ),
})
Custom Middleware to Tamper with Input
export const postsResolver = resolver.of(posts, {
  posts: postsFactory
    .selectSingleQuery()
    .description("query with middleware")
    .use(async ({ next, parseInput }) => {
      const user = await useUser()
      // Before modifying the input, first parse the request parameters to get the original query parameters
      const query = await parseInput.getResult()
      // Now we can do whatever we want with the query parameters
      query.where = and(query.where, eq(users.id, user.id))
      // Finally, change `parseInput.result` to pass it to the next middleware or the resolver function
      parseInput.result = { value: query }
      return next()
    }),
})

✨ Features ✨

  • useResolvingFields: It is used to analyze the current GraphQL query statement to get the required fields.
  • field().derivedFrom(): It is used to declare the dependencies of additional fields. The dependencies will be used by useResolvingFields to calculate the fields that need to be retrieved from the database.
  • (drizzle)useSelectedColumns: It is used to analyze the current GraphQL query statement to get the fields that need to be selected.
    import { useSelectedColumns } from '@&#8203;gqloom/drizzle/context'
    
    const userResolver = resolver.of(users, {
      users: query(users.$list()).resolve(() => {
        return db.select(useSelectedColumns(users)).from(users)
      }),
    
      greeting: field(silk(GraphQLString))
        .derivedFrom("name")
        .resolve((user) => `Hello ${user.name}`),
    })

Since 0.8.0

  • feat(core, drizzle, valibot, yup, zod): export all types by @​xcfox in #​29
  • fix(core): improve type inference for subscription by @​xcfox in #​32
  • fix(core): ensure context work in subscription by @​xcfox in #​33
  • feat(core): Injectable Context by @​xcfox in #​56
  • feat(drizzle): add support for GraphQL enums in DrizzleWeaver by @​xcfox in #​36
  • feat(drizzle): add column visibility configuration for input and filter by @​xcfox in #​39
  • feat(drizzle): add count query functionality to resolver factory by @​xcfox in #​40
  • fix(drizzle): update resolver factory options type by @​xcfox in #​43
  • feat(drizzle): enhance insert operations with onConflict handling by @​xcfox in #​47
  • feat(drizzle): Enhanced the drizzleSilk function to accept configuration options by @​xcfox in #​48
  • refactor(resolver): update input type handling to use 'void' by @​xcfox in #​52
  • feat(core): add selective fields for GraphQL resolver by @​xcfox in #​51
  • chore(website): fix tab order by @​DoctorFTB in #​53
  • feat(drizzle): Only select querying columns by @​xcfox in #​57
  • feat(resolver): add queriesResolver method to DrizzleResolverFactory by @​xcfox in #​58
  • feat(resolver): add queriesResolver method to PrismaResolverFactory by @​xcfox in #​59
  • feat(prisma): getSelectedFields by @​xcfox in #​62

New Contributors

Full Changelog: modevol-com/gqloom@v0.8.0...0.9.0

v0.8.1

  • Feat: export all types

v0.8.0

v0.7.1

  • Fix: update document link in README

v0.7.0

Compare Source

  • Feature: auto assign names to objects and inputs
  • Fix: get config in nested field
honojs/middleware (@​hono/graphql-server)

v0.7.0

Compare Source

Minor Changes

v0.6.2

Compare Source

Patch Changes

v0.6.1

Compare Source

Patch Changes

v0.6.0

Compare Source

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

v1.19.5

Compare Source

What's Changed

  • fix: cancel a readable stream if a writable stream is closed before a readable stream is closed. by @​usualoma in #​280

Full Changelog: honojs/node-server@v1.19.4...v1.19.5

v1.19.4

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/node-server@v1.19.3...v1.19.4

v1.19.3

Compare Source

What's Changed
New Contributors

Full Changelog: honojs/node-server@v1.19.2...v1.19.3

v1.19.2

Compare Source

What's Changed
New Contributors

Full Changelog: honojs/node-server@v1.19.1...v1.19.2

v1.19.1

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.19.0...v1.19.1

v1.19.0

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/node-server@v1.18.2...v1.19.0

v1.18.2

Compare Source

What's Changed
  • fix: Skip content-length assignment when transfer-encoding is chunked. by @​usualoma in #​271

Full Changelog: honojs/node-server@v1.18.1...v1.18.2

v1.18.1

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.18.0...v1.18.1

v1.18.0

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.17.1...v1.18.0

v1.17.1

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.17.0...v1.17.1

v1.17.0

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.16.0...v1.17.0

v1.16.0

Compare Source

What's Changed

  • feat: Clean up the incoming object if the request is not completely finished. by @​usualoma in #​252

Full Changelog: honojs/node-server@v1.15.0...v1.16.0

v1.15.0

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.14.4...v1.15.0

v1.14.4

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.14.3...v1.14.4

v1.14.3

Compare Source

What's Changed

Full Changelog: honojs/node-server@v1.14.2...v1.14.3

v1.14.2

Compare Source

What's Changed

  • perf: keep using the lightweight Response object when retrieving headers, status, and ok, and then drop the getInternalBody function. by @​usualoma in #​242

Full Changelog: honojs/node-server@v1.14.1...v1.14.2

v1.14.1

Compare Source

What's Changed

New Contributors

Full Changelog: honojs/node-server@v1.14.0...v1.14.1

v1.14.0

Compare Source

What's Changed

New Contributors

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

v1.13.8

Compare Source

What's Changed

New Contributors

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

tsconfig/bases (@​tsconfig/node22)

v22.0.2

Compare Source

v22.0.1

Compare Source

eslint/eslint (eslint)

v9.38.0

Compare Source

v9.37.0

Compare Source

v9.36.0

Compare Source

v9.35.0

Compare Source

v9.34.0

Compare Source

v9.33.0

Compare Source

v9.32.0

Compare Source

v9.31.0

Compare Source

v9.30.1

Compare Source

v9.30.0

Compare Source

v9.29.0

Compare Source

v9.28.0

Compare Source

v9.27.0

Compare Source

v9.26.0

Compare Source

v9.25.1

Compare Source

v9.25.0

Compare Source

v9.24.0

Compare Source

v9.23.0

Compare Source

v9.22.0

Compare Source

v9.21.0

Compare Source

Features
Bug Fixes
  • db5340d fix: update missing plugin message template (#​19445) (Milos Djermanovic)
  • d8ffdd4 fix: do not exit process on rule crash (#​19436) (Francesco Trotta)
Documentation
  • c5561ea docs: Update README (GitHub Actions Bot)
  • 80b0485 docs: replace var with let and const in rule example (#​19434) (Tanuj Kanti)
  • f67d5e8 docs: Update README (GitHub Actions Bot)
  • 75afc61 docs: Update README (GitHub Actions Bot)
  • 0636cab docs: Update Eleventy from v2 to v3 (#​19415) (Amaresh S M)
  • dd7d930 docs: Update README (GitHub Actions Bot)
Chores
  • a8c9a9f chore: update @eslint/eslintrc and @eslint/js (#​19453) (Francesco Trotta)
  • 265e0cf chore: package.json update for @​eslint/js release (Jenkins)
  • 3401b85 test: add test for Rule.ReportDescriptor type (#​19449) (Francesco Trotta)
  • e497aa7 chore: update rewrite dependencies (#​19448) (Francesco Trotta)
  • dab5478 chore: better error message for missing plugin in config (#​19402) (Tanuj Kanti)
  • ebfe2eb chore: set js language for bug report issue config block (#​19439) (Josh Goldberg ✨)
  • 5fd211d test: processors can return subpaths (#​19425) (Milos Djermanovic)

v9.20.1

Compare Source

Bug Fixes

Documentation


Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 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 5 times, most recently from a01f634 to 44d4f77 Compare September 12, 2025 04:03
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 9 times, most recently from 6046ccd to ad4d88d Compare September 20, 2025 20:34
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 52b76cf to c06e196 Compare September 28, 2025 13:31
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 6 times, most recently from f885a1c to e319084 Compare October 3, 2025 21:14
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 3 times, most recently from 2dc877f to 9860c0e Compare October 11, 2025 16:59
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from b555b66 to 0391002 Compare October 18, 2025 01:56
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 0391002 to 55e4fc4 Compare October 18, 2025 12: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