diff --git a/.stylelintrc.cjs b/.stylelintrc.cjs deleted file mode 100644 index dda339a9..00000000 --- a/.stylelintrc.cjs +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import('stylelint').Config} */ -module.exports = { - extends: "stylelint-config-recommended", - plugins: ["stylelint-order"], - allowEmptyInput: true, - rules: { - "order/properties-alphabetical-order": true, - "selector-class-pattern": null, - "value-keyword-case": null, - "custom-property-pattern": null, - }, -}; diff --git a/.stylelintrc.ts b/.stylelintrc.ts new file mode 100644 index 00000000..bece0635 --- /dev/null +++ b/.stylelintrc.ts @@ -0,0 +1,12 @@ +import type { Config } from "stylelint"; + +const config: Config = { + extends: "stylelint-config-recommended", + plugins: ["stylelint-order"], + allowEmptyInput: true, + rules: { + "order/properties-alphabetical-order": true, + }, +}; + +export default config; diff --git a/package.json b/package.json index 4767c8bf..65187bb4 100644 --- a/package.json +++ b/package.json @@ -1,105 +1,105 @@ { - "name": "biancafiore", - "description": "A portfolio for the best content writer ever", - "keywords": [ - "astro", - "typescript", - "css", - "cloudflare", - "NGO", - "blog", - "portfolio", - "marketing", - "content writing", - "seo" - ], - "author": "Ferran Buireu ", - "version": "2.0.0", - "type": "module", - "packageManager": "yarn@4.4.0", - "engines": { - "node": ">=22.6.0" - }, - "scripts": { - "prepare": "husky", - "dev": "astro dev", - "start": "yarn dev", - "build": "yarn check && astro build", - "preview": "astro preview", - "sync": "astro sync", - "check": "astro check", - "test": "vitest --passWithNoTests", - "test:changed": "yarn test --bail --findRelatedTests", - "test:all": "yarn test", - "test:ut": "yarn test", - "test:e2e": "yarn test", - "format": "biome check --write --no-errors-on-unmatched", - "format:all": "yarn format .", - "format:changed": "yarn format --changed", - "lint": "biome lint --no-errors-on-unmatched", - "lint:ts": "yarn lint .", - "lint:ts:fix": "yarn lint:ts --write", - "lint:ts:changed": "yarn lint:ts --write --changed", - "lint:styles": "stylelint --fix \"src/**/*.css\" --config ./.stylelintrc.cjs --max-warnings=0", - "lint:styles:fix": "yarn lint:styles --fix", - "lint:typecheck": "tsc --project . --noEmit" - }, - "dependencies": { - "@astrojs/check": "^0.9.3", - "@astrojs/cloudflare": "^11.0.4", - "@astrojs/mdx": "^3.1.4", - "@astrojs/partytown": "^2.1.1", - "@astrojs/react": "^3.6.2", - "@astrojs/rss": "^4.0.7", - "@astrojs/sitemap": "^3.1.6", - "@contentful/rich-text-html-renderer": "^16.6.8", - "@fontsource-variable/nunito-sans": "^5.0.15", - "@fontsource/baskervville": "^5.0.21", - "@hookform/resolvers": "^3.9.0", - "@million/lint": "1.0.0-rc.84", - "algoliasearch": "^5.1.1", - "astro": "^4.14.5", - "clsx": "^2.1.1", - "contentful": "^10.15.0", - "firebase": "^10.13.0", - "firebase-admin": "^12.4.0", - "gsap": "^3.12.5", - "instantsearch.css": "^8.5.0", - "markdown-it": "^14.1.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-globe.gl": "^2.27.2", - "react-google-recaptcha-v3": "^1.10.1", - "react-hook-form": "^7.53.0", - "react-instantsearch": "^7.13.0", - "react-router-dom": "^6.26.1", - "resend": "^4.0.0", - "swiper": "^11.1.10", - "three": "^0.167.1", - "typescript": "^5.5.4", - "vanilla-cookieconsent": "^3.0.1", - "zod": "^3.23.8" - }, - "devDependencies": { - "@astrojs/ts-plugin": "^1.10.1", - "@biomejs/biome": "1.8.3", - "@commitlint/cli": "^19.4.0", - "@commitlint/config-conventional": "^19.2.2", - "@commitlint/format": "^19.3.0", - "@testing-library/react": "^16.0.0", - "@testing-library/react-hooks": "^8.0.1", - "@types/add": "^2.0.3", - "@types/markdown-it": "^14.1.2", - "@types/node": "^22.5.0", - "@types/react": "^18.3.4", - "@types/react-dom": "^18.3.0", - "@types/three": "^0.167.2", - "conventional-changelog-atom": "^5.0.0", - "husky": "^9.1.5", - "lint-staged": "^15.2.9", - "stylelint": "^16.8.2", - "stylelint-config-recommended": "^14.0.1", - "stylelint-order": "^6.0.4", - "vitest": "^2.0.5" - } + "name": "biancafiore", + "description": "A portfolio for the best content writer ever", + "keywords": [ + "astro", + "typescript", + "css", + "cloudflare", + "NGO", + "blog", + "portfolio", + "marketing", + "content writing", + "seo" + ], + "author": "Ferran Buireu ", + "version": "2.0.0", + "type": "module", + "packageManager": "yarn@4.4.0", + "engines": { + "node": ">=22.6.0" + }, + "scripts": { + "prepare": "husky", + "dev": "astro dev", + "start": "yarn dev", + "build": "yarn check && astro build", + "preview": "astro preview", + "sync": "astro sync", + "check": "astro check", + "test": "vitest --passWithNoTests", + "test:changed": "yarn test --bail --findRelatedTests", + "test:all": "yarn test", + "test:ut": "yarn test", + "test:e2e": "yarn test", + "format": "biome check --write --no-errors-on-unmatched", + "format:all": "yarn format .", + "format:changed": "yarn format --changed", + "lint": "biome lint --no-errors-on-unmatched", + "lint:ts": "yarn lint .", + "lint:ts:fix": "yarn lint:ts --write", + "lint:ts:changed": "yarn lint:ts --write --changed", + "lint:styles": "stylelint --fix \"src/**/*.css\" --config ./.stylelintrc.ts --max-warnings=0", + "lint:styles:fix": "yarn lint:styles --fix", + "lint:typecheck": "tsc --project . --noEmit" + }, + "dependencies": { + "@astrojs/check": "^0.9.3", + "@astrojs/cloudflare": "^11.0.4", + "@astrojs/mdx": "^3.1.4", + "@astrojs/partytown": "^2.1.1", + "@astrojs/react": "^3.6.2", + "@astrojs/rss": "^4.0.7", + "@astrojs/sitemap": "^3.1.6", + "@contentful/rich-text-html-renderer": "^16.6.8", + "@fontsource-variable/nunito-sans": "^5.0.15", + "@fontsource/baskervville": "^5.0.21", + "@hookform/resolvers": "^3.9.0", + "@million/lint": "1.0.0-rc.84", + "algoliasearch": "^5.1.1", + "astro": "^4.14.5", + "clsx": "^2.1.1", + "contentful": "^10.15.0", + "firebase": "^10.13.0", + "firebase-admin": "^12.4.0", + "gsap": "^3.12.5", + "instantsearch.css": "^8.5.0", + "markdown-it": "^14.1.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-globe.gl": "^2.27.2", + "react-google-recaptcha-v3": "^1.10.1", + "react-hook-form": "^7.53.0", + "react-instantsearch": "^7.13.0", + "react-router-dom": "^6.26.1", + "resend": "^4.0.0", + "swiper": "^11.1.10", + "three": "^0.167.1", + "typescript": "^5.5.4", + "vanilla-cookieconsent": "^3.0.1", + "zod": "^3.23.8" + }, + "devDependencies": { + "@astrojs/ts-plugin": "^1.10.1", + "@biomejs/biome": "1.8.3", + "@commitlint/cli": "^19.4.0", + "@commitlint/config-conventional": "^19.2.2", + "@commitlint/format": "^19.3.0", + "@testing-library/react": "^16.0.0", + "@testing-library/react-hooks": "^8.0.1", + "@types/add": "^2.0.3", + "@types/markdown-it": "^14.1.2", + "@types/node": "^22.5.0", + "@types/react": "^18.3.4", + "@types/react-dom": "^18.3.0", + "@types/three": "^0.167.2", + "conventional-changelog-atom": "^5.0.0", + "husky": "^9.1.5", + "lint-staged": "^15.2.9", + "stylelint": "^16.8.2", + "stylelint-config-recommended": "^14.0.1", + "stylelint-order": "^6.0.4", + "vitest": "^2.0.5" + } }