Skip to content

Commit

Permalink
Migrate to astro v4 (#1072)
Browse files Browse the repository at this point in the history
* chore(deps): update actions/deploy-pages action to v3

* chore(deps): update dependency prettier-plugin-tailwindcss to v0.5.9

* chore(deps): update dependency @astrojs/tailwind to v5.0.3

* chore(deps): update typescript-eslint monorepo to v6.13.2

* chore(deps): update dependency vue to v3.3.11

* chore(deps): update dependency @vite-pwa/astro to ^0.2.0

* refactor(core): remove pwa support

Remove PWA support because is not necessary for a blog or personal portfolio

* refactor(core): migrating blog to collection.

 - Remove blog page support in favor of collection (v3.5)

* refactor(core): migrating blog to collection.

 - Remove blog page support in favor of collection (v3.5)

* refactor(core): migrating blog to collection.

 - added rss xml collection support

* refactor(core): migrating blog to collection.

 - added rss xml collection support

* feat(core): ⚡ migrating to astro v4

* Refactor code and remove unused imports

* feat(core): ⚡ Blog pagination with collection

* refactor(core): ✨ migrate to collection

* refactor(core): ✨ migrate to collection

* test(core): ✅ change locator elements ids

* Fix import statements in Astro files

* Refactor code to improve performance and readability

* Refactor language tag normalization and translation functions

* Refactor variable names for clarity

* Update pre-commit hook and layout in BlogTemplate

* Add npmrc configuration for shell emulator

* Update base branch to "main" in renovate.json

* Add new icons and fix search functionality

* Fix search button issue and add missing semicolon

* Update pnpm configuration and cache setup

* Add restore-keys for pnpm store

* Update package.json and playwright.config.ts

* Update webServer command in playwright.config.ts

* Add build cache and update workflow triggers

* Remove ESLint configuration and add "type" field to package.json

* Remove port configuration from playwright.config.ts

* fix: astro url in playwright

* Update test command in CI workflow

* Add enable-corepack input and cwd input to Install Tools & Dependencies action

* Remove pnpm cache setup

* Update PNPM installation in GitHub Actions workflow

* Update Node.js setup and comment out cache option

* Update installation process for tools and dependencies

* Update CI workflow to install tools and dependencies

* Update pnpm-lock.yaml

* Add comment_tag to lychee-report generation

* Update PNPM version in action.yml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
yacosta738 and renovate[bot] authored Dec 18, 2023
1 parent 6c57898 commit e3efa89
Show file tree
Hide file tree
Showing 332 changed files with 43,053 additions and 45,263 deletions.
75,829 changes: 38,057 additions & 37,772 deletions .astro/icon.d.ts

Large diffs are not rendered by default.

12 changes: 9 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# https://editorconfig.org
# https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = tab
tab_width = 2
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = false

[{.*,*.md,*.mdx,*.json,*.toml,*.yml,}]
indent_style = space
8 changes: 4 additions & 4 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
dist/
.output/
node_modules/
**/node_modules/**
dist
node_modules
.github
.changeset
74 changes: 74 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
module.exports = {
env: {
node: true,
es2022: true,
browser: true,
},
extends: ['eslint:recommended', 'plugin:astro/recommended'],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
'no-mixed-spaces-and-tabs': 'off',
},
settings: {},
overrides: [
{
files: ['*.astro'],
parser: 'astro-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
extraFileExtensions: ['.astro'],
},
rules: {
'no-undef': 0,
},
},
{
files: ['*.ts'],
parser: '@typescript-eslint/parser',
extends: ['plugin:@typescript-eslint/recommended'],
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' },
],
'@typescript-eslint/no-non-null-assertion': 'off',
},
},
{
files: ['*.d.ts'],
rules: {
'@typescript-eslint/triple-slash-reference': 'off',
},
},
{
files: ['*.tsx'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.json'],
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:@typescript-eslint/recommended-requiring-type-checking',
],
rules: {
'@typescript-eslint/no-unused-vars': [
'error',
{ argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' },
],
'@typescript-eslint/no-non-null-assertion': 'off',
},
},
{
// Define the configuration for `<script>` tag.
// Script in `<script>` is assigned a virtual file name with the `.js` extension.
files: ['**/*.astro/*.js', '*.astro/*.js'],
parser: '@typescript-eslint/parser',
},
],
};
44 changes: 0 additions & 44 deletions .eslintrc.json

This file was deleted.

33 changes: 33 additions & 0 deletions .github/actions/install/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Install Tools & Dependencies
description: Installs pnpm, Node.js & package dependencies

runs:
using: composite
steps:
- name: Setup PNPM
uses: pnpm/action-setup@v2.4.0
with:
version: latest

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: pnpm

- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
shell: bash
44 changes: 0 additions & 44 deletions .github/workflows/builder.yml

This file was deleted.

110 changes: 110 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: CI

on:
push:
branches: [main]
merge_group:
pull_request:
branches: [main]

# Automatically cancel in-progress actions on the same branch
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
cancel-in-progress: true

env:
NODE_OPTIONS: "--max_old_space_size=4096"

jobs:
astrocheck:
name: Check for type issues with astro check
runs-on: ubuntu-latest
env:
FORCE_COLOR: true
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Tools & Dependencies
uses: ./.github/actions/install

- name: Run Check
run: pnpm run check
eslint:
name: Check for code issues with ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Tools & Dependencies
uses: ./.github/actions/install

- name: Run Check
run: pnpm run lint:eslint
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Tools & Dependencies
uses: ./.github/actions/install

- name: ⚙️ Build
run: pnpm run build
env:
FORMSPREE: ${{ secrets.FORMSPREE }}

- name: Install Playwright Browsers
run: npx playwright install --with-deps

- name: 🧪 Run Tests
run: pnpm run test
env:
FORMSPREE: ${{ secrets.FORMSPREE }}

- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30

linkcheck:
name: Check Links
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Restore lychee cache
id: restore-cache
uses: actions/cache/restore@v3
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-

- name: Run Link Check
uses: lycheeverse/lychee-action@v1.8.0
with:
args: "--base . --cache --max-cache-age 1d ."
output: /tmp/lychee-report.md
fail: true

- name: Save lychee cache
uses: actions/cache/save@v3
if: always()
with:
path: .lycheecache
key: ${{ steps.restore-cache.outputs.cache-primary-key }}

- name: PR comment with file
uses: thollander/actions-comment-pull-request@v2
with:
filePath: /tmp/lychee-report.md
reactions: eyes
comment_tag: lychee-report
35 changes: 35 additions & 0 deletions .github/workflows/cleanup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Cleanup caches for closed branches

on:
pull_request:
types:
- closed
workflow_dispatch:

jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3

- name: Cleanup
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 )
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
echo "Done"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit e3efa89

Please sign in to comment.