"test-dts": "run-s build-dts test-dts-only",
"test-dts-only": "tsc -p packages-private/dts-built-test/tsconfig.json && tsc -p ./packages-private/dts-test/tsconfig.test.json",
"test-coverage": "vitest run --project unit --coverage",
+ "prebench": "node scripts/build.js -pf esm-browser reactivity",
+ "prebench-compare": "node scripts/build.js -pf esm-browser reactivity",
"bench": "vitest bench --project=unit --outputJson=temp/bench.json",
"bench-compare": "vitest bench --project=unit --compare=temp/bench.json",
"release": "node scripts/release.js",
import { bench, describe } from 'vitest'
-import { type ComputedRef, type Ref, computed, effect, ref } from '../src'
+import type { ComputedRef, Ref } from '../src'
+import { computed, effect, ref } from '../dist/reactivity.esm-browser.prod'
+
+declare module '../dist/reactivity.esm-browser.prod' {
+ function computed(...args: any[]): any
+}
describe('computed', () => {
bench('create computed', () => {
import { bench, describe } from 'vitest'
-import { type Ref, effect, ref } from '../src'
+import type { Ref } from '../src'
+import { effect, ref } from '../dist/reactivity.esm-browser.prod'
describe('effect', () => {
{
import { bench } from 'vitest'
-import { effect, reactive, shallowReadArray } from '../src'
+import {
+ effect,
+ reactive,
+ shallowReadArray,
+} from '../dist/reactivity.esm-browser.prod'
for (let amount = 1e1; amount < 1e4; amount *= 10) {
{
import { bench } from 'vitest'
-import { type ComputedRef, computed, reactive } from '../src'
+import type { ComputedRef } from '../src'
+import { computed, reactive } from '../dist/reactivity.esm-browser.prod'
function createMap(obj: Record<string, any>) {
const map = new Map()
import { bench } from 'vitest'
-import { reactive } from '../src'
+import { reactive } from '../dist/reactivity.esm-browser.prod'
bench('create reactive obj', () => {
reactive({ a: 1 })
import { bench, describe } from 'vitest'
-import { ref } from '../src/index'
+import { ref } from '../dist/reactivity.esm-browser.prod'
describe('ref', () => {
bench('create ref', () => {
import { bench, describe } from 'vitest'
-import { createBuffer } from '../src/render'
+import { createBuffer as _createBuffer } from '../src/render'
+
+// move to local const to avoid import access overhead
+// https://github.com/vitest-dev/vitest/issues/6903
+const createBuffer = _createBuffer
describe('createBuffer', () => {
let stringBuffer = createBuffer()
import { bench, describe } from 'vitest'
import { type SSRBuffer, createBuffer } from '../src/render'
-import { unrollBuffer } from '../src/renderToString'
+import { unrollBuffer as _unrollBuffer } from '../src/renderToString'
+
+// move to local const to avoid import access overhead
+// https://github.com/vitest-dev/vitest/issues/6903
+const unrollBuffer = _unrollBuffer
function createSyncBuffer(levels: number, itemsPerLevel: number): SSRBuffer {
const buffer = createBuffer()