feat: replace qs with qs-esm (#6966)

qs-esm is a qs fork I created and doesn't add bloated polyfills, is
ESM-only, has a smaller bundle size and comes with types included.

qs:
https://bundlephobia.com/package/qs@6.12.1 (11kb)
https://npm.anvaka.com/#/view/2d/qs (15 dependencies)

qs-esm:
https://bundlephobia.com/package/qs-esm@7.0.0 (4.2kb)
https://npm.anvaka.com/#/view/2d/qs-esm (1 dependency)

I don't agree with the backwards philosophy of qs:
https://github.com/ljharb/qs/issues/404#issuecomment-806392831 ("more
deps is better", lower bundle size as opt-in, maximum environment
compatibility as opt-out)

qs imports waaay too many useless dependencies
This commit is contained in:
Alessio Gravili
2024-07-09 10:33:38 -04:00
committed by GitHub
parent a467ce94f7
commit 6c99326d59
32 changed files with 77 additions and 81 deletions

View File

@@ -154,7 +154,7 @@ This one isn't too bad, but more complex queries get unavoidably more difficult
**For example, using fetch:**
```js
import qs from 'qs'
import { stringify } from 'qs-esm'
const query = {
color: {
@@ -165,7 +165,7 @@ const query = {
}
const getPosts = async () => {
const stringifiedQuery = qs.stringify(
const stringifiedQuery = stringify(
{
where: query, // ensure that `qs` adds the `where` property, too!
},

View File

@@ -103,7 +103,6 @@
"@types/minimist": "1.2.5",
"@types/node": "20.12.5",
"@types/prompts": "^2.4.5",
"@types/qs": "6.9.14",
"@types/react": "npm:types-react@19.0.0-beta.2",
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",
"@types/semver": "^7.5.3",

View File

@@ -72,7 +72,7 @@
"graphql-playground-html": "1.6.30",
"http-status": "1.6.2",
"path-to-regexp": "^6.2.1",
"qs": "6.12.1",
"qs-esm": "7.0.2",
"react-diff-viewer-continued": "3.2.6",
"sass": "1.77.4",
"sonner": "^1.5.0",

View File

@@ -2,7 +2,7 @@ import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig }
import { initI18n } from '@payloadcms/translations'
import { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import { URL } from 'url'
import { sanitizeLocales } from './addLocalesToRequest.js'

View File

@@ -1,5 +1,5 @@
import { redirect } from 'next/navigation.js'
import qs from 'qs'
import * as qs from 'qs-esm'
import { isAdminAuthRoute, isAdminRoute } from './shared.js'

View File

@@ -5,7 +5,7 @@ import { initI18n } from '@payloadcms/translations'
import { findLocaleFromCode } from '@payloadcms/ui/shared'
import { headers as getHeaders } from 'next/headers.js'
import { createLocalReq, isEntityHidden, parseCookies } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import type { Args } from './types.js'

View File

@@ -3,7 +3,7 @@ import type { Icon } from 'next/dist/lib/metadata/types/metadata-types.js'
import type { MetaConfig } from 'payload'
import { payloadFaviconDark, payloadFaviconLight, staticOGImage } from '@payloadcms/ui/assets'
import qs from 'qs'
import * as qs from 'qs-esm'
const defaultOpenGraph = {
description:

View File

@@ -9,7 +9,7 @@ import {
useTranslation,
} from '@payloadcms/ui'
import { formatDate } from '@payloadcms/ui/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useCallback, useEffect, useState } from 'react'
import type { Props } from './types.js'

View File

@@ -54,7 +54,7 @@ const resultClient = await esbuild
'*.scss',
'*.css',
'*.svg',
'qs',
'qs-esm',
'@dnd-kit/core',
'@payloadcms/graphql',
'@payloadcms/translations',

View File

@@ -72,7 +72,7 @@
"payload": "workspace:*"
},
"peerDependencies": {
"@faceless-ui/modal": "3.0.0-beta.0",
"@faceless-ui/modal": "3.0.0-beta.2",
"@faceless-ui/scroll-info": "2.0.0-beta.0",
"@lexical/headless": "0.16.1",
"@lexical/link": "0.16.1",

View File

@@ -113,7 +113,7 @@ function require(m) {
external: [
'*.scss',
'*.css',
'qs',
'qs-esm',
'@dnd-kit/core',
'@payloadcms/graphql',
'@payloadcms/translations',
@@ -165,7 +165,7 @@ const resultShared = await esbuild
external: [
'*.scss',
'*.css',
'qs',
'qs-esm',
'@dnd-kit/core',
'@payloadcms/graphql',
'@payloadcms/translations',

View File

@@ -73,7 +73,7 @@
"dependencies": {
"@dnd-kit/core": "6.0.8",
"@dnd-kit/sortable": "7.0.2",
"@faceless-ui/modal": "3.0.0-beta.0",
"@faceless-ui/modal": "3.0.0-beta.2",
"@faceless-ui/scroll-info": "2.0.0-beta.0",
"@faceless-ui/window-info": "3.0.0-beta.0",
"@monaco-editor/react": "4.5.1",
@@ -84,7 +84,7 @@
"dequal": "2.0.3",
"md5": "2.3.0",
"object-to-formdata": "4.5.1",
"qs": "6.12.1",
"qs-esm": "7.0.2",
"react-animate-height": "2.1.2",
"react-datepicker": "6.9.0",
"react-image-crop": "10.1.8",
@@ -103,7 +103,6 @@
"@hyrious/esbuild-plugin-commonjs": "^0.2.4",
"@payloadcms/eslint-config": "workspace:*",
"@types/body-scroll-lock": "^3.1.0",
"@types/qs": "6.9.7",
"@types/react": "npm:types-react@19.0.0-beta.2",
"@types/react-datepicker": "6.2.0",
"@types/react-dom": "npm:types-react-dom@19.0.0-beta.2",

View File

@@ -1,7 +1,7 @@
'use client'
import { useModal } from '@faceless-ui/modal'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useCallback, useEffect, useState } from 'react'
import { toast } from 'sonner'

View File

@@ -6,7 +6,7 @@ import { getTranslation } from '@payloadcms/translations'
import { usePathname, useRouter } from 'next/navigation.js'
import { sortableFieldTypes } from 'payload'
import { fieldAffectsData } from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useEffect, useState } from 'react'
export type SortComplexProps = {

View File

@@ -1,7 +1,7 @@
'use client'
import type { TypeWithID } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useCallback, useContext, useEffect, useReducer, useRef } from 'react'
import { useDebounce } from '../../../hooks/useDebounce.js'

View File

@@ -1,7 +1,7 @@
'use client'
import type { PaginatedDocs, Where } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useCallback, useEffect, useReducer, useState } from 'react'
import type { Option } from '../../../ReactSelect/types.js'

View File

@@ -2,7 +2,7 @@
import type { PaginatedDocs, Where } from 'payload'
import { wordBoundariesRegex } from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'
import type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'

View File

@@ -11,7 +11,7 @@ import {
reduceFieldsToValues,
wait,
} from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'
import { toast } from 'sonner'

View File

@@ -1,5 +1,5 @@
'use client'
import qs from 'qs'
import * as qs from 'qs-esm'
import { useEffect, useRef, useState } from 'react'
import { useLocale } from '../providers/Locale/index.js'

View File

@@ -3,7 +3,7 @@ import type { ClientUser, MeOperationResult, Permissions } from 'payload'
import { useModal } from '@faceless-ui/modal'
import { usePathname, useRouter } from 'next/navigation.js'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useCallback, useContext, useEffect, useState } from 'react'
import { toast } from 'sonner'

View File

@@ -13,7 +13,7 @@ import type {
import { notFound } from 'next/navigation.js'
import { reduceFieldsToValues } from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'
import type { DocumentInfoContext, DocumentInfoProps } from './types.js'

View File

@@ -3,7 +3,7 @@ import type { PaginatedDocs, Where } from 'payload'
import { useRouter } from 'next/navigation.js'
import { isNumber } from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useContext } from 'react'
import type { Column } from '../../elements/Table/index.js'

View File

@@ -1,6 +1,6 @@
'use client'
import { useSearchParams as useNextSearchParams } from 'next/navigation.js'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useContext } from 'react'
export type SearchParamsContext = {

View File

@@ -1,7 +1,7 @@
'use client'
import type { Where } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'
import { useLocale } from '../Locale/index.js'

View File

@@ -1,4 +1,4 @@
import qs from 'qs'
import * as qs from 'qs-esm'
type GetOptions = RequestInit & {
params?: Record<string, unknown>

76
pnpm-lock.yaml generated
View File

@@ -65,9 +65,6 @@ importers:
'@types/prompts':
specifier: ^2.4.5
version: 2.4.9
'@types/qs':
specifier: 6.9.14
version: 6.9.14
'@types/react':
specifier: npm:types-react@19.0.0-beta.2
version: /types-react@19.0.0-beta.2
@@ -618,9 +615,9 @@ importers:
path-to-regexp:
specifier: ^6.2.1
version: 6.2.2
qs:
specifier: 6.12.1
version: 6.12.1
qs-esm:
specifier: 7.0.2
version: 7.0.2
react-diff-viewer-continued:
specifier: 3.2.6
version: 3.2.6(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
@@ -1166,8 +1163,8 @@ importers:
packages/richtext-lexical:
dependencies:
'@faceless-ui/modal':
specifier: 3.0.0-beta.0
version: 3.0.0-beta.0(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
specifier: 3.0.0-beta.2
version: 3.0.0-beta.2(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
'@faceless-ui/scroll-info':
specifier: 2.0.0-beta.0
version: 2.0.0-beta.0(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
@@ -1423,8 +1420,8 @@ importers:
specifier: 7.0.2
version: 7.0.2(@dnd-kit/core@6.0.8)(react@19.0.0-rc-f994737d14-20240522)
'@faceless-ui/modal':
specifier: 3.0.0-beta.0
version: 3.0.0-beta.0(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
specifier: 3.0.0-beta.2
version: 3.0.0-beta.2(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
'@faceless-ui/scroll-info':
specifier: 2.0.0-beta.0
version: 2.0.0-beta.0(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
@@ -1458,9 +1455,9 @@ importers:
object-to-formdata:
specifier: 4.5.1
version: 4.5.1
qs:
specifier: 6.12.1
version: 6.12.1
qs-esm:
specifier: 7.0.2
version: 7.0.2
react:
specifier: ^19.0.0-rc-f994737d14-20240522
version: 19.0.0-rc-f994737d14-20240522
@@ -1516,9 +1513,6 @@ importers:
'@types/body-scroll-lock':
specifier: ^3.1.0
version: 3.1.2
'@types/qs':
specifier: 6.9.7
version: 6.9.7
'@types/react':
specifier: npm:types-react@19.0.0-beta.2
version: /types-react@19.0.0-beta.2
@@ -1705,9 +1699,9 @@ importers:
payload:
specifier: workspace:*
version: link:../packages/payload
qs:
specifier: 6.12.1
version: 6.12.1
qs-esm:
specifier: 7.0.2
version: 7.0.2
server-only:
specifier: ^0.0.1
version: 0.0.1
@@ -5117,15 +5111,14 @@ packages:
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
/@faceless-ui/modal@3.0.0-beta.0(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522):
resolution: {integrity: sha512-gZboS0pLMO4THTqAHLmZuxLOE2KyYMN9QOUikd25WSrwPOqdtcgEiRlps/RcOivHA+sowtb1IBitiIWJ0L5Eow==}
/@faceless-ui/modal@3.0.0-beta.2(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522):
resolution: {integrity: sha512-UmXvz7Iw3KMO4Pm3llZczU4uc5pPQDb6rdqwoBvYDFgWvkraOAHKx0HxSZgwqQvqOhn8joEFBfFp6/Do2562ow==}
peerDependencies:
react: ^19.0.0-rc-f994737d14-20240522
react-dom: ^19.0.0-rc-f994737d14-20240522
dependencies:
body-scroll-lock: 3.1.5
focus-trap: 6.9.4
qs: 6.12.1
body-scroll-lock: 4.0.0-beta.0
focus-trap: 7.5.4
react: 19.0.0-rc-f994737d14-20240522
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522)
react-transition-group: 4.4.5(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
@@ -7305,10 +7298,6 @@ packages:
resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==}
dev: true
/@types/qs@6.9.7:
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
dev: true
/@types/range-parser@1.2.7:
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
dev: true
@@ -8422,10 +8411,6 @@ packages:
- supports-color
dev: false
/body-scroll-lock@3.1.5:
resolution: {integrity: sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==}
dev: false
/body-scroll-lock@4.0.0-beta.0:
resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==}
dev: false
@@ -8617,6 +8602,7 @@ packages:
function-bind: 1.1.2
get-intrinsic: 1.2.4
set-function-length: 1.2.2
dev: false
/call-me-maybe@1.0.2:
resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
@@ -9545,6 +9531,7 @@ packages:
es-define-property: 1.0.0
es-errors: 1.3.0
gopd: 1.0.1
dev: false
/define-lazy-prop@3.0.0:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
@@ -9993,10 +9980,12 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
get-intrinsic: 1.2.4
dev: false
/es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
dev: false
/es-get-iterator@1.1.3:
resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
@@ -10968,10 +10957,10 @@ packages:
/flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
/focus-trap@6.9.4:
resolution: {integrity: sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==}
/focus-trap@7.5.4:
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
dependencies:
tabbable: 5.3.3
tabbable: 6.2.0
dev: false
/follow-redirects@1.15.6(debug@4.3.4):
@@ -11155,6 +11144,7 @@ packages:
has-proto: 1.0.3
has-symbols: 1.0.3
hasown: 2.0.2
dev: false
/get-package-type@0.1.0:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
@@ -11382,6 +11372,7 @@ packages:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
dependencies:
get-intrinsic: 1.2.4
dev: false
/got@11.8.6:
resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
@@ -11478,14 +11469,17 @@ packages:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
dependencies:
es-define-property: 1.0.0
dev: false
/has-proto@1.0.3:
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
engines: {node: '>= 0.4'}
dev: false
/has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
dev: false
/has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
@@ -13768,6 +13762,7 @@ packages:
/object-inspect@1.13.1:
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
dev: false
/object-is@1.1.6:
resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
@@ -15188,6 +15183,10 @@ packages:
/pure-rand@6.1.0:
resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
/qs-esm@7.0.2:
resolution: {integrity: sha512-D8NAthKSD7SGn748v+GLaaO6k08Mvpoqroa35PqIQC4gtUa8/Pb/k+r0m0NnGBVbHDP1gKZ2nVywqfMisRhV5A==}
engines: {node: '>=18'}
/qs@6.11.0:
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
engines: {node: '>=0.6'}
@@ -15200,6 +15199,7 @@ packages:
engines: {node: '>=0.6'}
dependencies:
side-channel: 1.0.6
dev: false
/querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
@@ -16137,6 +16137,7 @@ packages:
get-intrinsic: 1.2.4
gopd: 1.0.1
has-property-descriptors: 1.0.2
dev: false
/set-function-name@2.0.2:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
@@ -16244,6 +16245,7 @@ packages:
es-errors: 1.3.0
get-intrinsic: 1.2.4
object-inspect: 1.13.1
dev: false
/sift@16.0.1:
resolution: {integrity: sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==}
@@ -16808,10 +16810,6 @@ packages:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
dev: true
/tabbable@5.3.3:
resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==}
dev: false
/tabbable@6.2.0:
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}

View File

@@ -3,7 +3,7 @@ import type { Page } from '@playwright/test'
import { expect, test } from '@playwright/test'
import { mapAsync } from 'payload'
import { wait } from 'payload/shared'
import qs from 'qs'
import * as qs from 'qs-esm'
import type { Config, Geo, Post } from '../../payload-types.js'

View File

@@ -1,4 +1,4 @@
import type { SanitizedConfig, Config } from 'payload'
import type { Config, SanitizedConfig } from 'payload'
import { mongooseAdapter } from '@payloadcms/db-mongodb'
import { postgresAdapter } from '@payloadcms/db-postgres'
@@ -163,12 +163,6 @@ export async function buildConfigWithDefaults(
...testConfig,
typescript: {
declare: {
ignoreTSError: true,
},
...testConfig?.typescript,
},
i18n: {
supportedLanguages: {
de,
@@ -177,6 +171,12 @@ export async function buildConfigWithDefaults(
},
...(testConfig?.i18n || {}),
},
typescript: {
declare: {
ignoreTSError: true,
},
...testConfig?.typescript,
},
}
config.admin = {

View File

@@ -1,5 +1,5 @@
import type { SanitizedConfig, Where } from 'payload'
import type { ParsedQs } from 'qs'
import type { ParsedQs } from 'qs-esm'
import {
REST_DELETE as createDELETE,
@@ -8,7 +8,7 @@ import {
REST_PATCH as createPATCH,
REST_POST as createPOST,
} from '@payloadcms/next/routes'
import qs from 'qs'
import * as qs from 'qs-esm'
import { devUser } from '../credentials.js'

View File

@@ -3,7 +3,7 @@ import type { Where } from 'payload'
import type { Config } from 'payload'
import type { PaginatedDocs } from 'payload'
import qs from 'qs'
import * as qs from 'qs-esm'
import { devUser } from '../credentials.js'

View File

@@ -1,6 +1,6 @@
'use client'
import qs from 'qs'
import * as qs from 'qs-esm'
import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'
import type { Post } from '../../../../../payload-types.js'

View File

@@ -58,7 +58,7 @@
"jwt-decode": "4.0.0",
"lexical": "0.15.0",
"payload": "workspace:*",
"qs": "6.12.1",
"qs-esm": "7.0.2",
"server-only": "^0.0.1",
"slate": "0.91.4",
"tempy": "^1.0.1",