diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7b01861c3..4272ac1ea6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,20 +7,17 @@ on: jobs: ci: runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.x] env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 - - name: Install Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 + - name: Install Node.js + uses: actions/setup-node@v6 with: cache: "pnpm" - node-version: ${{ matrix.node-version }} + node-version-file: ".node-version" - name: Install dependencies 📦 run: pnpm install - name: Lint 🎨 diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 538c4e541f..50b73e7c68 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -7,12 +7,12 @@ jobs: npm-publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v6 with: cache: "pnpm" - node-version: "18" + node-version-file: ".node-version" - name: Install dependencies 📦 run: pnpm install - name: Build 👷‍♂️ diff --git a/.husky/pre-commit b/.husky/pre-commit index 5e59273569..5ee7abd87c 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - pnpm exec lint-staged diff --git a/.husky/pre-push b/.husky/pre-push index 0216110f46..911929e1cb 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - pnpm turbo tscheck && pnpm turbo test diff --git a/.node-version b/.node-version index 3c032078a4..2bd5a0a98a 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -18 +22 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index f6fdcd26bd..0000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,120 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -- Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -- The use of sexualized language or imagery, and sexual attention or - advances of any kind -- Trolling, insulting or derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or email - address, without their explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -hi@carloscuesta.me. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html), -version 2.0. - -For answers to common questions about this code of conduct, [see the FAQ](https://www.contributor-covenant.org/faq). diff --git a/package.json b/package.json index a793135a1e..d2f51e735c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "gitmoji", "private": true, "engines": { - "node": "18", + "node": "22", "pnpm": ">=8" }, "scripts": { @@ -10,13 +10,10 @@ "dev": "pnpm turbo --parallel dev" }, "devDependencies": { - "husky": "^9.0.11", - "lint-staged": "^15.2.7", - "prettier": "3.3.2", - "turbo": "2.0.9" - }, - "volta": { - "node": "16.15.0" + "husky": "^9.1.7", + "lint-staged": "^16.2.6", + "prettier": "3.6.2", + "turbo": "2.5.8" }, "packageManager": "pnpm@8.6.2" } diff --git a/packages/gitmojis/package.json b/packages/gitmojis/package.json index bfb2712625..2208c0afbd 100644 --- a/packages/gitmojis/package.json +++ b/packages/gitmojis/package.json @@ -1,7 +1,7 @@ { "name": "gitmojis", "type": "module", - "version": "3.14.0", + "version": "3.15.0", "description": "An emoji guide for your commit messages.", "main": "./dist/index.cjs", "types": "./dist/index.d.ts", @@ -23,10 +23,10 @@ }, "devDependencies": { "ajv-cli": "^5.0.0", - "lint-staged": "^15.2.7", - "nodemon": "^3.1.3", - "prettier": "3.3.2", - "unbuild": "^2.0.0" + "lint-staged": "^16.2.6", + "nodemon": "^3.1.9", + "prettier": "3.6.2", + "unbuild": "^3.5.0" }, "author": { "name": "carloscuesta", diff --git a/packages/gitmojis/src/gitmojis.json b/packages/gitmojis/src/gitmojis.json index e4eb19dbea..ac97ac621e 100644 --- a/packages/gitmojis/src/gitmojis.json +++ b/packages/gitmojis/src/gitmojis.json @@ -584,6 +584,14 @@ "description": "Add or update code related to validation.", "name": "safety-vest", "semver": null + }, + { + "emoji": "✈️", + "entity": "✈", + "code": ":airplane:", + "description": "Improve offline support.", + "name": "airplane", + "semver": null } ] } diff --git a/packages/website/package.json b/packages/website/package.json index 5eed2e0359..0e4c699145 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -3,7 +3,7 @@ "private": true, "version": "1.0.0", "engines": { - "node": "18" + "node": "22" }, "scripts": { "build": "next build && next-sitemap", @@ -15,39 +15,39 @@ }, "devDependencies": { "@types/fetch-mock": "^7.3.8", - "@types/jest": "^29.5.12", - "@types/react": "^18.3.3", + "@types/jest": "^29.5.14", + "@types/react": "^18.3.12", "@types/react-test-renderer": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.1", - "@vercel/analytics": "^1.3.1", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.46.2", + "@vercel/analytics": "^1.5.0", "clipboard": "^2.0.11", "eslint": "^8.57.0", - "eslint-config-next": "^14.2.4", - "eslint-config-prettier": "^9.1.0", + "eslint-config-next": "^15.5.4", + "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-alias": "^1.1.2", - "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.6.0", - "eslint-plugin-react": "^7.34.3", - "focus-trap-react": "^10.2.3", + "eslint-import-resolver-typescript": "^4.4.4", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jest": "^29.0.1", + "eslint-plugin-react": "^7.37.5", + "focus-trap-react": "^11.0.4", "gitmojis": "workspace:*", "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", + "jest-environment-jsdom": "^30.2.0", "jest-fetch-mock": "^3.0.3", - "lint-staged": "^15.2.7", - "next": "^14.2.3", + "lint-staged": "^16.2.6", + "next": "^14.2.30", "next-pwa": "^5.6.0", "next-sitemap": "^4.2.3", - "next-themes": "^0.3.0", - "node-mocks-http": "^1.13.0", - "prettier": "3.3.2", + "next-themes": "^0.4.6", + "node-mocks-http": "^1.17.2", + "prettier": "3.6.2", "prop-types": "^15.8.1", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-hot-toast": "^2.4.1", + "react-hot-toast": "^2.5.2", "react-test-renderer": "^18.3.1", - "typescript": "^5.4.5" + "typescript": "^5.9.2" }, "author": { "name": "carloscuesta", @@ -74,9 +74,6 @@ "singleQuote": true, "arrowParens": "always" }, - "volta": { - "node": "16.15.0" - }, "eslintConfig": { "parser": "@typescript-eslint/parser", "env": { diff --git a/packages/website/src/__tests__/__snapshots__/pages.spec.tsx.snap b/packages/website/src/__tests__/__snapshots__/pages.spec.tsx.snap index a14e75e6b1..e58d8f4647 100644 --- a/packages/website/src/__tests__/__snapshots__/pages.spec.tsx.snap +++ b/packages/website/src/__tests__/__snapshots__/pages.spec.tsx.snap @@ -179,9 +179,35 @@ exports[`Pages App should render the page 1`] = `