diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ae85e2077f..c8c217f62c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,7 @@ jobs: uses: ./.github/workflows/test.yml continuous-release: + if: github.repository == 'vuejs/core' runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/size-data.yml b/.github/workflows/size-data.yml index 3cd6cbfdf95..7f8bf7b08ca 100644 --- a/.github/workflows/size-data.yml +++ b/.github/workflows/size-data.yml @@ -18,6 +18,7 @@ env: jobs: upload: + if: github.repository == 'vuejs/core' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/size-report.yml b/.github/workflows/size-report.yml index 32e96dc64a5..d8d0c416a67 100644 --- a/.github/workflows/size-report.yml +++ b/.github/workflows/size-report.yml @@ -18,6 +18,7 @@ jobs: size-report: runs-on: ubuntu-latest if: > + github.repository == 'vuejs/core' && github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' steps: diff --git a/package.json b/package.json index 12e5ac2be35..31c3c45e8b4 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev": "node scripts/dev.js", "build": "node scripts/build.js", "build-dts": "tsc -p tsconfig.build-browser.json && tsc -p tsconfig.build-node.json && rollup -c rollup.dts.config.js", - "clean": "rimraf packages/*/dist temp .eslintcache", + "clean": "rimraf --glob packages/*/dist temp .eslintcache", "size": "run-s \"size-*\" && tsx scripts/usage-size.ts", "size-global": "node scripts/build.js vue runtime-dom -f global -p --size", "size-esm-runtime": "node scripts/build.js vue -f esm-bundler-runtime", @@ -66,9 +66,9 @@ "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "5.0.4", - "@swc/core": "^1.7.19", + "@swc/core": "^1.7.23", "@types/hash-sum": "^1.0.2", - "@types/node": "^20.16.2", + "@types/node": "^20.16.3", "@types/semver": "^7.5.8", "@types/serve-handler": "^6.1.4", "@vitest/coverage-v8": "^2.0.5", @@ -82,19 +82,19 @@ "eslint-plugin-vitest": "^0.5.4", "estree-walker": "catalog:", "jsdom": "^25.0.0", - "lint-staged": "^15.2.9", + "lint-staged": "^15.2.10", "lodash": "^4.17.21", "magic-string": "^0.30.11", "markdown-table": "^3.0.3", "marked": "13.0.3", "npm-run-all2": "^6.2.2", - "picocolors": "^1.0.1", + "picocolors": "^1.1.0", "prettier": "^3.3.3", "pretty-bytes": "^6.1.1", "pug": "^3.0.3", "puppeteer": "~23.0.2", "rimraf": "^6.0.1", - "rollup": "^4.21.1", + "rollup": "^4.21.2", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-polyfill-node": "^0.13.0", @@ -106,7 +106,7 @@ "tslib": "^2.7.0", "tsx": "^4.19.0", "typescript": "~5.5.4", - "typescript-eslint": "^8.3.0", + "typescript-eslint": "^8.4.0", "vite": "catalog:", "vitest": "^2.0.5" }, diff --git a/packages-private/dts-test/setupHelpers.test-d.ts b/packages-private/dts-test/setupHelpers.test-d.ts index 64c944e0be2..4074176ff98 100644 --- a/packages-private/dts-test/setupHelpers.test-d.ts +++ b/packages-private/dts-test/setupHelpers.test-d.ts @@ -427,6 +427,51 @@ describe('defineModel', () => { defineModel({ default: 123 }) // @ts-expect-error unknown props option defineModel({ foo: 123 }) + + // unrelated getter and setter types + { + const modelVal = defineModel({ + get(_: string[]): string { + return '' + }, + set(_: number) { + return 1 + }, + }) + expectType(modelVal.value) + modelVal.value = 1 + modelVal.value = undefined + // @ts-expect-error + modelVal.value = 'foo' + + const [modelVal2] = modelVal + expectType(modelVal2.value) + modelVal2.value = 1 + modelVal2.value = undefined + // @ts-expect-error + modelVal.value = 'foo' + + const count = defineModel('count', { + get(_: string[]): string { + return '' + }, + set(_: number) { + return '' + }, + }) + expectType(count.value) + count.value = 1 + count.value = undefined + // @ts-expect-error + count.value = 'foo' + + const [count2] = count + expectType(count2.value) + count2.value = 1 + count2.value = undefined + // @ts-expect-error + count2.value = 'foo' + } }) describe('useModel', () => { diff --git a/packages-private/sfc-playground/src/download/template/package.json b/packages-private/sfc-playground/src/download/template/package.json index 8e989966839..965812f7658 100644 --- a/packages-private/sfc-playground/src/download/template/package.json +++ b/packages-private/sfc-playground/src/download/template/package.json @@ -11,7 +11,7 @@ "vue": "^3.4.0" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.2", + "@vitejs/plugin-vue": "^5.1.3", "vite": "^5.4.2" } } diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index e175cc0a874..e092d83e743 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -880,11 +880,13 @@ export default { const count = ref(0) const style = { color: 'red' } + const height = ref(0) return (_ctx, _push, _parent, _attrs) => { const _cssVars = { style: { "--xxxxxxxx-count": (count.value), - "--xxxxxxxx-style\\\\.color": (style.color) + "--xxxxxxxx-style\\\\.color": (style.color), + "--xxxxxxxx-height\\\\ \\\\+\\\\ \\\\\\"px\\\\\\"": (height.value + "px") }} _push(\`', () => { import { ref } from 'vue' const count = ref(0) const style = { color: 'red' } + const height = ref(0)