diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d6b6a06 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,29 @@ +* text=auto eol=lf +*.sh text eol=lf +.husky/* text eol=lf +.githooks/* text eol=lf +Dockerfile text eol=lf +*.cmd text eol=crlf +*.bat text eol=crlf +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.webp binary +*.avif binary +*.ico binary +*.pdf binary +*.woff binary +*.woff2 binary +*.ttf binary +*.otf binary +*.eot binary +*.zip binary +*.gz binary +*.tgz binary +*.wasm binary +*.node binary +*.mp4 binary +*.webm binary +pnpm-lock.yaml text eol=lf linguist-generated=true +package-lock.json text eol=lf diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..2087e93 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,55 @@ +name: Windows + +# Non-blocking Windows check. Separate workflow on purpose: next.yml and +# release.yml do not wait on it, so a red Windows run never holds up a release. + +on: + push: + branches: + - "**" + workflow_dispatch: + +jobs: + windows: + runs-on: windows-latest + continue-on-error: true # non-blocking until Windows support is declared stable + timeout-minutes: 45 + steps: + # Reproduce the Git for Windows default before checkout + - run: git config --global core.autocrlf true + + - uses: actions/checkout@v4 + + - name: Use Node LTS ✨ + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: npm + + - name: Check line endings + shell: bash + run: | + # Only *.cmd and *.bat may be checked out with CRLF (covers *.sh, Dockerfile and hooks) + crlf=$(git ls-files --eol | grep 'w/crlf' | grep -vE '\.(cmd|bat)$' || true) + if [ -n "$crlf" ]; then + echo "Files checked out with CRLF:" + echo "$crlf" + exit 1 + fi + + - name: Install dependencies 📦️ + if: ${{ !cancelled() }} + run: npm ci + + # The module tsconfig extends playground/nuxt-app/.nuxt/tsconfig.json + - name: Build playground + if: ${{ !cancelled() }} + run: cd playground/nuxt-app && npm ci && npm run build + + - name: Build + if: ${{ !cancelled() }} + run: npm run build + + - name: Lint + if: ${{ !cancelled() }} + run: npm run lint diff --git a/package.json b/package.json index 6a3844f..e641307 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ "release": "standard-version && git push --follow-tags origin main", "release:minor": "standard-version --release-as minor && git push --follow-tags origin main", "release:major": "standard-version --release-as major && git push --follow-tags origin main", - "lint": "eslint '**/*.{ts,js,vue}'", - "lint:fix": "eslint '**/*.{ts,js,vue}' --fix" + "lint": "eslint \"**/*.{ts,js,vue}\"", + "lint:fix": "eslint \"**/*.{ts,js,vue}\" --fix" }, "dependencies": { "@babel/core": "7.28.3",