Skip to content

Update pnpm.catalog.default vue-types to v7 - #619

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/vue-types-7.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/vue-types-7.x

Conversation

@renovate

@renovate renovate Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
vue-types (source) ^3.0.2 → ^7.0.1 age confidence

Release Notes

dwightjack/vue-types (vue-types)

v7.0.1

Compare Source

Patch Changes
  • 2005933: Shim: remove VueTypes.extend implementation and add a removal warning. The static method was removed from VueTypes' core in v6.0.0

v7.0.0

Compare Source

Major Changes
  • d37a012: - Remove old polyfills and shims for Array.isArray, globalThis, Object.hasOwn
    • Update dependency to TypeScript 6 and code refactor
    • migrate from ESLint+Prettier to the Oxc ecosystem

v6.0.0

Compare Source

Major Changes
  • 306173f: #### Drop Vue 2 support

    Vue 2 reached End of Life (EOL) on December 31st, 2023. By dropping Vue 2 compatibility we can deliver a smaller package and make the source code more maintainable.

    If you're unable to update to Vue 3, please use vue-types@5.x

Removed VueTypes.extend method

VueTypes.extend was deprecated in v5. In v6 this method has been removed. Please migrate your code to use ES6+ extends feature.

Example:

Using VueTypes.extend (old):

import VueTypes from 'vue-types'

export const VueTypesProject = VueTypes.extend([
  {
    name: 'maxLength',
    type: String,
    validator: (max, v) => v.length <= max,
  },
  {
    name: 'positive',
    getter: true,
    type: Number,
    validator: (v) => v > 0,
  },
])

Using ES6+ extends (new):

import VueTypes, { toType } from 'vue-types'

export class VueTypesProject extends VueTypes {
  static maxLength(max) {
    return toType('maxLength', {
      type: String,
      validator: (v) => String(v).length <= max,
    })
  }

  static get positive() {
    return toType('positive', {
      type: Number,
      validator: (v) => v > 0,
    })
  }
}
Package format review:
  • ESM and CJS builds target is ESNext (browsers with support for the latest JavaScript features).
  • UMD builds target is ES2016 (aligned with Vue 3 browser support)

If you're using a bundler, you should not encounter any issue.

If you are directly referencing or importing a specific file in the dist or shim folder, you might need to update its path as described in the following table:

Old (v5) New (v6)
dist/vue-types.m.js dist/index.mjs
dist/vue-types.modern.js dist/index.mjs
dist/vue-types.cjs dist/index.cjs
dist/vue-types.umd.js dist/index.umd.js
dist/shim.m.js dist/shim.mjs
dist/shim.modern.js dist/shim.mjs
dist/shim.cjs dist/shim.cjs
dist/shim.umd.js dist/shim.umd.js
shim/index.m.js dist/shim.mjs
shim/index.modern.js dist/shim.mjs
shim/index.cjs dist/shim.cjs
shim/index.umd.js dist/shim.umd.js

v5.1.3

Compare Source

Patch Changes
  • 97f366d: vue-types: expose shared types to ESM module consumers

v5.1.2

Compare Source

Patch Changes
  • 9f5ba17: Include provenance statements to the package

v5.1.1

Compare Source

Patch Changes
  • 30673ac: The exports declarations in package.json were missing the type subpath. See #​419

v5.1.0

Compare Source

Minor Changes
  • ec32a30: Force stricter type for the .validate(fn) function arguments:

    // Before: v is of type unknown
    string().validate((v) => v === 'Hello') // <-- TS error!
    
    // After: v is of type string
    string().validate((v) => v === 'Hello') // <-- Works!

    This should not be a breaking change, but you should be aware of the new behavior.

v5.0.4

Compare Source

Patch Changes
  • 9dfa28b: Allow the user to pass async functions as function props. Closes #​397

v5.0.3

Compare Source

Patch Changes
  • 8cb1ccb: - Accepts null as valid value in validateType util

    • fix docs: nullable() should be used for nullable required props.

    Closes #​383

v5.0.2

Compare Source

Fix

  • expose the validateType function in the shim build (fixes #​319)

v5.0.1

Compare Source

Note: v5.0.0 has been skipped due to an internal bug. Please use v5.0.1 or above.

Breaking Changes

Default for booleans

bool().def(undefined) explicitly sets the default: undefined property on the type instead of removing it (#​284):

const type = bool().def(true) //  { type: Boolean, default: true }

// vue-types@4
type.def(undefined)//  { type: Boolean }

// vue-types@5
type.def(undefined)//  { type: Boolean, default: undefined }
Nullable strict validation

nullable validates only when a prop value is === null. This change makes it easier to use it with other validators like oneOfType.

oneOfType and oneOf strict validation

When passed a oneOf validator, oneOfType checks the actual values instead of their types.

const type = oneOfType([oneOf(['auto', 'fit-content'] as const), Number]);

// vue-types@4
typeof type === string | number

// @vue-types@5
typeof type === 'auto' | 'fit-content' | number

This makes it easier to define complex validators mixing specific values and generic types.

Standalone Nuxt module

Nuxt support has been moved to a dedicated module: vue-types-nuxt including support for both Nuxt@​2 and Nuxt@​3. See the usage documentation here: https://dwightjack.github.io/vue-types/guide/installation.html#nuxt

Minor Changes

  • oneOf supports null as a value: oneOf(['on', 'off', null])
  • Support for union types in oneOf (#​147)

Other Changes and Notes

  • Documentation migrated to VitePress.
  • Repository structure converted to an NPM monorepo.

v5.0.0

Compare Source

v4.2.1

Compare Source

Bugfix Release

  • shared types definitions were published in the wrong folder (f455c09)

v4.2.0

Compare Source

Main Changes

Other Changes

New Contributors

Full Changelog: dwightjack/vue-types@4.1.1...4.2.0

v4.1.1

Compare Source

Bugfix Release

  • fix oneOfType regression (#​188)
  • ensure custom() validator functions are executed when used as shape() properties (#​177)

v4.1.0

Compare Source

Minor Changes

  • Added TypeScript casting on the following validators (#​135 , #​138 , #​136):
    • string
    • number / integer
    • any
    • oneOfType
  • Added dedicated TS documentation

Thanks to @​victorgarciaesgi for the great contribution.

v4.0.3

Compare Source

Bugfix

  • Shim: validators generated with customType cannot be called multiple times because of redefine issue (#​162 thanks @​iamricogo)

v4.0.2

Compare Source

Bugfix

v4.0.1

Compare Source

Bugfix

v4.0.0

Compare Source

Major Release

This release introduces two main changes that may be breaking depending on your application setup:

  • The library is now published as an ES Module with fallback support for Common JS and UMD.
  • Version 4.x works with both Vue 2 and Vue 3

VueTypes as an ES Module

With the wide support for the ES Module format in Node.js, browsers and bundlers, VueTypes has switched to this format by default. CommonJS is still supported for older bundlers and Node.js versions, while UMD is available for direct usage in browsers.

This change will not affect most usage scenarios; anyway, if you are using the shim version or have configured your bundler to alias vue-types module, make sure to read the updated installation documentation.

Vue 2 and Vue 3 compatibility

The following changes where introduced to support both versions of Vue.

prop.type can be true on Vue 2 components

TypeScript definitions have changed between v2 and v3 of Vue. The most notable change is that PropOptions.type can now be true. To support both version, VueTypes uses customized component prop's TS definitions. This change should not affect your application.

Console logging setup

In VueTypes 2, the library used the global Vue.config.silent property to manage its logging behavior. This property is no more available in Vue 3 and thus the behaviour has been changed.

If you wan to replicate the old behavior in applications using VueTypes 4 and Vue 2, you can add the following line to your entry point (documentation):

import Vue from 'vue'
import VueTypes from 'vue-types'

VueTypes.config.silent = Vue.config.silent

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot

changeset-bot Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d990343

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.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

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

@renovate
renovate Bot force-pushed the renovate/vue-types-7.x branch from 031822f to 382e41d Compare October 23, 2026 06:10
@renovate
renovate Bot force-pushed the renovate/vue-types-7.x branch from 382e41d to d990343 Compare October 25, 2026 01:46

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants