diff --git a/.github/contributing.md b/.github/contributing.md index 33395947..c3d8a7b7 100644 --- a/.github/contributing.md +++ b/.github/contributing.md @@ -40,7 +40,7 @@ Hi! I'm really excited that you are interested in contributing to Vue.js. Before ## Development Setup -You will need [Node.js](https://nodejs.org) **version 16+**, and [PNPM](https://pnpm.io). +You will need [Node.js](https://nodejs.org) **version 16+**, and [PNPM](https://pnpm.io) **version 7+**. We also recommend installing [ni](https://github.com/antfu/ni) to help switching between repos using different package managers. `ni` also provides the handy `nr` command which running npm scripts easier. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4b51a82..a8df26da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: branches: - main jobs: - test: + unit-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -15,7 +15,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2.0.1 with: - version: 6.15.1 + version: 7.0.1 - name: Set node version to 16 uses: actions/setup-node@v2 @@ -26,7 +26,28 @@ jobs: - run: pnpm install - name: Run unit tests - run: pnpm run test + run: pnpm run test-unit + + e2e-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install pnpm + uses: pnpm/action-setup@v2.0.1 + with: + version: 7.0.1 + + - name: Set node version to 16 + uses: actions/setup-node@v2 + with: + node-version: 16 + cache: 'pnpm' + + - run: pnpm install + + - name: Run unit tests + run: pnpm run test-e2e lint-and-test-dts: runs-on: ubuntu-latest @@ -36,7 +57,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2.0.1 with: - version: 6.15.1 + version: 7.0.1 - name: Set node version to 16 uses: actions/setup-node@v2 @@ -62,7 +83,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v2.0.1 with: - version: 6.15.1 + version: 7.0.1 - name: Set node version to 16 uses: actions/setup-node@v2 diff --git a/package.json b/package.json index f310e036..f4268353 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "size-baseline": "node scripts/build.js runtime-dom runtime-core reactivity shared -f esm-bundler && cd packages/size-check && vite build && node brotli", "lint": "eslint --ext .ts packages/*/src/**.ts", "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", - "test": "run-s \"test-unit -- {@}\" \"test-e2e -- {@}\" --", + "test": "run-s \"test-unit {@}\" \"test-e2e {@}\"", "test-unit": "jest --filter ./scripts/filter-unit.js", "test-e2e": "node scripts/build.js vue -f global -d && jest --filter ./scripts/filter-e2e.js --runInBand", "test-dts": "node scripts/build.js shared reactivity runtime-core runtime-dom -dt -f esm-bundler && npm run test-dts-only", @@ -18,7 +18,7 @@ "release": "node scripts/release.js", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", "dev-compiler": "run-p \"dev template-explorer\" serve", - "dev-sfc": "run-p \"dev compiler-sfc -- -f esm-browser\" \"dev vue -- -if esm-bundler-runtime \" serve-sfc-playground", + "dev-sfc": "run-p \"dev compiler-sfc -f esm-browser\" \"dev vue -if esm-bundler-runtime \" serve-sfc-playground", "serve-sfc-playground": "vite packages/sfc-playground --host", "serve": "serve", "open": "open http://localhost:5000/packages/template-explorer/local.html", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2124fe9c..55e29682 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: 5.3 +lockfileVersion: 5.4 importers: @@ -63,7 +63,7 @@ importers: '@types/jest': 27.0.3 '@types/node': 16.11.12 '@types/puppeteer': 5.4.4 - '@typescript-eslint/parser': 5.23.0_eslint@7.32.0+typescript@4.6.4 + '@typescript-eslint/parser': 5.23.0_e4zyhrvfnqudwdx5bevnvkluy4 '@vue/reactivity': link:packages/reactivity '@vue/runtime-core': link:packages/runtime-core '@vue/runtime-dom': link:packages/runtime-dom @@ -89,11 +89,11 @@ importers: rollup-plugin-node-globals: 1.4.0 rollup-plugin-polyfill-node: 0.6.2_rollup@2.38.5 rollup-plugin-terser: 7.0.2_rollup@2.38.5 - rollup-plugin-typescript2: 0.27.3_rollup@2.38.5+typescript@4.6.4 + rollup-plugin-typescript2: 0.27.3_zlmz7jga2mttuvx4qwelsmvyxm semver: 7.3.5 serve: 12.0.1 todomvc-app-css: 2.4.1 - ts-jest: 27.1.1_2afc78609cda1ff8b69f87fc5df4898b + ts-jest: 27.1.1_fl6hqye43ip7rnu7q76f35ejrm tslib: 2.4.0 typescript: 4.6.4 vite: 2.9.8 @@ -444,7 +444,6 @@ packages: /@babel/helper-validator-identifier/7.15.7: resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-option/7.14.5: resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} @@ -475,6 +474,8 @@ packages: resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.16.0 /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.16.0: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -627,7 +628,6 @@ packages: dependencies: '@babel/helper-validator-identifier': 7.15.7 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage/0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -1207,7 +1207,7 @@ packages: dev: true optional: true - /@typescript-eslint/parser/5.23.0_eslint@7.32.0+typescript@4.6.4: + /@typescript-eslint/parser/5.23.0_e4zyhrvfnqudwdx5bevnvkluy4: resolution: {integrity: sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2032,6 +2032,8 @@ packages: on-headers: 1.0.2 safe-buffer: 5.1.2 vary: 1.1.2 + transitivePeerDependencies: + - supports-color dev: true /concat-map/0.0.1: @@ -2359,6 +2361,11 @@ packages: /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 dev: true @@ -5997,10 +6004,11 @@ packages: /rollup-plugin-polyfill-node/0.6.2_rollup@2.38.5: resolution: {integrity: sha512-gMCVuR0zsKq0jdBn8pSXN1Ejsc458k2QsFFvQdbHoM0Pot5hEnck+pBP/FDwFS6uAi77pD3rDTytsaUStsOMlA==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 dependencies: '@rollup/plugin-inject': 4.0.3_rollup@2.38.5 - transitivePeerDependencies: - - rollup + rollup: 2.38.5 dev: true /rollup-plugin-terser/7.0.2_rollup@2.38.5: @@ -6013,11 +6021,9 @@ packages: rollup: 2.38.5 serialize-javascript: 4.0.0 terser: 5.10.0 - transitivePeerDependencies: - - acorn dev: true - /rollup-plugin-typescript2/0.27.3_rollup@2.38.5+typescript@4.6.4: + /rollup-plugin-typescript2/0.27.3_zlmz7jga2mttuvx4qwelsmvyxm: resolution: {integrity: sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==} peerDependencies: rollup: '>=1.26.3' @@ -6153,6 +6159,8 @@ packages: compression: 1.7.3 serve-handler: 6.1.3 update-check: 1.5.2 + transitivePeerDependencies: + - supports-color dev: true /set-immediate-shim/1.0.1: @@ -6555,12 +6563,11 @@ packages: resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} engines: {node: '>=10'} hasBin: true - peerDependencies: - acorn: ^8.5.0 peerDependenciesMeta: acorn: optional: true dependencies: + acorn: 8.6.0 commander: 2.20.3 source-map: 0.7.3 source-map-support: 0.5.21 @@ -6616,7 +6623,6 @@ packages: /to-fast-properties/2.0.0: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} - dev: true /to-regex-range/5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -6654,7 +6660,7 @@ packages: engines: {node: '>=8'} dev: true - /ts-jest/27.1.1_2afc78609cda1ff8b69f87fc5df4898b: + /ts-jest/27.1.1_fl6hqye43ip7rnu7q76f35ejrm: resolution: {integrity: sha512-Ds0VkB+cB+8g2JUmP/GKWndeZcCKrbe6jzolGrVWdqVUFByY/2KDHqxJ7yBSon7hDB1TA4PXxjfZ+JjzJisvgA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true