diff --git a/.config/stylelint.json b/.config/stylelint.json index 5318296..978583a 100644 --- a/.config/stylelint.json +++ b/.config/stylelint.json @@ -1,9 +1,10 @@ { - "extends": "stylelint-config-standard", + "extends": "stylelint-config-standard-scss", "rules": { "length-zero-no-unit": true, "rule-empty-line-before": ["always-multi-line", { "except": ["first-nested"] }], - "color-function-notation": ["modern", { "ignore": ["with-var-inside"] }] + "color-function-notation": ["modern", { "ignore": ["with-var-inside"] }], + "scss/double-slash-comment-empty-line-before": "never" }, "ignoreFiles": [ "../node_modules/**/*", diff --git a/package.json b/package.json index 900f1aa..8e944d9 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "db:migrate": "drizzle-kit generate --config=.config/drizzle.json", "lint": "pnpm lint:eslint --fix && pnpm lint:stylelint --fix", "lint:eslint": "eslint --config .config/eslint.mjs", - "lint:stylelint": "stylelint \"**/*.css\" --config .config/stylelint.json", + "lint:stylelint": "stylelint \"**/*.scss\" --config .config/stylelint.json", "lint:eslint:inspect": "npx @eslint/config-inspector --config .config/eslint.mjs", "cf:dev": "npm run build && wrangler pages dev dist", "docs:dev": "vitepress dev docs", @@ -60,7 +60,7 @@ "nuxt-webhook-validators": "^0.0.2", "sass": "^1.77.6", "stylelint": "^16.6.1", - "stylelint-config-standard": "^36.0.1", + "stylelint-config-standard-scss": "^13.1.0", "tsx": "^4.15.7", "typescript": "^5.5.2", "vitepress": "^1.2.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2af9edf..92ea865 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,9 +95,9 @@ importers: stylelint: specifier: ^16.6.1 version: 16.6.1(typescript@5.5.2) - stylelint-config-standard: - specifier: ^36.0.1 - version: 36.0.1(stylelint@16.6.1(typescript@5.5.2)) + stylelint-config-standard-scss: + specifier: ^13.1.0 + version: 13.1.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.5.2)) tsx: specifier: ^4.15.7 version: 4.15.7 @@ -4912,6 +4912,9 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + postcss-merge-longhand@7.0.1: resolution: {integrity: sha512-qZlD26hnqSTMxSSOMS8+QCeRWtqOdMKeQHvHcBhjL3mJxKUs47cvO1Y1x3iTdYIk3ioMcRHTiy229TT0mEMH/A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -5029,6 +5032,12 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + postcss-selector-parser@6.1.0: resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} engines: {node: '>=4'} @@ -5544,18 +5553,44 @@ packages: peerDependencies: postcss: ^8.4.31 + stylelint-config-recommended-scss@14.0.0: + resolution: {integrity: sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==} + engines: {node: '>=18.12.0'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.0.2 + peerDependenciesMeta: + postcss: + optional: true + stylelint-config-recommended@14.0.1: resolution: {integrity: sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.1.0 + stylelint-config-standard-scss@13.1.0: + resolution: {integrity: sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA==} + engines: {node: '>=18.12.0'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.3.1 + peerDependenciesMeta: + postcss: + optional: true + stylelint-config-standard@36.0.1: resolution: {integrity: sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==} engines: {node: '>=18.12.0'} peerDependencies: stylelint: ^16.1.0 + stylelint-scss@6.3.2: + resolution: {integrity: sha512-pNk9mXOVKkQtd+SROPC9io8ISSgX+tOVPhFdBE+LaKQnJMLdWPbGKAGYv4Wmf/RrnOjkutunNTN9kKMhkdE5qA==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.0.2 + stylelint@16.6.1: resolution: {integrity: sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==} engines: {node: '>=18.12.0'} @@ -12050,6 +12085,8 @@ snapshots: dependencies: postcss: 8.4.38 + postcss-media-query-parser@0.2.3: {} + postcss-merge-longhand@7.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -12156,6 +12193,10 @@ snapshots: dependencies: postcss: 8.4.38 + postcss-scss@4.0.9(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 @@ -12704,15 +12745,41 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.5.2)): + dependencies: + postcss-scss: 4.0.9(postcss@8.4.38) + stylelint: 16.6.1(typescript@5.5.2) + stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) + stylelint-scss: 6.3.2(stylelint@16.6.1(typescript@5.5.2)) + optionalDependencies: + postcss: 8.4.38 + stylelint-config-recommended@14.0.1(stylelint@16.6.1(typescript@5.5.2)): dependencies: stylelint: 16.6.1(typescript@5.5.2) + stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.5.2)): + dependencies: + stylelint: 16.6.1(typescript@5.5.2) + stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.5.2)) + stylelint-config-standard: 36.0.1(stylelint@16.6.1(typescript@5.5.2)) + optionalDependencies: + postcss: 8.4.38 + stylelint-config-standard@36.0.1(stylelint@16.6.1(typescript@5.5.2)): dependencies: stylelint: 16.6.1(typescript@5.5.2) stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2)) + stylelint-scss@6.3.2(stylelint@16.6.1(typescript@5.5.2)): + dependencies: + known-css-properties: 0.31.0 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: 6.1.0 + postcss-value-parser: 4.2.0 + stylelint: 16.6.1(typescript@5.5.2) + stylelint@16.6.1(typescript@5.5.2): dependencies: '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1)