penpot/frontend/packages/ui/stylelint.config.mjs
Andrey Antukh 42ea5def4f Bootstrap @penpot/ui TypeScript component library with DS migrations
- Configure @penpot/ui package with full tooling: ESLint 9, Stylelint,
  Prettier, Vitest, Storybook (react-vite), vite-plugin-dts, React Compiler
- Add AGENTS.md with architecture overview, conventions, and migration table
- Fix Storybook react-docgen TypeScript parse error by removing empty .babelrc
  that disabled Babel's built-in typescript plugin
- Fix vite.config.mts for @vitejs/plugin-react v6 (reactCompilerPreset())
- Fix tsconfig.storybook.json (remove emitDecoratorMetadata without decorator)
- Add shared SCSS foundations: _borders, _sizes, _utils, typography
- Migrate Text, Heading (foundations/typography) with stories and tests
- Migrate Icon (foundations/assets) with full iconIds catalogue and stories
- Migrate Cta (product) with stories and tests
- Migrate Button (buttons) with polymorphic anchor/button rendering,
  4 variants, optional icon, and onRef callback; add _buttons.scss partial
- All checks passing: lint, check-fmt, typecheck, test (41 tests)
2026-04-08 15:46:13 +02:00

38 lines
1.3 KiB
JavaScript

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// Copyright (c) KALEIDOS INC
import postcssScss from "postcss-scss";
/** @type {import("stylelint").Config} */
export default {
extends: ["stylelint-config-standard-scss"],
plugins: ["stylelint-scss", "stylelint-use-logical-spec"],
overrides: [
{
files: ["**/*.scss"],
customSyntax: postcssScss,
},
],
rules: {
"at-rule-no-unknown": null,
"declaration-property-value-no-unknown": null,
"selector-pseudo-class-no-unknown": [
true,
{ ignorePseudoClasses: ["global"] },
],
// scss
"scss/comment-no-empty": null,
"scss/at-rule-no-unknown": true,
// TODO: this rule should be enabled to follow scss conventions
"scss/load-no-partial-leading-underscore": null,
// This allows using the characters - or _ as a prefix and is ISO compliant with the Sass specification.
"scss/dollar-variable-pattern": "^[-_]?([a-z][a-z0-9]*)(-[a-z0-9]+)*$",
// This allows using the characters - or _ as a prefix and is ISO compliant with the Sass specification.
"scss/at-mixin-pattern": "^[-_]?([a-z][a-z0-9]*)(-[a-z0-9]+)*$",
},
};