From 8e0d1089a07d2779f6f692d8819cff3799994b56 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Fri, 6 Sep 2024 15:16:55 +0200 Subject: [PATCH 01/11] ci: release and nightly release automation (#230) * feat: release and nightly release automation * fix: nightly npm badge --- .github/workflows/ci.yml | 45 ++++- .github/workflows/release.yaml | 62 +++++++ README.md | 11 +- package.json | 25 +-- pnpm-lock.yaml | 312 ++++++++++++++++++++++++++++++--- scripts/bump-nightly.ts | 23 +++ scripts/release-nightly.sh | 24 +++ scripts/release.sh | 21 +++ 8 files changed, 477 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/release.yaml create mode 100644 scripts/bump-nightly.ts create mode 100755 scripts/release-nightly.sh create mode 100755 scripts/release.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6c8d2448..5cb72b64 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: - main jobs: - ci: + test: runs-on: ${{ matrix.os }} strategy: @@ -47,3 +47,46 @@ jobs: - name: Build project run: pnpm build + + - name: Cache dist + uses: actions/cache@v4 + with: + path: dist + key: ${{ matrix.os }}-node-v${{ matrix.node }}-${{ github.sha }} + + nightly-release: + needs: + - test + runs-on: ${{ matrix.os }} + strategy: + matrix: + node: [18] + os: [ubuntu-latest] + steps: + - uses: actions/checkout@v4 + + - run: corepack enable + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Restore dist cache + uses: actions/cache@v4 + with: + path: dist + key: ${{ matrix.os }}-node-v${{ matrix.node }}-${{ github.sha }} + + - name: Release Nightly + if: | + github.event_name == 'push' && + !startsWith(github.event.head_commit.message, '[skip-release]') && + !startsWith(github.event.head_commit.message, 'chore') && + !startsWith(github.event.head_commit.message, 'docs') + run: ./scripts/release-nightly.sh + env: + NPM_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..60bdf27c --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,62 @@ +name: Release + +# trigger by `git tag` push only via `yarn release` +on: + push: + branches-ignore: + - '**' + tags: + - 'v*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout codes + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Enable corepack + run: corepack enable + + - name: Setup node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Create github releases + run: | + npx changelogithub + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Extract version tag + if: startsWith( github.ref, 'refs/tags/v' ) + uses: jungwinter/split@v2 + id: split + with: + msg: ${{ github.ref }} + separator: / + + - name: Sync changelog from github releases + run: | + pnpm changelog --tag=${{ steps.split.outputs._2 }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Commit changelog + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: main + file_pattern: CHANGELOG.md + commit_message: 'chore: generate changelog' + + - name: Publish package + run: ./scripts/release.sh + env: + NPM_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/README.md b/README.md index 0965b954..ad5c3f89 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # 🤹 @vueuse/motion [![npm](https://img.shields.io/npm/v/@vueuse/motion.svg)](https://www.npmjs.com/package/@vueuse/motion) +[![npm](https://img.shields.io/npm/v/@vueuse/motion-nightly.svg)](https://www.npmjs.com/package/@vueuse/motion-nightly) [![npm](https://img.shields.io/npm/dm/@vueuse/motion.svg)](https://npm-stat.com/charts.html?package=@vueuse/motion) [![Netlify Status](https://api.netlify.com/api/v1/badges/ab1db459-8420-4bc6-9fac-2bc247fa2385/deploy-status)](https://app.netlify.com/sites/vueuse-motion/deploys) @@ -25,7 +26,7 @@ Let's get started by installing the package and adding the plugin. From your terminal: ```bash -yarn add @vueuse/motion +npm install @vueuse/motion ``` In your Vue app entry file: @@ -70,6 +71,14 @@ To see more about what are variants and how you can use them, check out [Variant To see more about how to control your declared variants, check out [Motion Instance](https://motion.vueuse.org/features/motion-instance). +## Nightly release channel + +You can try out the latest changes before a stable release by installing the nightly release channel. + +```bash +npm install @vueuse/motion@npm:@vueuse/motion-nightly +``` + ## Credits This package is heavily inspired by [Framer Motion](https://www.framer.com/motion/) by [@mattgperry](https://twitter.com/mattgperry). diff --git a/package.json b/package.json index 90ca609f..536eeb41 100644 --- a/package.json +++ b/package.json @@ -50,13 +50,15 @@ "build": "unbuild && pnpm build:nuxt-module", "build:nuxt-module": "nuxt-module-build build ./src/nuxt --outDir ../../dist/nuxt", "dev": "pnpm dev:vite", - "release": "release-it", "lint": "eslint .", "lint:fix": "eslint . --fix", "test:unit": "vitest run", "test:coverage": "vitest run --coverage", "test": "pnpm test:unit && pnpm test:coverage", "prepare": "pnpm prepare:nuxt && pnpm prepare:docs", + "prepack": "pnpm build", + "release": "bumpp --commit \"release: v%s\" --push --tag", + "changelog": "gh-changelogen --repo=vueuse/motion", "__": "__", "dev:nuxt": "(cd playgrounds/nuxt && pnpm dev:nuxt)", "build:nuxt": "(cd playgrounds/nuxt && pnpm build:nuxt)", @@ -94,9 +96,13 @@ "@nuxt/schema": "^3.13.0", "@vitest/coverage-v8": "^1.6.0", "@vue/test-utils": "^2.4.6", + "bumpp": "^9.5.2", + "changelogithub": "^0.13.10", "chokidar": "^3.6.0", "eslint": "^9.3.0", + "gh-changelogen": "^0.2.8", "happy-dom": "^14.12.0", + "jiti": "^1.21.6", "lint-staged": "^15.2.5", "nuxt": "^3.13.0", "pkg-pr-new": "^0.0.20", @@ -126,22 +132,5 @@ "vite": "^4.0.0" } } - }, - "release-it": { - "hooks": { - "before:init": [ - "pnpm build" - ] - }, - "npm": { - "access": "public" - }, - "git": { - "commitMessage": "chore(release): release v${version}" - }, - "github": { - "release": true, - "releaseName": "v${version}" - } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f25cafbd..065cb4ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,15 +46,27 @@ importers: '@vue/test-utils': specifier: ^2.4.6 version: 2.4.6 + bumpp: + specifier: ^9.5.2 + version: 9.5.2 + changelogithub: + specifier: ^0.13.10 + version: 0.13.10 chokidar: specifier: ^3.6.0 version: 3.6.0 eslint: specifier: ^9.3.0 version: 9.3.0 + gh-changelogen: + specifier: ^0.2.8 + version: 0.2.8 happy-dom: specifier: ^14.12.0 version: 14.12.0 + jiti: + specifier: ^1.21.6 + version: 1.21.6 lint-staged: specifier: ^15.2.5 version: 15.2.5 @@ -670,6 +682,7 @@ packages: /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 @@ -2302,7 +2315,7 @@ packages: resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /@npmcli/git@5.0.7: @@ -2315,7 +2328,7 @@ packages: proc-log: 4.2.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.2 + semver: 7.6.3 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -2345,7 +2358,7 @@ packages: json-parse-even-better-errors: 3.0.2 normalize-package-data: 6.0.1 proc-log: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - bluebird dev: true @@ -2733,7 +2746,7 @@ packages: globby: 14.0.1 hash-sum: 2.0.0 ignore: 5.3.1 - jiti: 1.21.0 + jiti: 1.21.6 knitwork: 1.1.0 mlly: 1.7.0 pathe: 1.1.2 @@ -4002,6 +4015,10 @@ packages: dev: true optional: true + /@sec-ant/readable-stream@0.4.1: + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + dev: true + /@shikijs/core@1.5.2: resolution: {integrity: sha512-wSAOgaz48GmhILFElMCeQypSZmj6Ru6DttOOtl3KNkdJ17ApQuGNCfzpk4cClasVrnIu45++2DBwG4LNMQAfaA==} dev: true @@ -4079,6 +4096,11 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + /@sindresorhus/merge-streams@4.0.0: + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + dev: true + /@socket.io/component-emitter@3.1.2: resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} dev: true @@ -5496,7 +5518,7 @@ packages: resolution: {integrity: sha512-u8GUjsfC9r5X1AGYhzb1lX3zZj8wqk6SH1DYex8XUGmZ1M2UpvnUPOFi63XFViduspQ6l2xTX84QtG+lUzhEoQ==} dependencies: debug: 4.3.4 - jiti: 1.21.0 + jiti: 1.21.6 windicss: 3.5.6 transitivePeerDependencies: - supports-color @@ -5876,6 +5898,11 @@ packages: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} dev: true + /big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + dev: true + /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -5894,6 +5921,13 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.52 + dev: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -5955,6 +5989,31 @@ packages: engines: {node: '>=6'} dev: true + /bumpp@9.5.2: + resolution: {integrity: sha512-L0awRXkMY4MLasVy3dyfM+2aU2Q4tyCDU45O7hxiB2SHZF8jurw3nmyifrtFJ4cI/JZIvu5ChCtf0i8yLfnohQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + c12: 1.11.1(magicast@0.3.4) + cac: 6.7.14 + escalade: 3.1.2 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + jsonc-parser: 3.3.1 + prompts: 2.4.2 + semver: 7.6.3 + transitivePeerDependencies: + - magicast + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + /bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -5970,7 +6029,7 @@ packages: defu: 6.1.4 dotenv: 16.4.5 giget: 1.2.3 - jiti: 1.21.0 + jiti: 1.21.6 mlly: 1.7.0 ohash: 1.1.3 pathe: 1.1.2 @@ -6142,6 +6201,47 @@ packages: tslib: 2.6.2 dev: true + /changelogen@0.5.5: + resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} + hasBin: true + dependencies: + c12: 1.11.1(magicast@0.3.4) + colorette: 2.0.20 + consola: 3.2.3 + convert-gitmoji: 0.1.5 + execa: 8.0.1 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + open: 9.1.0 + pathe: 1.1.2 + pkg-types: 1.2.0 + scule: 1.3.0 + semver: 7.6.3 + std-env: 3.7.0 + yaml: 2.5.0 + transitivePeerDependencies: + - magicast + dev: true + + /changelogithub@0.13.10: + resolution: {integrity: sha512-9LouGMOOuT+k2ho+E1q0y8lKD7rMXInWP8mDdZfL1lzfKT1DYykuBqQqLjRWFYuER6Rn6AD2+8d3b/KjD2it0g==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + '@antfu/utils': 0.7.10 + c12: 1.11.1(magicast@0.3.4) + cac: 6.7.14 + changelogen: 0.5.5 + convert-gitmoji: 0.1.5 + execa: 9.3.1 + kolorist: 1.8.0 + ofetch: 1.3.4 + semver: 7.6.3 + transitivePeerDependencies: + - magicast + dev: true + /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -6407,6 +6507,10 @@ packages: upper-case: 2.0.2 dev: true + /convert-gitmoji@0.1.5: + resolution: {integrity: sha512-4wqOafJdk2tqZC++cjcbGcaJ13BZ3kwldf06PTiAQRAB76Z1KJwZNL1SaRZMi2w1FM9RYTgZ6QErS8NUl/GBmQ==} + dev: true + /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -6861,11 +6965,29 @@ packages: engines: {node: '>=0.10.0'} dev: true + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + /default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} dev: true + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + /default-browser@5.2.1: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} @@ -6933,6 +7055,10 @@ packages: engines: {node: '>=6'} dev: true + /destr@1.2.2: + resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} + dev: true + /destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} @@ -7902,6 +8028,24 @@ packages: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + /execa@9.3.1: + resolution: {integrity: sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==} + engines: {node: ^18.19.0 || >=20.5.0} + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 5.3.0 + pretty-ms: 9.1.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + dev: true + /exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} dev: true @@ -7965,6 +8109,13 @@ packages: picomatch: 4.0.2 dev: true + /figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + dependencies: + is-unicode-supported: 2.0.0 + dev: true + /file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -8196,12 +8347,31 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + /get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + dev: true + /get-tsconfig@4.7.5: resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} dependencies: resolve-pkg-maps: 1.0.0 dev: true + /gh-changelogen@0.2.8: + resolution: {integrity: sha512-E9mRhhmpol2WkCqqljVhg+aUST0RE5WEDbh+oeF4MGIA1T+UvgYxv7sFQemnvY5EWj3pg2xz8cVzJX6gNvgHSw==} + engines: {node: '>= 14.18'} + hasBin: true + dependencies: + ohmyfetch: 0.4.21 + semver: 7.6.3 + zod: 3.23.8 + zodiarg: 0.2.1(zod@3.23.8) + dev: true + /giget@1.2.3: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true @@ -8692,6 +8862,11 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + /human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} + dev: true + /iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -9013,6 +9188,11 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + dev: true + /is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} @@ -9020,6 +9200,11 @@ packages: which-typed-array: 1.1.15 dev: true + /is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + dev: true + /is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -9105,10 +9290,6 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - /jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -9244,6 +9425,10 @@ packages: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true + /jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + dev: true + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9355,7 +9540,7 @@ packages: get-port-please: 3.1.2 h3: 1.11.1 http-shutdown: 1.2.2 - jiti: 1.21.0 + jiti: 1.21.6 mlly: 1.7.0 node-forge: 1.3.1 pathe: 1.1.2 @@ -10206,14 +10391,14 @@ packages: esbuild: 0.20.2 fs-extra: 11.2.0 globby: 14.0.1 - jiti: 1.21.0 + jiti: 1.21.6 mlly: 1.7.0 mri: 1.2.0 pathe: 1.1.2 pkg-types: 1.2.0 postcss: 8.4.41 postcss-nested: 6.0.1(postcss@8.4.41) - semver: 7.6.2 + semver: 7.6.3 typescript: 5.4.5 dev: true @@ -10337,7 +10522,7 @@ packages: httpxy: 0.1.5 ioredis: 5.4.1 is-primitive: 3.0.1 - jiti: 1.21.0 + jiti: 1.21.6 klona: 2.0.6 knitwork: 1.1.0 listhen: 1.7.2 @@ -10516,6 +10701,10 @@ packages: skin-tone: 2.0.0 dev: true + /node-fetch-native@0.1.8: + resolution: {integrity: sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==} + dev: true + /node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} @@ -10553,7 +10742,7 @@ packages: make-fetch-happen: 13.0.1 nopt: 7.2.1 proc-log: 3.0.0 - semver: 7.6.2 + semver: 7.6.3 tar: 6.2.1 which: 4.0.0 transitivePeerDependencies: @@ -10598,7 +10787,7 @@ packages: dependencies: hosted-git-info: 7.0.2 is-core-module: 2.13.1 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-license: 3.0.4 dev: true @@ -10627,7 +10816,7 @@ packages: resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.6.2 + semver: 7.6.3 dev: true /npm-normalize-package-bin@3.0.1: @@ -10641,7 +10830,7 @@ packages: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-name: 5.0.1 dev: true @@ -10659,7 +10848,7 @@ packages: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.2 - semver: 7.6.2 + semver: 7.6.3 dev: true /npm-registry-fetch@17.0.1: @@ -10750,7 +10939,7 @@ packages: dependencies: '@nuxt/kit': 3.13.0(magicast@0.3.4)(rollup@3.29.4) defu: 6.1.4 - jiti: 1.21.0 + jiti: 1.21.6 pathe: 1.1.2 untyped: 1.4.2 transitivePeerDependencies: @@ -10810,7 +10999,7 @@ packages: globby: 14.0.1 h3: 1.11.1 hookable: 5.5.3 - jiti: 1.21.0 + jiti: 1.21.6 klona: 2.0.6 knitwork: 1.1.0 magic-string: 0.30.10 @@ -11082,6 +11271,16 @@ packages: /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + /ohmyfetch@0.4.21: + resolution: {integrity: sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==} + deprecated: Package renamed to https://github.com/unjs/ofetch + dependencies: + destr: 1.2.2 + node-fetch-native: 0.1.8 + ufo: 0.8.6 + undici: 5.28.4 + dev: true + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -11127,6 +11326,16 @@ packages: is-wsl: 2.2.0 dev: true + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + /openapi-typescript@6.7.6: resolution: {integrity: sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==} hasBin: true @@ -11320,6 +11529,11 @@ packages: lines-and-columns: 1.2.4 dev: true + /parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + dev: true + /parse-path@7.0.0: resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} dependencies: @@ -12537,6 +12751,13 @@ packages: react-is: 18.3.1 dev: true + /pretty-ms@9.1.0: + resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} + engines: {node: '>=18'} + dependencies: + parse-ms: 4.0.0 + dev: true + /prism-theme-vars@0.2.5: resolution: {integrity: sha512-/D8gBTScYzi9afwE6v3TC1U/1YFZ6k+ly17mtVRdLpGy7E79YjJJWkXFgUDHJ2gDksV/ZnXF7ydJ4TvoDm2z/Q==} dev: false @@ -13111,6 +13332,13 @@ packages: resolution: {integrity: sha512-KlSv0pm9kgQSRxXEMgtivPJ4h826YHsuob8pSHcfSZsSXGtvpEAie8S0AnXuObEJ7nhikOb4ahwxDm0H2yW17g==} dev: true + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + /run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -13632,6 +13860,11 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + /strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + dev: true + /strip-indent@2.0.0: resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==} engines: {node: '>=4'} @@ -13664,7 +13897,7 @@ packages: consola: 3.2.3 fast-glob: 3.3.2 glob: 10.4.1 - jiti: 1.21.0 + jiti: 1.21.6 json5: 2.2.3 jsonc-parser: 3.2.1 lodash.template: 4.5.0 @@ -13871,6 +14104,11 @@ packages: engines: {node: '>=14.0.0'} dev: true + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -14014,6 +14252,10 @@ packages: engines: {node: '>=14.17'} hasBin: true + /ufo@0.8.6: + resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==} + dev: true + /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} @@ -14046,7 +14288,7 @@ packages: esbuild: 0.17.19 globby: 13.2.2 hookable: 5.5.3 - jiti: 1.21.0 + jiti: 1.21.6 magic-string: 0.30.11 mkdist: 1.5.1(typescript@5.4.5) mlly: 1.7.0 @@ -14087,7 +14329,7 @@ packages: esbuild: 0.19.12 globby: 13.2.2 hookable: 5.5.3 - jiti: 1.21.0 + jiti: 1.21.6 magic-string: 0.30.10 mkdist: 1.5.1(typescript@5.4.5) mlly: 1.7.0 @@ -14521,6 +14763,11 @@ packages: - uWebSockets.js dev: true + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + /untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true @@ -14538,7 +14785,7 @@ packages: '@babel/standalone': 7.24.6 '@babel/types': 7.24.6 defu: 6.1.4 - jiti: 1.21.0 + jiti: 1.21.6 mri: 1.2.0 scule: 1.3.0 transitivePeerDependencies: @@ -15099,7 +15346,7 @@ packages: engines: {vscode: ^1.52.0} dependencies: minimatch: 3.1.2 - semver: 7.6.2 + semver: 7.6.3 vscode-languageserver-protocol: 3.16.0 dev: true @@ -15586,6 +15833,11 @@ packages: engines: {node: '>=12.20'} dev: true + /yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + dev: true + /yorkie@2.0.0: resolution: {integrity: sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==} engines: {node: '>=4'} @@ -15620,6 +15872,14 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: true + /zodiarg@0.2.1(zod@3.23.8): + resolution: {integrity: sha512-Vbd8aW709iKX0XbMvjYkyjQYDBvWKedaUWNelcNeO1OxVYJ8jqUpj6lRBoO0PtN3b1DM6Ykz+hf9Y8e9pczmLQ==} + peerDependencies: + zod: 3.* + dependencies: + zod: 3.23.8 + dev: true + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true diff --git a/scripts/bump-nightly.ts b/scripts/bump-nightly.ts new file mode 100644 index 00000000..6f1bf141 --- /dev/null +++ b/scripts/bump-nightly.ts @@ -0,0 +1,23 @@ +import process from 'node:process' +import { promises as fsp } from 'node:fs' +import { execSync } from 'node:child_process' +import { resolve } from 'pathe' + +async function main() { + const commit = execSync('git rev-parse --short HEAD').toString('utf-8').trim() + const date = Math.round(Date.now() / (1000 * 60)) + + const pkgPath = resolve(process.cwd(), 'package.json') + + const pkg = JSON.parse(await fsp.readFile(pkgPath, 'utf-8').catch(() => '{}')) + + pkg.version = `${pkg.version}-${date}.${commit}` + + pkg.name = `${pkg.name}-nightly` + await fsp.writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`) +} + +main().catch((err) => { + console.error(err) + process.exit(1) +}) diff --git a/scripts/release-nightly.sh b/scripts/release-nightly.sh new file mode 100755 index 00000000..df68fcd9 --- /dev/null +++ b/scripts/release-nightly.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -xe + +# Restore all git changes +git restore --source=HEAD --staged --worktree -- package.json pnpm-lock.yaml + +# Bump versions to edge +pnpm jiti ./scripts/bump-nightly + +# Resolve pnpm +pnpm i --frozen-lockfile=false + +# Update token +if [[ ! -z ${NPM_TOKEN} ]] ; then + echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/.npmrc + echo "registry=https://registry.npmjs.org/" >> ~/.npmrc + echo "always-auth=true" >> ~/.npmrc + npm whoami +fi + +# Release package +echo "⚡ Publishing nightly version" +npx npm@8.17.0 publish --access public --tolerate-republish diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 00000000..d75b0fe0 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -xe + +# Restore all git changes +git restore --source=HEAD --staged --worktree -- package.json pnpm-lock.yaml + +# Resolve pnpm +pnpm i --frozen-lockfile=false + +# Update token +if [[ ! -z ${NPM_TOKEN} ]] ; then + echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> ~/.npmrc + echo "registry=https://registry.npmjs.org/" >> ~/.npmrc + echo "always-auth=true" >> ~/.npmrc + npm whoami +fi + +# Release package +echo "⚡ Publishing with tag latest" +npx npm@8.17.0 publish --tag latest --access public --tolerate-republish From f6983db6cb35f21bf5cf71d25a2a87450c918d53 Mon Sep 17 00:00:00 2001 From: CJBoy <78361904+cjboy76@users.noreply.github.com> Date: Fri, 6 Sep 2024 21:27:03 +0800 Subject: [PATCH 02/11] fix(types): improve `MotionPlugin` types (#231) --- src/plugin/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugin/index.ts b/src/plugin/index.ts index b20515a8..fa3a8049 100644 --- a/src/plugin/index.ts +++ b/src/plugin/index.ts @@ -1,4 +1,4 @@ -import type { Plugin } from 'vue' +import type { App } from 'vue' import type { MotionPluginOptions, MotionVariants } from '../types' import * as presets from '../presets' @@ -7,8 +7,8 @@ import { slugify } from '../utils/slugify' import { MotionComponent, MotionGroupComponent } from '../components' import { CUSTOM_PRESETS } from '../utils/keys' -export const MotionPlugin: Plugin = { - install(app, options: MotionPluginOptions) { +export const MotionPlugin = { + install(app: App, options?: MotionPluginOptions) { // Register default `v-motion` directive app.directive('motion', directive()) From 343521235e0349291a4a524a917c6bf676dfee49 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Fri, 6 Sep 2024 15:34:51 +0200 Subject: [PATCH 03/11] release: v2.2.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 536eeb41..b2a3520d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@vueuse/motion", "type": "module", - "version": "2.2.4", + "version": "2.2.5", "packageManager": "pnpm@8.15.5+sha512.b051a32c7e695833b84926d3b29b8cca57254b589f0649d899c6e9d0edb670b91ec7e2a43459bae73759bb5ce619c3266f116bf931ce22d1ef1759a7e45aa96f", "description": "🤹 Vue Composables putting your components in motion", "author": "Yaël GUILLOUX ", From 47d8f1e7aa73f8442c2e1322de532bfd72a4989f Mon Sep 17 00:00:00 2001 From: BobbieGoede Date: Fri, 6 Sep 2024 13:35:34 +0000 Subject: [PATCH 04/11] chore: generate changelog --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..5982e4ec --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# v2.2.5 (2024-09-06T13:35:32Z) + +This changelog is generated by [GitHub Releases](https://github.com/vueuse/motion/releases/tag/v2.2.5) + +###    🐞 Bug Fixes + +- **types**: Improve `MotionPlugin` types  -  by @cjboy76 in https://github.com/vueuse/motion/issues/231 [(f6983)](https://github.com/vueuse/motion/commit/f6983db) + +#####     [View changes on GitHub](https://github.com/vueuse/motion/compare/v2.2.4...v2.2.5) + + From 698193dbd03772758e8aa193b631f1f4984d5f84 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Fri, 6 Sep 2024 15:42:11 +0200 Subject: [PATCH 05/11] ci: use `vueuse-motion-nightly` for nightly release channel --- README.md | 4 ++-- scripts/bump-nightly.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad5c3f89..b7eb6bc0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # 🤹 @vueuse/motion [![npm](https://img.shields.io/npm/v/@vueuse/motion.svg)](https://www.npmjs.com/package/@vueuse/motion) -[![npm](https://img.shields.io/npm/v/@vueuse/motion-nightly.svg)](https://www.npmjs.com/package/@vueuse/motion-nightly) +[![npm](https://img.shields.io/npm/v/vueuse-motion-nightly.svg)](https://www.npmjs.com/package/vueuse-motion-nightly) [![npm](https://img.shields.io/npm/dm/@vueuse/motion.svg)](https://npm-stat.com/charts.html?package=@vueuse/motion) [![Netlify Status](https://api.netlify.com/api/v1/badges/ab1db459-8420-4bc6-9fac-2bc247fa2385/deploy-status)](https://app.netlify.com/sites/vueuse-motion/deploys) @@ -76,7 +76,7 @@ To see more about how to control your declared variants, check out [Motion Insta You can try out the latest changes before a stable release by installing the nightly release channel. ```bash -npm install @vueuse/motion@npm:@vueuse/motion-nightly +npm install @vueuse/motion@npm:vueuse-motion-nightly ``` ## Credits diff --git a/scripts/bump-nightly.ts b/scripts/bump-nightly.ts index 6f1bf141..62b16977 100644 --- a/scripts/bump-nightly.ts +++ b/scripts/bump-nightly.ts @@ -13,7 +13,7 @@ async function main() { pkg.version = `${pkg.version}-${date}.${commit}` - pkg.name = `${pkg.name}-nightly` + pkg.name = `vueuse-motion-nightly` await fsp.writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`) } From cb892f9e5256490c6689801dda0ba13d8b7f0a12 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:08:18 +0200 Subject: [PATCH 06/11] ci: use matrix for `targets` workflow --- .github/workflows/targets.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index 5a4f0b9f..b8d83fd1 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -16,6 +16,7 @@ jobs: matrix: os: [ubuntu-latest] # macos-latest, windows-latest node: [18] + build: ['nuxt', 'vite', 'ssg'] steps: - name: Checkout @@ -39,11 +40,5 @@ jobs: - name: Install dependencies run: pnpm install - - name: Build project (Vite) - run: pnpm build:vite - - - name: Build project (Nuxt) - run: pnpm build:nuxt - - - name: Build project (Vite SSG) - run: pnpm build:ssg + - name: Build project (${{matrix.build}}) + run: pnpm build:${{matrix.build}} \ No newline at end of file From 49264472a868b95e0bddf05a779d0db313d2bee6 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:11:03 +0200 Subject: [PATCH 07/11] ci: test targets workflow --- .github/workflows/targets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index b8d83fd1..54932663 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -6,7 +6,7 @@ on: - main pull_request: branches: - - main + - '**' jobs: ci: From e64259457ee68071dfd59d3e13cf0553647a9bdb Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:12:16 +0200 Subject: [PATCH 08/11] ci: test targets workflow --- .github/workflows/targets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index 54932663..196f87a4 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -3,7 +3,7 @@ name: Build playgrounds on: push: branches: - - main + - '**' pull_request: branches: - '**' From 2f730916a8f9fb5d3a981ec5490f3e9a11b4675f Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:22:16 +0200 Subject: [PATCH 09/11] ci: cache npm installation --- .github/workflows/targets.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index 196f87a4..74c23dd7 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -9,14 +9,13 @@ on: - '**' jobs: - ci: + prepare: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] # macos-latest, windows-latest node: [18] - build: ['nuxt', 'vite', 'ssg'] steps: - name: Checkout @@ -39,6 +38,16 @@ jobs: - name: Install dependencies run: pnpm install + ci: + needs: 'prepare' + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] # macos-latest, windows-latest + node: [18] + build: ['nuxt', 'vite', 'ssg'] + + steps: - name: Build project (${{matrix.build}}) run: pnpm build:${{matrix.build}} \ No newline at end of file From 511c0db3fc6f4d64cce00afb34945d3b70ac82fb Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:25:22 +0200 Subject: [PATCH 10/11] ci: cache npm installation --- .github/workflows/targets.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index 74c23dd7..53458981 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -49,5 +49,26 @@ jobs: build: ['nuxt', 'vite', 'ssg'] steps: + - name: Checkout + uses: actions/checkout@master + with: + persist-credentials: false + fetch-depth: 0 + + - name: Install PNPM + uses: pnpm/action-setup@v2.0.1 + with: + version: 8.7.0 + + - name: Use Node.js ${{ matrix.node }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node }} + registry-url: https://registry.npmjs.org/ + cache: pnpm + + - name: Install dependencies + run: pnpm install + - name: Build project (${{matrix.build}}) run: pnpm build:${{matrix.build}} \ No newline at end of file From 43239561e5a6dffef891beee08f5c3f4d4d50c83 Mon Sep 17 00:00:00 2001 From: Bobbie Goede Date: Tue, 10 Sep 2024 16:32:18 +0200 Subject: [PATCH 11/11] ci: run scripts parallel --- .github/workflows/targets.yml | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/.github/workflows/targets.yml b/.github/workflows/targets.yml index 53458981..ff3eb9d8 100644 --- a/.github/workflows/targets.yml +++ b/.github/workflows/targets.yml @@ -9,44 +9,13 @@ on: - '**' jobs: - prepare: - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-latest] # macos-latest, windows-latest - node: [18] - - steps: - - name: Checkout - uses: actions/checkout@master - with: - persist-credentials: false - fetch-depth: 0 - - - name: Install PNPM - uses: pnpm/action-setup@v2.0.1 - with: - version: 8.7.0 - - - name: Use Node.js ${{ matrix.node }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node }} - registry-url: https://registry.npmjs.org/ - cache: pnpm - - - name: Install dependencies - run: pnpm install ci: - needs: 'prepare' runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] # macos-latest, windows-latest node: [18] - build: ['nuxt', 'vite', 'ssg'] steps: - name: Checkout @@ -70,5 +39,5 @@ jobs: - name: Install dependencies run: pnpm install - - name: Build project (${{matrix.build}}) - run: pnpm build:${{matrix.build}} \ No newline at end of file + - name: Build playground projects + run: pnpm --parallel "/^build:(nuxt|ssg|vite)/" \ No newline at end of file