diff --git a/BACKERS.md b/BACKERS.md index 631bcb91120..d8eb697f957 100644 --- a/BACKERS.md +++ b/BACKERS.md @@ -4,6 +4,6 @@ Vue.js is an MIT-licensed open source project with its ongoing development made

- sponsors + sponsors

diff --git a/package.json b/package.json index 9ad6b011cfa..f14db16ddae 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "build-runtime-esm": "node scripts/build.js runtime reactivity shared -af esm-bundler && node scripts/build.js vue -f esm-bundler-runtime && node scripts/build.js vue -f esm-browser-runtime", "build-ssr-esm": "node scripts/build.js compiler-sfc server-renderer -f esm-browser", "build-sfc-playground-self": "cd packages/sfc-playground && npm run build", - "preinstall": "node ./scripts/preinstall.js", + "preinstall": "npx only-allow pnpm", "postinstall": "simple-git-hooks" }, "simple-git-hooks": { @@ -87,7 +87,7 @@ "prettier": "^2.7.1", "pug": "^3.0.1", "puppeteer": "~19.6.0", - "rollup": "^3.20.2", + "rollup": "^3.26.0", "rollup-plugin-dts": "^5.3.0", "rollup-plugin-esbuild": "^5.0.0", "rollup-plugin-polyfill-node": "^0.12.0", @@ -97,7 +97,7 @@ "terser": "^5.15.1", "todomvc-app-css": "^2.3.0", "tslib": "^2.5.0", - "typescript": "^5.0.0", + "typescript": "^5.1.6", "vite": "^4.3.0", "vitest": "^0.30.1" } diff --git a/packages/compiler-dom/src/decodeHtmlBrowser.ts b/packages/compiler-dom/src/decodeHtmlBrowser.ts index cca3bb12a6e..2e72d0fd1f7 100644 --- a/packages/compiler-dom/src/decodeHtmlBrowser.ts +++ b/packages/compiler-dom/src/decodeHtmlBrowser.ts @@ -8,9 +8,9 @@ export function decodeHtmlBrowser(raw: string, asAttr = false): string { } if (asAttr) { decoder.innerHTML = `
` - return decoder.children[0].getAttribute('foo') as string + return decoder.children[0].getAttribute('foo')! } else { decoder.innerHTML = raw - return decoder.textContent as string + return decoder.textContent! } } diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index 18b5d90eaf6..b7925ada895 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -745,6 +745,21 @@ return { get vMyDir() { return vMyDir } } })" `; +exports[`SFC compile + + `) + expect(content).toMatch( + `return { get FooBar() { return FooBar }, get foo() { return foo }, ` + + `get bar() { return bar } }` + ) + assertCode(content) + }) + // https://github.com/vuejs/core/issues/4599 test('attribute expressions', () => { const { content } = compile(` @@ -513,6 +532,23 @@ describe('SFC compile + + `) + expect(content).toMatch( + 'return { get foo() { return foo }, get bar() { return bar }, get Baz() { return Baz } }' + ) + assertCode(content) + }) }) describe('inlineTemplate mode', () => { diff --git a/packages/compiler-sfc/src/script/importUsageCheck.ts b/packages/compiler-sfc/src/script/importUsageCheck.ts index b42397d573b..7019dcf2312 100644 --- a/packages/compiler-sfc/src/script/importUsageCheck.ts +++ b/packages/compiler-sfc/src/script/importUsageCheck.ts @@ -50,6 +50,12 @@ function resolveTemplateUsageCheckString(sfc: SFCDescriptor) { if (!isBuiltInDirective(prop.name)) { code += `,v${capitalize(camelize(prop.name))}` } + if (prop.arg && !(prop.arg as SimpleExpressionNode).isStatic) { + code += `,${processExp( + (prop.arg as SimpleExpressionNode).content, + prop.name + )}` + } if (prop.exp) { code += `,${processExp( (prop.exp as SimpleExpressionNode).content, @@ -57,6 +63,9 @@ function resolveTemplateUsageCheckString(sfc: SFCDescriptor) { )}` } } + if (prop.type === NodeTypes.ATTRIBUTE && prop.name === 'ref' && prop.value?.content) { + code += `,${prop.value.content}` + } } } else if (node.type === NodeTypes.INTERPOLATION) { code += `,${processExp( diff --git a/packages/compiler-sfc/src/style/cssVars.ts b/packages/compiler-sfc/src/style/cssVars.ts index c86dbf2a5b9..2380959b819 100644 --- a/packages/compiler-sfc/src/style/cssVars.ts +++ b/packages/compiler-sfc/src/style/cssVars.ts @@ -53,8 +53,9 @@ export function parseCssVars(sfc: SFCDescriptor): string[] { const vars: string[] = [] sfc.styles.forEach(style => { let match - // ignore v-bind() in comments /* ... */ - const content = style.content.replace(/\/\*([\s\S]*?)\*\//g, '') + // ignore v-bind() in comments, eg /* ... */ + // and // (Less, Sass and Stylus all support the use of // to comment) + const content = style.content.replace(/\/\*([\s\S]*?)\*\/|\/\/.*/g, '') while ((match = vBindRE.exec(content))) { const start = match.index + match[0].length const end = lexBinding(content, start) diff --git a/packages/compiler-sfc/src/style/pluginScoped.ts b/packages/compiler-sfc/src/style/pluginScoped.ts index 1dcc248ad71..f6e9be2fde7 100644 --- a/packages/compiler-sfc/src/style/pluginScoped.ts +++ b/packages/compiler-sfc/src/style/pluginScoped.ts @@ -130,9 +130,10 @@ function rewriteSelector( // DEPRECATED usage // .foo ::v-deep .bar -> .foo[xxxxxxx] .bar warn( - `::v-deep usage as a combinator has ` + - `been deprecated. Use :deep() instead.` + `${value} usage as a combinator has been deprecated. ` + + `Use :deep() instead of ${value} .` ) + const prev = selector.at(selector.index(n) - 1) if (prev && isSpaceCombinator(prev)) { selector.removeChild(prev) diff --git a/packages/compiler-sfc/src/style/preprocessors.ts b/packages/compiler-sfc/src/style/preprocessors.ts index 96c1153f05d..9b3610501c7 100644 --- a/packages/compiler-sfc/src/style/preprocessors.ts +++ b/packages/compiler-sfc/src/style/preprocessors.ts @@ -98,8 +98,7 @@ const less: StylePreprocessor = (source, map, options, load = require) => { const styl: StylePreprocessor = (source, map, options, load = require) => { const nodeStylus = load('stylus') try { - const ref = nodeStylus(source) - Object.keys(options).forEach(key => ref.set(key, options[key])) + const ref = nodeStylus(source, options) if (map) ref.set('sourcemap', { inline: false, comment: false }) const result = ref.render() diff --git a/packages/compiler-ssr/__tests__/ssrVModel.spec.ts b/packages/compiler-ssr/__tests__/ssrVModel.spec.ts index 3411aa291c9..5bccbcb788c 100644 --- a/packages/compiler-ssr/__tests__/ssrVModel.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrVModel.spec.ts @@ -33,6 +33,44 @@ describe('ssr: v-model', () => { `) }) + test('` + ).code + ).toMatchInlineSnapshot(` + "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\") + + return function ssrRender(_ctx, _push, _parent, _attrs) { + _push(\`
\`) + }" + `) + + expect( + compileWithWrapper( + `` + ).code + ).toMatchInlineSnapshot(` + "const { ssrIncludeBooleanAttr: _ssrIncludeBooleanAttr, ssrLooseContain: _ssrLooseContain, ssrLooseEqual: _ssrLooseEqual, ssrRenderAttrs: _ssrRenderAttrs } = require(\\"vue/server-renderer\\") + + return function ssrRender(_ctx, _push, _parent, _attrs) { + _push(\`\`) + }" + `) + }) + test('', () => { expect( compileWithWrapper(``).code diff --git a/packages/compiler-ssr/src/transforms/ssrVModel.ts b/packages/compiler-ssr/src/transforms/ssrVModel.ts index 589ef6a8650..bd587edcb9c 100644 --- a/packages/compiler-ssr/src/transforms/ssrVModel.ts +++ b/packages/compiler-ssr/src/transforms/ssrVModel.ts @@ -18,7 +18,8 @@ import { import { SSR_LOOSE_EQUAL, SSR_LOOSE_CONTAIN, - SSR_RENDER_DYNAMIC_MODEL + SSR_RENDER_DYNAMIC_MODEL, + SSR_INCLUDE_BOOLEAN_ATTR } from '../runtimeHelpers' import { DirectiveTransformResult } from 'packages/compiler-core/src/transform' @@ -129,8 +130,34 @@ export const ssrTransformModel: DirectiveTransform = (dir, node, context) => { checkDuplicatedValue() node.children = [createInterpolation(model, model.loc)] } else if (node.tag === 'select') { - // NOOP - // select relies on client-side directive to set initial selected state. + node.children.forEach(option => { + if (option.type === NodeTypes.ELEMENT) { + const plainNode = option as PlainElementNode + if (plainNode.props.findIndex(p => p.name === 'selected') === -1) { + const value = findValueBinding(plainNode) + plainNode.ssrCodegenNode!.elements.push( + createConditionalExpression( + createCallExpression(context.helper(SSR_INCLUDE_BOOLEAN_ATTR), [ + createConditionalExpression( + createCallExpression(`Array.isArray`, [model]), + createCallExpression(context.helper(SSR_LOOSE_CONTAIN), [ + model, + value + ]), + createCallExpression(context.helper(SSR_LOOSE_EQUAL), [ + model, + value + ]) + ) + ]), + createSimpleExpression(' selected', true), + createSimpleExpression('', true), + false /* no newline */ + ) + ) + } + } + }) } else { context.onError( createDOMCompilerError( diff --git a/packages/dts-test/defineComponent.test-d.tsx b/packages/dts-test/defineComponent.test-d.tsx index edd8d17eb06..7466249e10f 100644 --- a/packages/dts-test/defineComponent.test-d.tsx +++ b/packages/dts-test/defineComponent.test-d.tsx @@ -1363,13 +1363,13 @@ describe('function syntax w/ runtime props', () => { } ) - // @ts-expect-error prop type mismatch defineComponent( (_props: { msg: string }) => { return () => {} }, { props: { + // @ts-expect-error prop type mismatch msg: Number } } diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 77342590dc6..934e6056d2d 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -134,6 +134,26 @@ describe('defineProps w/ generic type declaration + withDefaults', (res.bool) }) +describe('withDefaults w/ boolean type', () => { + const res1 = withDefaults( + defineProps<{ + bool?: boolean + }>(), + { bool: false } + ) + expectType(res1.bool) + + const res2 = withDefaults( + defineProps<{ + bool?: boolean + }>(), + { + bool: undefined + } + ) + expectType(res2.bool) +}) + describe('defineProps w/ runtime declaration', () => { // runtime declaration const props = defineProps({ diff --git a/packages/reactivity/__tests__/computed.spec.ts b/packages/reactivity/__tests__/computed.spec.ts index 055ad69cc7d..c044b5feb35 100644 --- a/packages/reactivity/__tests__/computed.spec.ts +++ b/packages/reactivity/__tests__/computed.spec.ts @@ -259,13 +259,13 @@ describe('reactivity/computed', () => { const onTrigger = vi.fn((e: DebuggerEvent) => { events.push(e) }) - const obj = reactive({ foo: 1 }) + const obj = reactive<{ foo?: number }>({ foo: 1 }) const c = computed(() => obj.foo, { onTrigger }) // computed won't trigger compute until accessed c.value - obj.foo++ + obj.foo!++ expect(c.value).toBe(2) expect(onTrigger).toHaveBeenCalledTimes(1) expect(events[0]).toEqual({ @@ -277,7 +277,6 @@ describe('reactivity/computed', () => { newValue: 2 }) - // @ts-ignore delete obj.foo expect(c.value).toBeUndefined() expect(onTrigger).toHaveBeenCalledTimes(2) diff --git a/packages/reactivity/__tests__/reactive.spec.ts b/packages/reactivity/__tests__/reactive.spec.ts index 51c9ed42c8e..e7fe18252ab 100644 --- a/packages/reactivity/__tests__/reactive.spec.ts +++ b/packages/reactivity/__tests__/reactive.spec.ts @@ -23,7 +23,7 @@ describe('reactivity/reactive', () => { const reactiveObj = reactive(obj) expect(isReactive(reactiveObj)).toBe(true) // read prop of reactiveObject will cause reactiveObj[prop] to be reactive - // @ts-ignore + // @ts-expect-error const prototype = reactiveObj['__proto__'] const otherObj = { data: ['a'] } expect(isReactive(otherObj)).toBe(false) @@ -204,7 +204,7 @@ describe('reactivity/reactive', () => { const dummy = computed(() => observed.a) expect(dummy.value).toBe(0) - // @ts-ignore + // @ts-expect-error observed.a = bar expect(dummy.value).toBe(1) @@ -233,6 +233,9 @@ describe('reactivity/reactive', () => { // symbol const s = Symbol() assertValue(s) + // bigint + const bn = BigInt('9007199254740991') + assertValue(bn) // built-ins should work and return same value const p = Promise.resolve() diff --git a/packages/reactivity/__tests__/ref.spec.ts b/packages/reactivity/__tests__/ref.spec.ts index b0ba9d9cb1c..0ee32866da8 100644 --- a/packages/reactivity/__tests__/ref.spec.ts +++ b/packages/reactivity/__tests__/ref.spec.ts @@ -28,19 +28,18 @@ describe('reactivity/ref', () => { it('should be reactive', () => { const a = ref(1) let dummy - let calls = 0 - effect(() => { - calls++ + const fn = vi.fn(() => { dummy = a.value }) - expect(calls).toBe(1) + effect(fn) + expect(fn).toHaveBeenCalledTimes(1) expect(dummy).toBe(1) a.value = 2 - expect(calls).toBe(2) + expect(fn).toHaveBeenCalledTimes(2) expect(dummy).toBe(2) // same value should not trigger a.value = 2 - expect(calls).toBe(2) + expect(fn).toHaveBeenCalledTimes(2) }) it('should make nested properties reactive', () => { diff --git a/packages/reactivity/src/collectionHandlers.ts b/packages/reactivity/src/collectionHandlers.ts index 381bbad6c28..1d07af3be8c 100644 --- a/packages/reactivity/src/collectionHandlers.ts +++ b/packages/reactivity/src/collectionHandlers.ts @@ -27,7 +27,7 @@ function get( const rawTarget = toRaw(target) const rawKey = toRaw(key) if (!isReadonly) { - if (key !== rawKey) { + if (hasChanged(key, rawKey)) { track(rawTarget, TrackOpTypes.GET, key) } track(rawTarget, TrackOpTypes.GET, rawKey) @@ -50,7 +50,7 @@ function has(this: CollectionTypes, key: unknown, isReadonly = false): boolean { const rawTarget = toRaw(target) const rawKey = toRaw(key) if (!isReadonly) { - if (key !== rawKey) { + if (hasChanged(key, rawKey)) { track(rawTarget, TrackOpTypes.HAS, key) } track(rawTarget, TrackOpTypes.HAS, rawKey) diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 60de3ae2028..ef111fc1ff7 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -342,7 +342,7 @@ class ObjectRefImpl { get value() { const val = this._object[this._key] - return val === undefined ? (this._defaultValue as T[K]) : val + return val === undefined ? this._defaultValue! : val } set value(newVal) { diff --git a/packages/runtime-core/__tests__/components/Teleport.spec.ts b/packages/runtime-core/__tests__/components/Teleport.spec.ts index 57180ea139d..7371f53f7b6 100644 --- a/packages/runtime-core/__tests__/components/Teleport.spec.ts +++ b/packages/runtime-core/__tests__/components/Teleport.spec.ts @@ -475,4 +475,57 @@ describe('renderer: teleport', () => { expect(dir.mounted).toHaveBeenCalledTimes(1) expect(dir.unmounted).toHaveBeenCalledTimes(1) }) + + // #7835 + test(`ensure that target changes when disabled are updated correctly when enabled`, async () => { + const root = nodeOps.createElement('div') + const target1 = nodeOps.createElement('div') + const target2 = nodeOps.createElement('div') + const target3 = nodeOps.createElement('div') + const target = ref(target1) + const disabled = ref(true) + + const App = { + setup() { + return () => + h(Fragment, [ + h( + Teleport, + { to: target.value, disabled: disabled.value }, + h('div', 'teleported') + ) + ]) + } + } + render(h(App), root) + disabled.value = false + await nextTick() + expect(serializeInner(target1)).toMatchInlineSnapshot( + `"
teleported
"` + ) + expect(serializeInner(target2)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target3)).toMatchInlineSnapshot(`""`) + + disabled.value = true + await nextTick() + target.value = target2 + await nextTick() + expect(serializeInner(target1)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target2)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target3)).toMatchInlineSnapshot(`""`) + + target.value = target3 + await nextTick() + expect(serializeInner(target1)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target2)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target3)).toMatchInlineSnapshot(`""`) + + disabled.value = false + await nextTick() + expect(serializeInner(target1)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target2)).toMatchInlineSnapshot(`""`) + expect(serializeInner(target3)).toMatchInlineSnapshot( + `"
teleported
"` + ) + }) }) diff --git a/packages/runtime-core/__tests__/scheduler.spec.ts b/packages/runtime-core/__tests__/scheduler.spec.ts index c06b9afb3e3..6246a87e8f7 100644 --- a/packages/runtime-core/__tests__/scheduler.spec.ts +++ b/packages/runtime-core/__tests__/scheduler.spec.ts @@ -546,4 +546,16 @@ describe('scheduler', () => { await nextTick() expect(spy).toHaveBeenCalledTimes(1) }) + + it('nextTick should return promise', async () => { + const fn = vi.fn(() => { + return 1 + }) + + const p = nextTick(fn) + + expect(p).toBeInstanceOf(Promise) + expect(await p).toBe(1) + expect(fn).toHaveBeenCalledTimes(1) + }) }) diff --git a/packages/runtime-core/src/apiAsyncComponent.ts b/packages/runtime-core/src/apiAsyncComponent.ts index bd878a49442..342339042ef 100644 --- a/packages/runtime-core/src/apiAsyncComponent.ts +++ b/packages/runtime-core/src/apiAsyncComponent.ts @@ -40,6 +40,7 @@ export interface AsyncComponentOptions { export const isAsyncWrapper = (i: ComponentInternalInstance | VNode): boolean => !!(i.type as ComponentOptions).__asyncLoader +/*! #__NO_SIDE_EFFECTS__ */ export function defineAsyncComponent< T extends Component = { new (): ComponentPublicInstance } >(source: AsyncComponentLoader | AsyncComponentOptions): T { diff --git a/packages/runtime-core/src/apiCreateApp.ts b/packages/runtime-core/src/apiCreateApp.ts index c5ac9d68a52..971b406cf01 100644 --- a/packages/runtime-core/src/apiCreateApp.ts +++ b/packages/runtime-core/src/apiCreateApp.ts @@ -16,7 +16,7 @@ import { ComponentPublicInstance } from './componentPublicInstance' import { Directive, validateDirectiveName } from './directives' -import { RootRenderFunction } from './renderer' +import { RendererElement, RootRenderFunction } from './renderer' import { InjectionKey } from './apiInject' import { warn } from './warning' import { createVNode, cloneVNode, VNode } from './vnode' @@ -196,7 +196,7 @@ export type CreateAppFunction = ( let uid = 0 -export function createAppAPI( +export function createAppAPI( render: RootRenderFunction, hydrate?: RootHydrateFunction ): CreateAppFunction { diff --git a/packages/runtime-core/src/apiDefineComponent.ts b/packages/runtime-core/src/apiDefineComponent.ts index 76e9567fe2f..272bb548751 100644 --- a/packages/runtime-core/src/apiDefineComponent.ts +++ b/packages/runtime-core/src/apiDefineComponent.ts @@ -274,6 +274,7 @@ export function defineComponent< > // implementation, close to no-op +/*! #__NO_SIDE_EFFECTS__ */ export function defineComponent( options: unknown, extraOptions?: ComponentOptions diff --git a/packages/runtime-core/src/apiSetupHelpers.ts b/packages/runtime-core/src/apiSetupHelpers.ts index c00937981d9..93200667081 100644 --- a/packages/runtime-core/src/apiSetupHelpers.ts +++ b/packages/runtime-core/src/apiSetupHelpers.ts @@ -303,7 +303,13 @@ type PropsWithDefaults< ? T[K] : NotUndefined : never -} & { readonly [K in BKeys]-?: boolean } +} & { + readonly [K in BKeys]-?: K extends keyof Defaults + ? Defaults[K] extends undefined + ? boolean | undefined + : boolean + : boolean +} /** * Vue ` @@ -109,28 +60,28 @@ async function fetchVersions(): Promise { Vue SFC Playground @@ -235,33 +186,6 @@ h1 img { display: flex; } -.version { - margin-right: 12px; - position: relative; -} - -.active-version { - cursor: pointer; - position: relative; - display: inline-flex; - place-items: center; -} - -.active-version .number { - color: var(--green); - margin-left: 4px; -} - -.active-version::after { - content: ''; - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 6px solid #aaa; - margin-left: 8px; -} - .toggle-dev span, .toggle-ssr span { font-size: 12px; @@ -302,12 +226,13 @@ h1 img { } .links button, -.links button a { +.links .github { + padding: 1px 6px; color: var(--btn); } .links button:hover, -.links button:hover a { +.links .github:hover { color: var(--highlight); } diff --git a/packages/sfc-playground/src/VersionSelect.vue b/packages/sfc-playground/src/VersionSelect.vue new file mode 100644 index 00000000000..2dfbcbc5f91 --- /dev/null +++ b/packages/sfc-playground/src/VersionSelect.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/packages/sfc-playground/vite.config.ts b/packages/sfc-playground/vite.config.ts index ed76f69dcf9..8b93d1d3126 100644 --- a/packages/sfc-playground/vite.config.ts +++ b/packages/sfc-playground/vite.config.ts @@ -10,6 +10,7 @@ export default defineConfig({ plugins: [ vue({ script: { + defineModel: true, fs: { fileExists: fs.existsSync, readFile: file => fs.readFileSync(file, 'utf-8') diff --git a/packages/shared/src/general.ts b/packages/shared/src/general.ts index b36ec89c65f..0117e67000d 100644 --- a/packages/shared/src/general.ts +++ b/packages/shared/src/general.ts @@ -50,7 +50,11 @@ export const isObject = (val: unknown): val is Record => val !== null && typeof val === 'object' export const isPromise = (val: unknown): val is Promise => { - return isObject(val) && isFunction(val.then) && isFunction(val.catch) + return ( + (isObject(val) || isFunction(val)) && + isFunction((val as any).then) && + isFunction((val as any).catch) + ) } export const objectToString = Object.prototype.toString @@ -110,16 +114,17 @@ export const hyphenate = cacheStringFunction((str: string) => /** * @private */ -export const capitalize = cacheStringFunction( - (str: string) => str.charAt(0).toUpperCase() + str.slice(1) -) +export const capitalize = cacheStringFunction((str: T) => { + return (str.charAt(0).toUpperCase() + str.slice(1)) as Capitalize +}) /** * @private */ -export const toHandlerKey = cacheStringFunction((str: string) => - str ? `on${capitalize(str)}` : `` -) +export const toHandlerKey = cacheStringFunction((str: T) => { + const s = str ? `on${capitalize(str)}` : `` + return s as T extends '' ? '' : `on${Capitalize}` +}) // compare whether a value has changed, accounting for NaN. export const hasChanged = (value: any, oldValue: any): boolean => diff --git a/packages/shared/src/typeUtils.ts b/packages/shared/src/typeUtils.ts index 67fb47c23b3..1deb4729125 100644 --- a/packages/shared/src/typeUtils.ts +++ b/packages/shared/src/typeUtils.ts @@ -12,3 +12,12 @@ export type LooseRequired = { [P in keyof (T & Required)]: T[P] } // If the type T accepts type "any", output type Y, otherwise output type N. // https://stackoverflow.com/questions/49927523/disallow-call-with-any/49928360#49928360 export type IfAny = 0 extends 1 & T ? Y : N + +// To prevent users with TypeScript versions lower than 4.5 from encountering unsupported Awaited type, a copy has been made here. +export type Awaited = T extends null | undefined + ? T // special case for `null | undefined` when not in `--strictNullChecks` mode + : T extends object & { then(onfulfilled: infer F, ...args: infer _): any } // `await` only unwraps object types with a callable `then`. Non-object types are not unwrapped + ? F extends (value: infer V, ...args: infer _) => any // if the argument to `then` is callable, extracts the first argument + ? Awaited // recursively unwrap the value + : never // the argument to `then` was not callable + : T // non-object or non-thenable diff --git a/packages/vue-compat/__tests__/utils.ts b/packages/vue-compat/__tests__/utils.ts index bcf72b296de..a7242122bcb 100644 --- a/packages/vue-compat/__tests__/utils.ts +++ b/packages/vue-compat/__tests__/utils.ts @@ -3,8 +3,10 @@ export function triggerEvent( event: string, process?: (e: any) => any ) { - const e = document.createEvent('HTMLEvents') - e.initEvent(event, true, true) + const e = new Event(event, { + bubbles: true, + cancelable: true + }) if (process) process(e) target.dispatchEvent(e) return e diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d6c6b95d94e..62d5e18f419 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,31 +16,31 @@ importers: version: 7.21.3 '@rollup/plugin-alias': specifier: ^4.0.3 - version: 4.0.3(rollup@3.20.2) + version: 4.0.4(rollup@3.26.2) '@rollup/plugin-commonjs': specifier: ^24.0.1 - version: 24.0.1(rollup@3.20.2) + version: 24.1.0(rollup@3.26.2) '@rollup/plugin-json': specifier: ^6.0.0 - version: 6.0.0(rollup@3.20.2) + version: 6.0.0(rollup@3.26.2) '@rollup/plugin-node-resolve': specifier: ^15.0.1 - version: 15.0.1(rollup@3.20.2) + version: 15.1.0(rollup@3.26.2) '@rollup/plugin-replace': specifier: ^5.0.2 - version: 5.0.2(rollup@3.20.2) + version: 5.0.2(rollup@3.26.2) '@rollup/plugin-terser': specifier: ^0.4.0 - version: 0.4.0(rollup@3.20.2) + version: 0.4.0(rollup@3.26.2) '@types/hash-sum': specifier: ^1.0.0 version: 1.0.0 '@types/node': specifier: ^16.4.7 - version: 16.18.11 + version: 16.18.38 '@typescript-eslint/parser': specifier: ^5.56.0 - version: 5.56.0(eslint@8.33.0)(typescript@5.0.2) + version: 5.56.0(eslint@8.33.0)(typescript@5.1.6) '@vitest/coverage-istanbul': specifier: ^0.29.7 version: 0.29.7(vitest@0.30.1) @@ -58,16 +58,16 @@ importers: version: 2.3.6 esbuild: specifier: ^0.17.4 - version: 0.17.5 + version: 0.17.19 esbuild-plugin-polyfill-node: specifier: ^0.2.0 - version: 0.2.0(esbuild@0.17.5) + version: 0.2.0(esbuild@0.17.19) eslint: specifier: ^8.33.0 version: 8.33.0 eslint-plugin-jest: specifier: ^27.2.1 - version: 27.2.1(eslint@8.33.0)(typescript@5.0.2) + version: 27.2.2(eslint@8.33.0)(typescript@5.1.6) estree-walker: specifier: ^2.0.2 version: 2.0.2 @@ -88,7 +88,7 @@ importers: version: 0.30.0 marked: specifier: ^4.0.10 - version: 4.2.12 + version: 4.3.0 minimist: specifier: ^1.2.0 version: 1.2.7 @@ -97,7 +97,7 @@ importers: version: 4.1.5 prettier: specifier: ^2.7.1 - version: 2.8.3 + version: 2.8.8 pug: specifier: ^3.0.1 version: 3.0.2 @@ -105,20 +105,20 @@ importers: specifier: ~19.6.0 version: 19.6.3 rollup: - specifier: ^3.20.2 - version: 3.20.2 + specifier: ^3.26.0 + version: 3.26.2 rollup-plugin-dts: specifier: ^5.3.0 - version: 5.3.0(rollup@3.20.2)(typescript@5.0.2) + version: 5.3.0(rollup@3.26.2)(typescript@5.1.6) rollup-plugin-esbuild: specifier: ^5.0.0 - version: 5.0.0(esbuild@0.17.5)(rollup@3.20.2) + version: 5.0.0(esbuild@0.17.19)(rollup@3.26.2) rollup-plugin-polyfill-node: specifier: ^0.12.0 - version: 0.12.0(rollup@3.20.2) + version: 0.12.0(rollup@3.26.2) semver: specifier: ^7.3.2 - version: 7.3.8 + version: 7.5.3 serve: specifier: ^12.0.0 version: 12.0.1 @@ -127,22 +127,22 @@ importers: version: 2.8.1 terser: specifier: ^5.15.1 - version: 5.16.2 + version: 5.18.2 todomvc-app-css: specifier: ^2.3.0 version: 2.4.2 tslib: specifier: ^2.5.0 - version: 2.5.0 + version: 2.6.0 typescript: - specifier: ^5.0.0 - version: 5.0.2 + specifier: ^5.1.6 + version: 5.1.6 vite: specifier: ^4.3.0 - version: 4.3.1(@types/node@16.18.11)(terser@5.16.2) + version: 4.3.1(@types/node@16.18.38)(terser@5.18.2) vitest: specifier: ^0.30.1 - version: 0.30.1(jsdom@21.1.0)(terser@5.16.2) + version: 0.30.1(jsdom@21.1.0)(terser@5.18.2) packages/compiler-core: dependencies: @@ -333,8 +333,8 @@ importers: packages/sfc-playground: dependencies: '@vue/repl': - specifier: ^2.4.0 - version: 2.4.0 + specifier: ^2.5.4 + version: 2.5.4 file-saver: specifier: ^2.0.5 version: 2.0.5 @@ -347,10 +347,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^4.2.3 - version: 4.2.3(vite@4.3.9)(vue@packages+vue) + version: 4.2.3(vite@4.4.2)(vue@packages+vue) vite: - specifier: ^4.3.9 - version: 4.3.9(@types/node@16.18.11)(terser@5.16.2) + specifier: ^4.4.2 + version: 4.4.2(@types/node@16.18.38)(terser@5.18.2) packages/shared: {} @@ -627,8 +627,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.17.5: - resolution: {integrity: sha512-KHWkDqYAMmKZjY4RAN1PR96q6UOtfkWlTS8uEwWxdLtkRt/0F/csUhXIrVfaSIFxnscIBMPynGfhsMwQDRIBQw==} + /@esbuild/android-arm64@0.18.11: + resolution: {integrity: sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -645,8 +645,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.5: - resolution: {integrity: sha512-crmPUzgCmF+qZXfl1YkiFoUta2XAfixR1tEnr/gXIixE+WL8Z0BGqfydP5oox0EUOgQMMRgtATtakyAcClQVqQ==} + /@esbuild/android-arm@0.18.11: + resolution: {integrity: sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -663,8 +663,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.17.5: - resolution: {integrity: sha512-8fI/AnIdmWz/+1iza2WrCw8kwXK9wZp/yZY/iS8ioC+U37yJCeppi9EHY05ewJKN64ASoBIseufZROtcFnX5GA==} + /@esbuild/android-x64@0.18.11: + resolution: {integrity: sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -681,8 +681,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.17.5: - resolution: {integrity: sha512-EAvaoyIySV6Iif3NQCglUNpnMfHSUgC5ugt2efl3+QDntucJe5spn0udNZjTgNi6tKVqSceOw9tQ32liNZc1Xw==} + /@esbuild/darwin-arm64@0.18.11: + resolution: {integrity: sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -699,8 +699,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.17.5: - resolution: {integrity: sha512-ha7QCJh1fuSwwCgoegfdaljowwWozwTDjBgjD3++WAy/qwee5uUi1gvOg2WENJC6EUyHBOkcd3YmLDYSZ2TPPA==} + /@esbuild/darwin-x64@0.18.11: + resolution: {integrity: sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -717,8 +717,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.17.5: - resolution: {integrity: sha512-VbdXJkn2aI2pQ/wxNEjEcnEDwPpxt3CWWMFYmO7CcdFBoOsABRy2W8F3kjbF9F/pecEUDcI3b5i2w+By4VQFPg==} + /@esbuild/freebsd-arm64@0.18.11: + resolution: {integrity: sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -735,8 +735,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.17.5: - resolution: {integrity: sha512-olgGYND1/XnnWxwhjtY3/ryjOG/M4WfcA6XH8dBTH1cxMeBemMODXSFhkw71Kf4TeZFFTN25YOomaNh0vq2iXg==} + /@esbuild/freebsd-x64@0.18.11: + resolution: {integrity: sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -753,8 +753,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.17.5: - resolution: {integrity: sha512-8a0bqSwu3OlLCfu2FBbDNgQyBYdPJh1B9PvNX7jMaKGC9/KopgHs37t+pQqeMLzcyRqG6z55IGNQAMSlCpBuqg==} + /@esbuild/linux-arm64@0.18.11: + resolution: {integrity: sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -771,8 +771,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.17.5: - resolution: {integrity: sha512-YBdCyQwA3OQupi6W2/WO4FnI+NWFWe79cZEtlbqSESOHEg7a73htBIRiE6uHPQe7Yp5E4aALv+JxkRLGEUL7tw==} + /@esbuild/linux-arm@0.18.11: + resolution: {integrity: sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -789,8 +789,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.17.5: - resolution: {integrity: sha512-uCwm1r/+NdP7vndctgq3PoZrnmhmnecWAr114GWMRwg2QMFFX+kIWnp7IO220/JLgnXK/jP7VKAFBGmeOYBQYQ==} + /@esbuild/linux-ia32@0.18.11: + resolution: {integrity: sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -807,8 +807,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.5: - resolution: {integrity: sha512-3YxhSBl5Sb6TtBjJu+HP93poBruFzgXmf3PVfIe4xOXMj1XpxboYZyw3W8BhoX/uwxzZz4K1I99jTE/5cgDT1g==} + /@esbuild/linux-loong64@0.18.11: + resolution: {integrity: sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -825,8 +825,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.17.5: - resolution: {integrity: sha512-Hy5Z0YVWyYHdtQ5mfmfp8LdhVwGbwVuq8mHzLqrG16BaMgEmit2xKO+iDakHs+OetEx0EN/2mUzDdfdktI+Nmg==} + /@esbuild/linux-mips64el@0.18.11: + resolution: {integrity: sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -843,8 +843,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.17.5: - resolution: {integrity: sha512-5dbQvBLbU/Y3Q4ABc9gi23hww1mQcM7KZ9KBqabB7qhJswYMf8WrDDOSw3gdf3p+ffmijMd28mfVMvFucuECyg==} + /@esbuild/linux-ppc64@0.18.11: + resolution: {integrity: sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -861,8 +861,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.17.5: - resolution: {integrity: sha512-fp/KUB/ZPzEWGTEUgz9wIAKCqu7CjH1GqXUO2WJdik1UNBQ7Xzw7myIajpxztE4Csb9504ERiFMxZg5KZ6HlZQ==} + /@esbuild/linux-riscv64@0.18.11: + resolution: {integrity: sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -879,8 +879,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.17.5: - resolution: {integrity: sha512-kRV3yw19YDqHTp8SfHXfObUFXlaiiw4o2lvT1XjsPZ++22GqZwSsYWJLjMi1Sl7j9qDlDUduWDze/nQx0d6Lzw==} + /@esbuild/linux-s390x@0.18.11: + resolution: {integrity: sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -897,8 +897,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.17.5: - resolution: {integrity: sha512-vnxuhh9e4pbtABNLbT2ANW4uwQ/zvcHRCm1JxaYkzSehugoFd5iXyC4ci1nhXU13mxEwCnrnTIiiSGwa/uAF1g==} + /@esbuild/linux-x64@0.18.11: + resolution: {integrity: sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -915,8 +915,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.17.5: - resolution: {integrity: sha512-cigBpdiSx/vPy7doUyImsQQBnBjV5f1M99ZUlaJckDAJjgXWl6y9W17FIfJTy8TxosEF6MXq+fpLsitMGts2nA==} + /@esbuild/netbsd-x64@0.18.11: + resolution: {integrity: sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -933,8 +933,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.17.5: - resolution: {integrity: sha512-VdqRqPVIjjZfkf40LrqOaVuhw9EQiAZ/GNCSM2UplDkaIzYVsSnycxcFfAnHdWI8Gyt6dO15KHikbpxwx+xHbw==} + /@esbuild/openbsd-x64@0.18.11: + resolution: {integrity: sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -951,8 +951,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.17.5: - resolution: {integrity: sha512-ItxPaJ3MBLtI4nK+mALLEoUs6amxsx+J1ibnfcYMkqaCqHST1AkF4aENpBehty3czqw64r/XqL+W9WqU6kc2Qw==} + /@esbuild/sunos-x64@0.18.11: + resolution: {integrity: sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -969,8 +969,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.17.5: - resolution: {integrity: sha512-4u2Q6qsJTYNFdS9zHoAi80spzf78C16m2wla4eJPh4kSbRv+BpXIfl6TmBSWupD8e47B1NrTfrOlEuco7mYQtg==} + /@esbuild/win32-arm64@0.18.11: + resolution: {integrity: sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -987,8 +987,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.17.5: - resolution: {integrity: sha512-KYlm+Xu9TXsfTWAcocLuISRtqxKp/Y9ZBVg6CEEj0O5J9mn7YvBKzAszo2j1ndyzUPk+op+Tie2PJeN+BnXGqQ==} + /@esbuild/win32-ia32@0.18.11: + resolution: {integrity: sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1005,8 +1005,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.17.5: - resolution: {integrity: sha512-XgA9qWRqby7xdYXuF6KALsn37QGBMHsdhmnpjfZtYxKxbTOwfnDM6MYi2WuUku5poNaX2n9XGVr20zgT/2QwCw==} + /@esbuild/win32-x64@0.18.11: + resolution: {integrity: sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1088,8 +1088,8 @@ packages: engines: {node: '>=6.0.0'} dev: true - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 @@ -1130,8 +1130,8 @@ packages: fastq: 1.15.0 dev: true - /@rollup/plugin-alias@4.0.3(rollup@3.20.2): - resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==} + /@rollup/plugin-alias@4.0.4(rollup@3.26.2): + resolution: {integrity: sha512-0CaAY238SMtYAWEXXptWSR8iz8NYZnH7zNBKuJ14xFJSGwLtPgjvXYsoApAHfzYXXH1ejxpVw7WlHss3zhh9SQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -1139,12 +1139,12 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.2 + rollup: 3.26.2 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@24.0.1(rollup@3.20.2): - resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} + /@rollup/plugin-commonjs@24.1.0(rollup@3.26.2): + resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -1152,16 +1152,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.20.2 + rollup: 3.26.2 dev: true - /@rollup/plugin-inject@5.0.3(rollup@3.20.2): + /@rollup/plugin-inject@5.0.3(rollup@3.26.2): resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1170,13 +1170,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) estree-walker: 2.0.2 magic-string: 0.27.0 - rollup: 3.20.2 + rollup: 3.26.2 dev: true - /@rollup/plugin-json@6.0.0(rollup@3.20.2): + /@rollup/plugin-json@6.0.0(rollup@3.26.2): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1185,12 +1185,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) - rollup: 3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) + rollup: 3.26.2 dev: true - /@rollup/plugin-node-resolve@15.0.1(rollup@3.20.2): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} + /@rollup/plugin-node-resolve@15.1.0(rollup@3.26.2): + resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0 @@ -1198,16 +1198,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) '@types/resolve': 1.20.2 deepmerge: 4.3.0 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.1 - rollup: 3.20.2 + rollup: 3.26.2 dev: true - /@rollup/plugin-replace@5.0.2(rollup@3.20.2): + /@rollup/plugin-replace@5.0.2(rollup@3.26.2): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1216,12 +1216,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) magic-string: 0.27.0 - rollup: 3.20.2 + rollup: 3.26.2 dev: true - /@rollup/plugin-terser@0.4.0(rollup@3.20.2): + /@rollup/plugin-terser@0.4.0(rollup@3.26.2): resolution: {integrity: sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1230,13 +1230,13 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.2 + rollup: 3.26.2 serialize-javascript: 6.0.1 smob: 0.0.6 - terser: 5.16.2 + terser: 5.18.2 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.20.2): + /@rollup/pluginutils@5.0.2(rollup@3.26.2): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1248,7 +1248,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.20.2 + rollup: 3.26.2 dev: true /@tootallnate/once@2.0.0: @@ -1290,8 +1290,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node@16.18.11: - resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} + /@types/node@16.18.38: + resolution: {integrity: sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==} dev: true /@types/normalize-package-data@2.4.1: @@ -1314,11 +1314,11 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.18.11 + '@types/node': 16.18.38 dev: true optional: true - /@typescript-eslint/parser@5.56.0(eslint@8.33.0)(typescript@5.0.2): + /@typescript-eslint/parser@5.56.0(eslint@8.33.0)(typescript@5.1.6): resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1330,10 +1330,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.56.0 '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0(typescript@5.0.2) + '@typescript-eslint/typescript-estree': 5.56.0(typescript@5.1.6) debug: 4.3.4 eslint: 8.33.0 - typescript: 5.0.2 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -1364,7 +1364,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.50.0(typescript@5.0.2): + /@typescript-eslint/typescript-estree@5.50.0(typescript@5.1.6): resolution: {integrity: sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1378,14 +1378,14 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@5.0.2) - typescript: 5.0.2 + semver: 7.5.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@5.56.0(typescript@5.0.2): + /@typescript-eslint/typescript-estree@5.56.0(typescript@5.1.6): resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1399,14 +1399,14 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@5.0.2) - typescript: 5.0.2 + semver: 7.5.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.50.0(eslint@8.33.0)(typescript@5.0.2): + /@typescript-eslint/utils@5.50.0(eslint@8.33.0)(typescript@5.1.6): resolution: {integrity: sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1416,11 +1416,11 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.50.0 '@typescript-eslint/types': 5.50.0 - '@typescript-eslint/typescript-estree': 5.50.0(typescript@5.0.2) + '@typescript-eslint/typescript-estree': 5.50.0(typescript@5.1.6) eslint: 8.33.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@8.33.0) - semver: 7.3.8 + semver: 7.5.3 transitivePeerDependencies: - supports-color - typescript @@ -1442,14 +1442,14 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue@4.2.3(vite@4.3.9)(vue@packages+vue): + /@vitejs/plugin-vue@4.2.3(vite@4.4.2)(vue@packages+vue): resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.3.9(@types/node@16.18.11)(terser@5.16.2) + vite: 4.4.2(@types/node@16.18.38)(terser@5.18.2) vue: link:packages/vue dev: true @@ -1464,7 +1464,7 @@ packages: istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 test-exclude: 6.0.0 - vitest: 0.30.1(jsdom@21.1.0)(terser@5.16.2) + vitest: 0.30.1(jsdom@21.1.0)(terser@5.18.2) transitivePeerDependencies: - supports-color dev: true @@ -1513,8 +1513,9 @@ packages: engines: {node: '>= 0.12.0'} dev: true - /@vue/repl@2.4.0: - resolution: {integrity: sha512-vXXEysYTCZdJo3kECwKDTxd6GI3F9RzJ3dkslY6fpdGn7q+aCizLqcWiEnWaeBjbqOh31rMsPPUxhhC3jhaiXQ==} + /@vue/repl@2.5.4: + resolution: {integrity: sha512-rUcoebQQDG/T0oXkj+QGGuVHtWdvmT76CuPjZKgYMhXQiRkydnxPsW8iBdsZ5hHFuLRukuO83Crh5itByDOe5w==} + requiresBuild: true dev: false /@zeit/schemas@2.6.0: @@ -2049,7 +2050,7 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.3.8 + semver: 7.5.3 well-known-symbols: 2.0.0 dev: true @@ -2544,13 +2545,13 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-plugin-polyfill-node@0.2.0(esbuild@0.17.5): + /esbuild-plugin-polyfill-node@0.2.0(esbuild@0.17.19): resolution: {integrity: sha512-rpCoK4mag0nehBtFlFMLSuL9bNBLEh8h3wZ/FsrJEDompA/AwOqInx6Xow01+CXAcvZYhkoJ0SIZiS37qkecDA==} peerDependencies: esbuild: '*' dependencies: '@jspm/core': 2.0.1 - esbuild: 0.17.5 + esbuild: 0.17.19 import-meta-resolve: 2.2.2 dev: true @@ -2584,34 +2585,34 @@ packages: '@esbuild/win32-x64': 0.17.19 dev: true - /esbuild@0.17.5: - resolution: {integrity: sha512-Bu6WLCc9NMsNoMJUjGl3yBzTjVLXdysMltxQWiLAypP+/vQrf+3L1Xe8fCXzxaECus2cEJ9M7pk4yKatEwQMqQ==} + /esbuild@0.18.11: + resolution: {integrity: sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.5 - '@esbuild/android-arm64': 0.17.5 - '@esbuild/android-x64': 0.17.5 - '@esbuild/darwin-arm64': 0.17.5 - '@esbuild/darwin-x64': 0.17.5 - '@esbuild/freebsd-arm64': 0.17.5 - '@esbuild/freebsd-x64': 0.17.5 - '@esbuild/linux-arm': 0.17.5 - '@esbuild/linux-arm64': 0.17.5 - '@esbuild/linux-ia32': 0.17.5 - '@esbuild/linux-loong64': 0.17.5 - '@esbuild/linux-mips64el': 0.17.5 - '@esbuild/linux-ppc64': 0.17.5 - '@esbuild/linux-riscv64': 0.17.5 - '@esbuild/linux-s390x': 0.17.5 - '@esbuild/linux-x64': 0.17.5 - '@esbuild/netbsd-x64': 0.17.5 - '@esbuild/openbsd-x64': 0.17.5 - '@esbuild/sunos-x64': 0.17.5 - '@esbuild/win32-arm64': 0.17.5 - '@esbuild/win32-ia32': 0.17.5 - '@esbuild/win32-x64': 0.17.5 + '@esbuild/android-arm': 0.18.11 + '@esbuild/android-arm64': 0.18.11 + '@esbuild/android-x64': 0.18.11 + '@esbuild/darwin-arm64': 0.18.11 + '@esbuild/darwin-x64': 0.18.11 + '@esbuild/freebsd-arm64': 0.18.11 + '@esbuild/freebsd-x64': 0.18.11 + '@esbuild/linux-arm': 0.18.11 + '@esbuild/linux-arm64': 0.18.11 + '@esbuild/linux-ia32': 0.18.11 + '@esbuild/linux-loong64': 0.18.11 + '@esbuild/linux-mips64el': 0.18.11 + '@esbuild/linux-ppc64': 0.18.11 + '@esbuild/linux-riscv64': 0.18.11 + '@esbuild/linux-s390x': 0.18.11 + '@esbuild/linux-x64': 0.18.11 + '@esbuild/netbsd-x64': 0.18.11 + '@esbuild/openbsd-x64': 0.18.11 + '@esbuild/sunos-x64': 0.18.11 + '@esbuild/win32-arm64': 0.18.11 + '@esbuild/win32-ia32': 0.18.11 + '@esbuild/win32-x64': 0.18.11 dev: true /escalade@3.1.1: @@ -2642,8 +2643,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-plugin-jest@27.2.1(eslint@8.33.0)(typescript@5.0.2): - resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} + /eslint-plugin-jest@27.2.2(eslint@8.33.0)(typescript@5.1.6): + resolution: {integrity: sha512-euzbp06F934Z7UDl5ZUaRPLAc9MKjh0rMPERrHT7UhlCEwgb25kBj37TvMgWeHZVkR5I9CayswrpoaqZU1RImw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 @@ -2655,7 +2656,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/utils': 5.50.0(eslint@8.33.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.50.0(eslint@8.33.0)(typescript@5.1.6) eslint: 8.33.0 transitivePeerDependencies: - supports-color @@ -3990,8 +3991,8 @@ packages: engines: {node: '>=8'} dev: true - /marked@4.2.12: - resolution: {integrity: sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==} + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} hasBin: true dev: true @@ -4210,7 +4211,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.11.0 - semver: 7.3.8 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -4601,8 +4602,8 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.25: + resolution: {integrity: sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -4620,8 +4621,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@2.8.3: - resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -4995,7 +4996,7 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-dts@5.3.0(rollup@3.20.2)(typescript@5.0.2): + /rollup-plugin-dts@5.3.0(rollup@3.26.2)(typescript@5.1.6): resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} engines: {node: '>=v14'} peerDependencies: @@ -5003,49 +5004,41 @@ packages: typescript: ^4.1 || ^5.0 dependencies: magic-string: 0.30.0 - rollup: 3.20.2 - typescript: 5.0.2 + rollup: 3.26.2 + typescript: 5.1.6 optionalDependencies: '@babel/code-frame': 7.22.5 dev: true - /rollup-plugin-esbuild@5.0.0(esbuild@0.17.5)(rollup@3.20.2): + /rollup-plugin-esbuild@5.0.0(esbuild@0.17.19)(rollup@3.26.2): resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} peerDependencies: esbuild: '>=0.10.1' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.26.2) debug: 4.3.4 es-module-lexer: 1.1.0 - esbuild: 0.17.5 + esbuild: 0.17.19 joycon: 3.1.1 jsonc-parser: 3.2.0 - rollup: 3.20.2 + rollup: 3.26.2 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-polyfill-node@0.12.0(rollup@3.20.2): + /rollup-plugin-polyfill-node@0.12.0(rollup@3.26.2): resolution: {integrity: sha512-PWEVfDxLEKt8JX1nZ0NkUAgXpkZMTb85rO/Ru9AQ69wYW8VUCfDgP4CGRXXWYni5wDF0vIeR1UoF3Jmw/Lt3Ug==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 dependencies: - '@rollup/plugin-inject': 5.0.3(rollup@3.20.2) - rollup: 3.20.2 - dev: true - - /rollup@3.20.2: - resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 + '@rollup/plugin-inject': 5.0.3(rollup@3.26.2) + rollup: 3.26.2 dev: true - /rollup@3.25.1: - resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==} + /rollup@3.26.2: + resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -5061,7 +5054,7 @@ packages: /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.0 dev: true /safe-buffer@5.1.2: @@ -5114,8 +5107,8 @@ packages: hasBin: true dev: true - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5488,12 +5481,12 @@ packages: execa: 0.7.0 dev: true - /terser@5.16.2: - resolution: {integrity: sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==} + /terser@5.18.2: + resolution: {integrity: sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 + '@jridgewell/source-map': 0.3.5 acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 @@ -5602,18 +5595,18 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib@2.6.0: + resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} dev: true - /tsutils@3.21.0(typescript@5.0.2): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.2 + typescript: 5.1.6 dev: true /type-check@0.3.2: @@ -5672,6 +5665,13 @@ packages: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} hasBin: true + dev: false + + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} + hasBin: true + dev: true /ufo@1.1.1: resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} @@ -5758,7 +5758,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite-node@0.30.1(@types/node@16.18.11)(terser@5.16.2): + /vite-node@0.30.1(@types/node@16.18.38)(terser@5.18.2): resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5768,7 +5768,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.3.1(@types/node@16.18.11)(terser@5.16.2) + vite: 4.3.1(@types/node@16.18.38)(terser@5.18.2) transitivePeerDependencies: - '@types/node' - less @@ -5779,7 +5779,7 @@ packages: - terser dev: true - /vite@4.3.1(@types/node@16.18.11)(terser@5.16.2): + /vite@4.3.1(@types/node@16.18.38)(terser@5.18.2): resolution: {integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5804,22 +5804,23 @@ packages: terser: optional: true dependencies: - '@types/node': 16.18.11 - esbuild: 0.17.5 + '@types/node': 16.18.38 + esbuild: 0.17.19 postcss: 8.4.21 - rollup: 3.20.2 - terser: 5.16.2 + rollup: 3.26.2 + terser: 5.18.2 optionalDependencies: fsevents: 2.3.2 dev: true - /vite@4.3.9(@types/node@16.18.11)(terser@5.16.2): - resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + /vite@4.4.2(@types/node@16.18.38)(terser@5.18.2): + resolution: {integrity: sha512-zUcsJN+UvdSyHhYa277UHhiJ3iq4hUBwHavOpsNUGsTgjBeoBlK8eDt+iT09pBq0h9/knhG/SPrZiM7cGmg7NA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: '@types/node': '>= 14' less: '*' + lightningcss: ^1.21.0 sass: '*' stylus: '*' sugarss: '*' @@ -5829,6 +5830,8 @@ packages: optional: true less: optional: true + lightningcss: + optional: true sass: optional: true stylus: @@ -5838,16 +5841,16 @@ packages: terser: optional: true dependencies: - '@types/node': 16.18.11 - esbuild: 0.17.19 - postcss: 8.4.24 - rollup: 3.25.1 - terser: 5.16.2 + '@types/node': 16.18.38 + esbuild: 0.18.11 + postcss: 8.4.25 + rollup: 3.26.2 + terser: 5.18.2 optionalDependencies: fsevents: 2.3.2 dev: true - /vitest@0.30.1(jsdom@21.1.0)(terser@5.16.2): + /vitest@0.30.1(jsdom@21.1.0)(terser@5.18.2): resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -5880,7 +5883,7 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 16.18.11 + '@types/node': 16.18.38 '@vitest/expect': 0.30.1 '@vitest/runner': 0.30.1 '@vitest/snapshot': 0.30.1 @@ -5902,8 +5905,8 @@ packages: strip-literal: 1.0.1 tinybench: 2.4.0 tinypool: 0.4.0 - vite: 4.3.1(@types/node@16.18.11)(terser@5.16.2) - vite-node: 0.30.1(@types/node@16.18.11)(terser@5.16.2) + vite: 4.3.1(@types/node@16.18.38)(terser@5.18.2) + vite-node: 0.30.1(@types/node@16.18.38)(terser@5.18.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/scripts/preinstall.js b/scripts/preinstall.js deleted file mode 100644 index 05823d5f5d0..00000000000 --- a/scripts/preinstall.js +++ /dev/null @@ -1,8 +0,0 @@ -// @ts-check -if (!/pnpm/.test(process.env.npm_execpath || '')) { - console.warn( - `\u001b[33mThis repository requires using pnpm as the package manager ` + - ` for scripts to work properly.\u001b[39m\n` - ) - process.exit(1) -}