@tenphi/eslint-plugin-tasty 1.5.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -4
- package/dist/configs.js +3 -1
- package/dist/configs.js.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/context.js +44 -28
- package/dist/context.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/rules/consistent-token-usage.js +88 -87
- package/dist/rules/consistent-token-usage.js.map +1 -1
- package/dist/rules/no-classname-prop.js +27 -0
- package/dist/rules/no-classname-prop.js.map +1 -0
- package/dist/rules/no-important.js +23 -28
- package/dist/rules/no-important.js.map +1 -1
- package/dist/rules/no-raw-color-values.js +40 -59
- package/dist/rules/no-raw-color-values.js.map +1 -1
- package/dist/rules/no-raw-motion-duration.js +6 -24
- package/dist/rules/no-raw-motion-duration.js.map +1 -1
- package/dist/rules/no-raw-transition-duration.js +7 -49
- package/dist/rules/no-raw-transition-duration.js.map +1 -1
- package/dist/rules/no-runtime-styles-mutation.js +2 -2
- package/dist/rules/no-runtime-styles-mutation.js.map +1 -1
- package/dist/rules/no-state-in-selector.js +1 -1
- package/dist/rules/no-state-in-selector.js.map +1 -1
- package/dist/rules/no-style-prop.js +27 -0
- package/dist/rules/no-style-prop.js.map +1 -0
- package/dist/rules/no-style-spread.js +2 -2
- package/dist/rules/no-style-spread.js.map +1 -1
- package/dist/rules/no-styles-prop.js +7 -5
- package/dist/rules/no-styles-prop.js.map +1 -1
- package/dist/rules/prefer-auto-calc.js +5 -27
- package/dist/rules/prefer-auto-calc.js.map +1 -1
- package/dist/rules/prefer-custom-property-syntax.js +12 -31
- package/dist/rules/prefer-custom-property-syntax.js.map +1 -1
- package/dist/rules/prefer-shorthand-property.js +32 -10
- package/dist/rules/prefer-shorthand-property.js.map +1 -1
- package/dist/rules/tasty-component-props.js +33 -0
- package/dist/rules/tasty-component-props.js.map +1 -0
- package/dist/rules/valid-boolean-property.js +6 -26
- package/dist/rules/valid-boolean-property.js.map +1 -1
- package/dist/rules/valid-color-token.js +11 -26
- package/dist/rules/valid-color-token.js.map +1 -1
- package/dist/rules/valid-custom-property.js +11 -25
- package/dist/rules/valid-custom-property.js.map +1 -1
- package/dist/rules/valid-custom-unit.js +10 -27
- package/dist/rules/valid-custom-unit.js.map +1 -1
- package/dist/rules/valid-directional-modifier.js +5 -27
- package/dist/rules/valid-directional-modifier.js.map +1 -1
- package/dist/rules/valid-preset.js +5 -29
- package/dist/rules/valid-preset.js.map +1 -1
- package/dist/rules/valid-radius-shape.js +5 -25
- package/dist/rules/valid-radius-shape.js.map +1 -1
- package/dist/rules/valid-recipe.js +5 -20
- package/dist/rules/valid-recipe.js.map +1 -1
- package/dist/rules/valid-transition.js +5 -25
- package/dist/rules/valid-transition.js.map +1 -1
- package/dist/rules/valid-value.js +5 -31
- package/dist/rules/valid-value.js.map +1 -1
- package/dist/style-values.js +71 -0
- package/dist/style-values.js.map +1 -0
- package/dist/utils.js +1 -10
- package/dist/utils.js.map +1 -1
- package/dist/value-words.js +76 -0
- package/dist/value-words.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-words.js","names":[],"sources":["../src/value-words.ts"],"sourcesContent":["export interface ValueWord {\n value: string;\n offset: number;\n isFunction: boolean;\n}\n\ninterface Span {\n start: number;\n end: number;\n}\n\nfunction scan(value: string): { words: ValueWord[]; opaque: Span[] } {\n const words: ValueWord[] = [];\n const opaque: Span[] = [];\n // A whole identifier must win over a color name or number inside it.\n const pattern =\n /(?:[#$]{1,2}[\\w-]*(?:\\.[\\w$.-]*)?|[+-]?(?:\\d*\\.\\d+|\\d+\\.?\\d*)(?:e[+-]?\\d+)?(?:[a-z][a-z0-9]*|%)?|[a-z_][\\w-]*|--[\\w-]+)/iy;\n let i = 0;\n const skipQuote = () => {\n const quote = value[i++];\n while (i < value.length) {\n const ch = value[i++];\n if (ch === '\\\\') i++;\n else if (ch === quote) break;\n }\n i = Math.min(i, value.length);\n };\n while (i < value.length) {\n if (value[i] === '\"' || value[i] === \"'\") {\n const start = i;\n skipQuote();\n opaque.push({ start, end: i });\n continue;\n }\n pattern.lastIndex = i;\n const match = pattern.exec(value);\n if (!match) {\n i++;\n continue;\n }\n const word = match[0];\n const offset = i;\n i += word.length;\n const paren = /^\\s*\\(/.exec(value.slice(i));\n if (word.toLowerCase() === 'url' && paren) {\n i += paren[0].length;\n while (i < value.length) {\n if (value[i] === '\"' || value[i] === \"'\") skipQuote();\n else if (value[i] === '\\\\') i += 2;\n else if (value[i++] === ')') break;\n }\n i = Math.min(i, value.length);\n opaque.push({ start: offset, end: i });\n continue;\n }\n words.push({ value: word, offset, isFunction: paren !== null });\n }\n return { words, opaque };\n}\n\n/** Scan inside expressions while keeping strings, URLs, and identifiers opaque. */\nexport function scanValueWords(value: string): ValueWord[] {\n return scan(value).words;\n}\n\n/** Hide text that regex-based checks must not rewrite, preserving source offsets. */\nexport function maskValueLiterals(value: string): string {\n let result = '';\n let start = 0;\n for (const span of scan(value).opaque) {\n result +=\n value.slice(start, span.start) + ' '.repeat(span.end - span.start);\n start = span.end;\n }\n return result + value.slice(start);\n}\n"],"mappings":";AAWA,SAAS,KAAK,OAAuD;CACnE,MAAM,QAAqB,EAAE;CAC7B,MAAM,SAAiB,EAAE;CAEzB,MAAM,UACJ;CACF,IAAI,IAAI;CACR,MAAM,kBAAkB;EACtB,MAAM,QAAQ,MAAM;AACpB,SAAO,IAAI,MAAM,QAAQ;GACvB,MAAM,KAAK,MAAM;AACjB,OAAI,OAAO,KAAM;YACR,OAAO,MAAO;;AAEzB,MAAI,KAAK,IAAI,GAAG,MAAM,OAAO;;AAE/B,QAAO,IAAI,MAAM,QAAQ;AACvB,MAAI,MAAM,OAAO,QAAO,MAAM,OAAO,KAAK;GACxC,MAAM,QAAQ;AACd,cAAW;AACX,UAAO,KAAK;IAAE;IAAO,KAAK;IAAG,CAAC;AAC9B;;AAEF,UAAQ,YAAY;EACpB,MAAM,QAAQ,QAAQ,KAAK,MAAM;AACjC,MAAI,CAAC,OAAO;AACV;AACA;;EAEF,MAAM,OAAO,MAAM;EACnB,MAAM,SAAS;AACf,OAAK,KAAK;EACV,MAAM,QAAQ,SAAS,KAAK,MAAM,MAAM,EAAE,CAAC;AAC3C,MAAI,KAAK,aAAa,KAAK,SAAS,OAAO;AACzC,QAAK,MAAM,GAAG;AACd,UAAO,IAAI,MAAM,OACf,KAAI,MAAM,OAAO,QAAO,MAAM,OAAO,IAAK,YAAW;YAC5C,MAAM,OAAO,KAAM,MAAK;YACxB,MAAM,SAAS,IAAK;AAE/B,OAAI,KAAK,IAAI,GAAG,MAAM,OAAO;AAC7B,UAAO,KAAK;IAAE,OAAO;IAAQ,KAAK;IAAG,CAAC;AACtC;;AAEF,QAAM,KAAK;GAAE,OAAO;GAAM;GAAQ,YAAY,UAAU;GAAM,CAAC;;AAEjE,QAAO;EAAE;EAAO;EAAQ;;;AAI1B,SAAgB,eAAe,OAA4B;AACzD,QAAO,KAAK,MAAM,CAAC;;;AAIrB,SAAgB,kBAAkB,OAAuB;CACvD,IAAI,SAAS;CACb,IAAI,QAAQ;AACZ,MAAK,MAAM,QAAQ,KAAK,MAAM,CAAC,QAAQ;AACrC,YACE,MAAM,MAAM,OAAO,KAAK,MAAM,GAAG,IAAI,OAAO,KAAK,MAAM,KAAK,MAAM;AACpE,UAAQ,KAAK;;AAEf,QAAO,SAAS,MAAM,MAAM,MAAM"}
|