@typestyles/eslint-plugin 0.2.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/create-rule.ts","../src/rules/no-default-scope-in-package.ts","../src/utils/style-calls.ts","../src/rules/no-duplicate-namespace.ts","../src/utils/css-properties.ts","../src/utils/style-ast.ts","../src/rules/no-invalid-unitless-value.ts","../src/rules/no-shorthand-longhand-conflict.ts","../src/index.ts"],"names":["memberPropertyName"],"mappings":"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","file":"index.js","sourcesContent":["import { ESLintUtils } from '@typescript-eslint/utils';\n\nexport const createRule = ESLintUtils.RuleCreator(\n (name) => `https://typestyles.dev/docs/eslint#${name}`,\n);\n","import type { TSESTree } from '@typescript-eslint/utils';\nimport { createRule } from '../utils/create-rule';\n\nfunction memberPropertyName(node: TSESTree.MemberExpression): string | null {\n if (node.property.type === 'Identifier' && !node.computed) return node.property.name;\n if (node.property.type === 'Literal' && typeof node.property.value === 'string') {\n return node.property.value;\n }\n return null;\n}\n\nfunction isDefaultStylesCall(node: TSESTree.CallExpression): boolean {\n const { callee } = node;\n if (callee.type !== 'MemberExpression') return false;\n const method = memberPropertyName(callee);\n if (method !== 'class' && method !== 'component') return false;\n\n if (callee.object.type === 'Identifier') {\n return callee.object.name === 'styles';\n }\n return false;\n}\n\nexport const noDefaultScopeInPackage = createRule({\n name: 'no-default-scope-in-package',\n meta: {\n type: 'suggestion',\n docs: {\n description:\n 'Require a scoped styles factory (`createTypeStyles`/`createStyles` with `scopeId`) instead of the default `styles` export in publishable packages',\n },\n messages: {\n unscopedInPackage:\n 'Using the default `styles.{{method}}()` in a published package risks class-name collisions. Use `createTypeStyles({ scopeId: pkg.name })` or `createStyles({ scopeId })` instead.',\n },\n schema: [],\n },\n defaultOptions: [],\n create(context) {\n return {\n CallExpression(node) {\n if (!isDefaultStylesCall(node)) return;\n\n const method = memberPropertyName(node.callee as TSESTree.MemberExpression);\n\n context.report({\n node: node.callee,\n messageId: 'unscopedInPackage',\n data: { method: method ?? 'class' },\n });\n },\n };\n },\n});\n","import type { TSESTree } from '@typescript-eslint/utils';\n\nexport type NamespaceKind =\n | 'styles.class'\n | 'styles.component'\n | 'styles.hashClass'\n | 'tokens.create'\n | 'tokens.createTheme'\n | 'createTheme'\n | 'keyframes.create'\n | 'global.style'\n | 'global.fontFace';\n\nexport interface NamespaceCall {\n kind: NamespaceKind;\n /** Logical namespace key used for duplicate detection. */\n key: string;\n /** AST node for the namespace string literal (for reporting). */\n nameNode: TSESTree.StringLiteral;\n}\n\nfunction memberPropertyName(node: TSESTree.MemberExpression): string | null {\n if (node.property.type === 'Identifier' && !node.computed) return node.property.name;\n if (node.property.type === 'Literal' && typeof node.property.value === 'string') {\n return node.property.value;\n }\n return null;\n}\n\nfunction calleeRootName(node: TSESTree.CallExpression['callee']): string | null {\n if (node.type === 'Identifier') return node.name;\n if (node.type === 'MemberExpression') {\n if (node.object.type === 'Identifier') return node.object.name;\n if (node.object.type === 'MemberExpression') {\n const inner = memberPropertyName(node.object);\n const outer = calleeRootName(node.object);\n if (outer && inner) return `${outer}.${inner}`;\n }\n }\n return null;\n}\n\nfunction isMemberCall(\n callee: TSESTree.CallExpression['callee'],\n objectName: string,\n method: string,\n): boolean {\n if (callee.type !== 'MemberExpression') return false;\n const methodName = memberPropertyName(callee);\n if (methodName !== method) return false;\n if (callee.object.type === 'Identifier') return callee.object.name === objectName;\n return false;\n}\n\nfunction firstStringArg(args: TSESTree.CallExpressionArgument[]): TSESTree.StringLiteral | null {\n const first = args[0];\n if (!first || first.type === 'SpreadElement') return null;\n if (first.type === 'Literal' && typeof first.value === 'string') return first;\n return null;\n}\n\n/**\n * Detect TypeStyles namespace registrations from call expressions.\n * Matches API shape (e.g. `styles.class('card', …)`) regardless of import alias.\n */\nexport function getNamespaceCall(node: TSESTree.CallExpression): NamespaceCall | null {\n const { callee, arguments: args } = node;\n\n if (isMemberCall(callee, 'styles', 'class')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'styles.class', key: `.${nameNode.value}-`, nameNode };\n }\n\n if (isMemberCall(callee, 'styles', 'component')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'styles.component', key: `.${nameNode.value}-`, nameNode };\n }\n\n if (isMemberCall(callee, 'styles', 'hashClass')) {\n const first = args[0];\n if (!first || first.type === 'SpreadElement') return null;\n if (first.type === 'Literal' && typeof first.value === 'string') {\n return { kind: 'styles.hashClass', key: `.${first.value}-`, nameNode: first };\n }\n const label = args[1];\n if (label?.type === 'Literal' && typeof label.value === 'string') {\n return { kind: 'styles.hashClass', key: `.${label.value}-`, nameNode: label };\n }\n return null;\n }\n\n if (isMemberCall(callee, 'tokens', 'create')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'tokens.create', key: `tokens:${nameNode.value}`, nameNode };\n }\n\n if (isMemberCall(callee, 'tokens', 'createTheme')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'tokens.createTheme', key: `theme:${nameNode.value}`, nameNode };\n }\n\n if (callee.type === 'Identifier' && callee.name === 'createTheme') {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'createTheme', key: `theme:${nameNode.value}`, nameNode };\n }\n\n if (isMemberCall(callee, 'keyframes', 'create')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'keyframes.create', key: `keyframes:${nameNode.value}`, nameNode };\n }\n\n if (isMemberCall(callee, 'global', 'style')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'global.style', key: nameNode.value, nameNode };\n }\n\n if (isMemberCall(callee, 'global', 'fontFace')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'global.fontFace', key: `font-face:${nameNode.value}`, nameNode };\n }\n\n // `myStyles.class` / `myTokens.create` from createStyles/createTokens bindings\n if (callee.type === 'MemberExpression') {\n const method = memberPropertyName(callee);\n const root = calleeRootName(callee);\n if (method === 'class' && root) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'styles.class', key: `.${nameNode.value}-`, nameNode };\n }\n if (method === 'component' && root) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'styles.component', key: `.${nameNode.value}-`, nameNode };\n }\n if (method === 'create' && root?.endsWith('tokens')) {\n const nameNode = firstStringArg(args);\n if (!nameNode) return null;\n return { kind: 'tokens.create', key: `tokens:${nameNode.value}`, nameNode };\n }\n }\n\n return null;\n}\n\n/** Extract style object literals passed to TypeStyles style APIs. */\nexport function getStyleObjectArguments(\n node: TSESTree.CallExpression,\n): TSESTree.ObjectExpression[] {\n const { callee, arguments: args } = node;\n const objects: TSESTree.ObjectExpression[] = [];\n\n const pushObject = (arg: TSESTree.CallExpressionArgument | undefined) => {\n if (!arg || arg.type === 'SpreadElement') return;\n if (arg.type === 'ObjectExpression') objects.push(arg);\n if (arg.type === 'ArrowFunctionExpression' && arg.body.type === 'ObjectExpression') {\n objects.push(arg.body);\n }\n };\n\n if (callee.type === 'MemberExpression') {\n const method = memberPropertyName(callee);\n if (method === 'class' || method === 'component') {\n pushObject(args[1]);\n return objects;\n }\n if (method === 'hashClass') {\n const first = args[0];\n if (first && first.type !== 'SpreadElement' && first.type === 'ObjectExpression') {\n objects.push(first);\n }\n return objects;\n }\n }\n\n return objects;\n}\n","import { createRule } from '../utils/create-rule';\nimport { getNamespaceCall } from '../utils/style-calls';\n\ninterface NamespaceLocation {\n filename: string;\n line: number;\n column: number;\n}\n\n/** Cross-file registry for a single ESLint CLI run (best-effort; not shared across workers). */\nconst namespaceRegistry = new Map<string, NamespaceLocation>();\n\n/** @internal Test hook */\nexport function resetNamespaceRegistry(): void {\n namespaceRegistry.clear();\n}\n\nexport const noDuplicateNamespace = createRule({\n name: 'no-duplicate-namespace',\n meta: {\n type: 'problem',\n docs: {\n description:\n 'Disallow reusing the same TypeStyles namespace (`styles.class`, `styles.component`, `tokens.create`, …) across the project',\n },\n messages: {\n duplicateInFile:\n 'Namespace `{{name}}` ({{kind}}) is already registered in this file at line {{line}}.',\n duplicateAcrossFiles:\n 'Namespace `{{name}}` ({{kind}}) is already registered in `{{otherFile}}` at line {{line}}.',\n },\n schema: [],\n },\n defaultOptions: [],\n create(context) {\n const fileSeen = new Map<string, { line: number; column: number }>();\n const filename = context.filename;\n\n return {\n CallExpression(node) {\n const call = getNamespaceCall(node);\n if (!call) return;\n\n const displayName =\n call.kind === 'styles.class' || call.kind === 'styles.component'\n ? call.nameNode.value\n : call.nameNode.value;\n\n const line = call.nameNode.loc?.start.line ?? node.loc?.start.line ?? 0;\n const column = call.nameNode.loc?.start.column ?? node.loc?.start.column ?? 0;\n\n const priorInFile = fileSeen.get(call.key);\n if (priorInFile) {\n context.report({\n node: call.nameNode,\n messageId: 'duplicateInFile',\n data: {\n name: displayName,\n kind: call.kind,\n line: String(priorInFile.line),\n },\n });\n return;\n }\n fileSeen.set(call.key, { line, column });\n\n const priorGlobal = namespaceRegistry.get(call.key);\n if (priorGlobal && priorGlobal.filename !== filename) {\n context.report({\n node: call.nameNode,\n messageId: 'duplicateAcrossFiles',\n data: {\n name: displayName,\n kind: call.kind,\n otherFile: priorGlobal.filename,\n line: String(priorGlobal.line),\n },\n });\n return;\n }\n\n if (!priorGlobal) {\n namespaceRegistry.set(call.key, { filename, line, column });\n }\n },\n };\n },\n});\n","/**\n * CSS properties that accept unitless numbers in TypeStyles serialization.\n * Keep in sync with `packages/typestyles/src/css.ts`.\n */\nexport const UNITLESS_PROPERTIES = new Set([\n 'animationIterationCount',\n 'aspectRatio',\n 'borderImageOutset',\n 'borderImageSlice',\n 'borderImageWidth',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'columns',\n 'flex',\n 'flexGrow',\n 'flexPositive',\n 'flexShrink',\n 'flexNegative',\n 'flexOrder',\n 'fontSizeAdjust',\n 'fontWeight',\n 'gridArea',\n 'gridColumn',\n 'gridColumnEnd',\n 'gridColumnSpan',\n 'gridColumnStart',\n 'gridRow',\n 'gridRowEnd',\n 'gridRowSpan',\n 'gridRowStart',\n 'initialLetter',\n 'lineClamp',\n 'lineHeight',\n 'maskBorderOutset',\n 'maskBorderSlice',\n 'maskBorderWidth',\n 'opacity',\n 'order',\n 'orphans',\n 'scale',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n 'fillOpacity',\n 'floodOpacity',\n 'stopOpacity',\n 'strokeDasharray',\n 'strokeDashoffset',\n 'strokeMiterlimit',\n 'strokeOpacity',\n 'strokeWidth',\n]);\n\nconst VENDOR_PREFIX_RE = /^(Webkit|Moz|ms|O)([A-Z])(.*)$/;\n\nexport function isUnitlessProperty(prop: string): boolean {\n if (UNITLESS_PROPERTIES.has(prop)) return true;\n const match = VENDOR_PREFIX_RE.exec(prop);\n if (match) {\n return UNITLESS_PROPERTIES.has(match[2].toLowerCase() + match[3]);\n }\n return false;\n}\n\n/** Shorthand property → longhands that must not appear in the same style object. */\nexport const SHORTHAND_TO_LONGHANDS: Readonly<Record<string, readonly string[]>> = {\n padding: [\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingInline',\n 'paddingBlock',\n 'paddingInlineStart',\n 'paddingInlineEnd',\n 'paddingBlockStart',\n 'paddingBlockEnd',\n ],\n margin: [\n 'marginTop',\n 'marginRight',\n 'marginBottom',\n 'marginLeft',\n 'marginInline',\n 'marginBlock',\n 'marginInlineStart',\n 'marginInlineEnd',\n 'marginBlockStart',\n 'marginBlockEnd',\n ],\n border: [\n 'borderWidth',\n 'borderStyle',\n 'borderColor',\n 'borderTop',\n 'borderRight',\n 'borderBottom',\n 'borderLeft',\n 'borderInline',\n 'borderBlock',\n ],\n borderWidth: [\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderInlineWidth',\n 'borderBlockWidth',\n ],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderTop: ['borderTopWidth', 'borderTopStyle', 'borderTopColor'],\n borderRight: ['borderRightWidth', 'borderRightStyle', 'borderRightColor'],\n borderBottom: ['borderBottomWidth', 'borderBottomStyle', 'borderBottomColor'],\n borderLeft: ['borderLeftWidth', 'borderLeftStyle', 'borderLeftColor'],\n background: [\n 'backgroundColor',\n 'backgroundImage',\n 'backgroundPosition',\n 'backgroundSize',\n 'backgroundRepeat',\n 'backgroundAttachment',\n 'backgroundOrigin',\n 'backgroundClip',\n ],\n font: ['fontStyle', 'fontVariant', 'fontWeight', 'fontSize', 'lineHeight', 'fontFamily'],\n flex: ['flexGrow', 'flexShrink', 'flexBasis'],\n gap: ['rowGap', 'columnGap'],\n overflow: ['overflowX', 'overflowY'],\n transition: [\n 'transitionProperty',\n 'transitionDuration',\n 'transitionTimingFunction',\n 'transitionDelay',\n ],\n animation: [\n 'animationName',\n 'animationDuration',\n 'animationTimingFunction',\n 'animationDelay',\n 'animationIterationCount',\n 'animationDirection',\n 'animationFillMode',\n 'animationPlayState',\n ],\n outline: ['outlineWidth', 'outlineStyle', 'outlineColor'],\n listStyle: ['listStyleType', 'listStylePosition', 'listStyleImage'],\n grid: [\n 'gridTemplateRows',\n 'gridTemplateColumns',\n 'gridTemplateAreas',\n 'gridAutoRows',\n 'gridAutoColumns',\n 'gridAutoFlow',\n ],\n gridTemplate: ['gridTemplateRows', 'gridTemplateColumns', 'gridTemplateAreas'],\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['insetBlockStart', 'insetBlockEnd'],\n insetInline: ['insetInlineStart', 'insetInlineEnd'],\n};\n\n/** Bare numeric strings (no CSS unit) that emit invalid CSS when serialized. */\nexport const BARE_NUMBER_STRING_RE = /^-?\\d+(\\.\\d+)?$/;\n\nexport function findShorthandLonghandConflicts(\n propertyNames: readonly string[],\n): Array<{ shorthand: string; longhand: string }> {\n const keys = new Set(propertyNames);\n const seen = new Set<string>();\n const conflicts: Array<{ shorthand: string; longhand: string }> = [];\n\n for (const key of keys) {\n const longhands = SHORTHAND_TO_LONGHANDS[key];\n if (longhands) {\n for (const longhand of longhands) {\n if (keys.has(longhand)) {\n const id = `${key}|${longhand}`;\n if (!seen.has(id)) {\n seen.add(id);\n conflicts.push({ shorthand: key, longhand });\n }\n }\n }\n }\n }\n\n return conflicts;\n}\n","import type { TSESTree } from '@typescript-eslint/utils';\n\nconst NESTED_SELECTOR_KEY_RE = /^(&|@|\\[)/;\n\n/** Keys that wrap nested style objects in component configs. */\nconst COMPONENT_STRUCTURAL_KEYS = new Set([\n 'base',\n 'variants',\n 'defaultVariants',\n 'compoundVariants',\n 'slots',\n]);\n\nexport function getStaticPropertyKey(prop: TSESTree.Property): string | null {\n if (prop.computed) return null;\n if (prop.key.type === 'Identifier') return prop.key.name;\n if (prop.key.type === 'Literal' && typeof prop.key.value === 'string') return prop.key.value;\n return null;\n}\n\nexport function isCssPropertyKey(key: string): boolean {\n if (NESTED_SELECTOR_KEY_RE.test(key)) return false;\n if (COMPONENT_STRUCTURAL_KEYS.has(key)) return false;\n return /^[a-zA-Z]/.test(key);\n}\n\n/**\n * Collect CSS property names declared at the top level of a style object literal.\n */\nexport function collectCssPropertyNames(obj: TSESTree.ObjectExpression): string[] {\n const names: string[] = [];\n for (const prop of obj.properties) {\n if (prop.type !== 'Property') continue;\n const key = getStaticPropertyKey(prop);\n if (key && isCssPropertyKey(key)) names.push(key);\n }\n return names;\n}\n\n/**\n * Visit each style object literal in a TypeStyles style/config tree.\n * Recurses into pseudos, at-rules, component `base` / `variants`, and slot objects.\n */\nexport function visitStyleObjectLiterals(\n node: TSESTree.ObjectExpression,\n onStyleObject: (obj: TSESTree.ObjectExpression) => void,\n): void {\n onStyleObject(node);\n\n for (const prop of node.properties) {\n if (prop.type !== 'Property') continue;\n const key = getStaticPropertyKey(prop);\n if (!key) continue;\n\n if (NESTED_SELECTOR_KEY_RE.test(key)) {\n if (prop.value.type === 'ObjectExpression') {\n visitStyleObjectLiterals(prop.value, onStyleObject);\n }\n continue;\n }\n\n if (key === 'variants' && prop.value.type === 'ObjectExpression') {\n for (const groupProp of prop.value.properties) {\n if (groupProp.type !== 'Property' || groupProp.value.type !== 'ObjectExpression') continue;\n for (const optionProp of groupProp.value.properties) {\n if (optionProp.type === 'Property' && optionProp.value.type === 'ObjectExpression') {\n visitStyleObjectLiterals(optionProp.value, onStyleObject);\n }\n }\n }\n continue;\n }\n\n if (key === 'compoundVariants' && prop.value.type === 'ArrayExpression') {\n for (const element of prop.value.elements) {\n if (!element || element.type !== 'ObjectExpression') continue;\n for (const cvProp of element.properties) {\n if (cvProp.type !== 'Property') continue;\n const cvKey = getStaticPropertyKey(cvProp);\n if (cvKey === 'css' && cvProp.value.type === 'ObjectExpression') {\n visitStyleObjectLiterals(cvProp.value, onStyleObject);\n }\n }\n }\n continue;\n }\n\n if (\n (COMPONENT_STRUCTURAL_KEYS.has(key) || prop.value.type === 'ObjectExpression') &&\n prop.value.type === 'ObjectExpression'\n ) {\n visitStyleObjectLiterals(prop.value, onStyleObject);\n }\n }\n}\n\nexport function getStringLiteralValue(node: TSESTree.Node): string | null {\n if (node.type === 'Literal' && typeof node.value === 'string') return node.value;\n return null;\n}\n\nexport function getNumericLiteralValue(node: TSESTree.Node): number | null {\n if (node.type === 'Literal' && typeof node.value === 'number') return node.value;\n return null;\n}\n","import type { TSESTree } from '@typescript-eslint/utils';\nimport { createRule } from '../utils/create-rule';\nimport { BARE_NUMBER_STRING_RE, isUnitlessProperty } from '../utils/css-properties';\nimport {\n getNumericLiteralValue,\n getStaticPropertyKey,\n getStringLiteralValue,\n isCssPropertyKey,\n visitStyleObjectLiterals,\n} from '../utils/style-ast';\nimport { getStyleObjectArguments } from '../utils/style-calls';\n\nexport const noInvalidUnitlessValue = createRule({\n name: 'no-invalid-unitless-value',\n meta: {\n type: 'problem',\n docs: {\n description:\n 'Disallow bare numeric strings on properties that require CSS units (TypeStyles only auto-appends `px` to numbers, not strings)',\n },\n messages: {\n bareNumberString:\n '`{{property}}` is set to bare number string `{{value}}`, which emits invalid CSS. Use a number (`{{numeric}}`) or a value with units (`{{value}}px`).',\n suspiciousUnitlessNumber:\n '`{{property}}` is unitless in CSS — numeric `{{value}}` is emitted without a unit. Use a ratio (e.g. `1.5`) or an explicit length (`\"24px\"`).',\n },\n schema: [\n {\n type: 'object',\n properties: {\n checkSuspiciousUnitlessNumbers: { type: 'boolean' },\n },\n additionalProperties: false,\n },\n ],\n },\n defaultOptions: [{ checkSuspiciousUnitlessNumbers: true }],\n create(context, [options]) {\n /** Properties where a large integer usually means the author meant a length, not a unitless ratio. */\n const SUSPICIOUS_UNITLESS_PROPERTIES = new Set(['lineHeight']);\n\n function checkStyleObject(obj: TSESTree.ObjectExpression) {\n for (const prop of obj.properties) {\n if (prop.type !== 'Property') continue;\n const key = getStaticPropertyKey(prop);\n if (!key || !isCssPropertyKey(key)) continue;\n\n const stringValue = getStringLiteralValue(prop.value);\n if (stringValue && BARE_NUMBER_STRING_RE.test(stringValue) && !isUnitlessProperty(key)) {\n context.report({\n node: prop.value,\n messageId: 'bareNumberString',\n data: {\n property: key,\n value: stringValue,\n numeric: stringValue,\n },\n });\n continue;\n }\n\n if (options.checkSuspiciousUnitlessNumbers && SUSPICIOUS_UNITLESS_PROPERTIES.has(key)) {\n const num = getNumericLiteralValue(prop.value);\n if (num != null && num >= 8 && Number.isInteger(num)) {\n context.report({\n node: prop.value,\n messageId: 'suspiciousUnitlessNumber',\n data: { property: key, value: String(num) },\n });\n }\n }\n }\n }\n\n return {\n CallExpression(node) {\n for (const styleObj of getStyleObjectArguments(node)) {\n visitStyleObjectLiterals(styleObj, checkStyleObject);\n }\n },\n ObjectExpression(node) {\n const parent = node.parent;\n if (\n parent?.type === 'Property' &&\n (parent.key.type === 'Identifier' || parent.key.type === 'Literal')\n ) {\n const parentKey =\n parent.key.type === 'Identifier'\n ? parent.key.name\n : typeof parent.key.value === 'string'\n ? parent.key.value\n : null;\n if (parentKey === 'from' || parentKey === 'to' || /^\\d+%$/.test(parentKey ?? '')) {\n visitStyleObjectLiterals(node, checkStyleObject);\n }\n }\n },\n };\n },\n});\n","import type { TSESTree } from '@typescript-eslint/utils';\nimport { createRule } from '../utils/create-rule';\nimport { findShorthandLonghandConflicts } from '../utils/css-properties';\nimport { collectCssPropertyNames, visitStyleObjectLiterals } from '../utils/style-ast';\nimport { getStyleObjectArguments } from '../utils/style-calls';\n\nexport const noShorthandLonghandConflict = createRule({\n name: 'no-shorthand-longhand-conflict',\n meta: {\n type: 'problem',\n docs: {\n description:\n 'Disallow mixing CSS shorthand and longhand properties in the same TypeStyles style object',\n },\n messages: {\n conflict:\n '`{{shorthand}}` and `{{longhand}}` must not appear in the same style object — the longhand is ignored or overridden unpredictably.',\n },\n schema: [],\n },\n defaultOptions: [],\n create(context) {\n function checkStyleObject(obj: TSESTree.ObjectExpression) {\n const propertyNames = collectCssPropertyNames(obj);\n const conflicts = findShorthandLonghandConflicts(propertyNames);\n for (const { shorthand, longhand } of conflicts) {\n context.report({\n node: obj,\n messageId: 'conflict',\n data: { shorthand, longhand },\n });\n }\n }\n\n return {\n CallExpression(node) {\n for (const styleObj of getStyleObjectArguments(node)) {\n visitStyleObjectLiterals(styleObj, checkStyleObject);\n }\n },\n ObjectExpression(node) {\n // Keyframe stops: `{ from: { opacity: 0 }, to: { opacity: 1 } }`\n const parent = node.parent;\n if (\n parent?.type === 'Property' &&\n (parent.key.type === 'Identifier' || parent.key.type === 'Literal')\n ) {\n const parentKey =\n parent.key.type === 'Identifier'\n ? parent.key.name\n : typeof parent.key.value === 'string'\n ? parent.key.value\n : null;\n if (parentKey === 'from' || parentKey === 'to' || /^\\d+%$/.test(parentKey ?? '')) {\n visitStyleObjectLiterals(node, checkStyleObject);\n }\n }\n },\n };\n },\n});\n","import { noDefaultScopeInPackage } from './rules/no-default-scope-in-package';\nimport { noDuplicateNamespace } from './rules/no-duplicate-namespace';\nimport { noInvalidUnitlessValue } from './rules/no-invalid-unitless-value';\nimport { noShorthandLonghandConflict } from './rules/no-shorthand-longhand-conflict';\n\nexport const rules = {\n 'no-default-scope-in-package': noDefaultScopeInPackage,\n 'no-shorthand-longhand-conflict': noShorthandLonghandConflict,\n 'no-invalid-unitless-value': noInvalidUnitlessValue,\n 'no-duplicate-namespace': noDuplicateNamespace,\n};\n\nexport {\n noDefaultScopeInPackage,\n noShorthandLonghandConflict,\n noInvalidUnitlessValue,\n noDuplicateNamespace,\n};\n\nconst plugin = {\n meta: {\n name: '@typestyles/eslint-plugin',\n version: '0.1.0',\n },\n rules,\n};\n\n/** Flat-config preset for TypeStyles projects. */\nexport const configs = {\n recommended: {\n plugins: {\n '@typestyles': plugin,\n },\n rules: {\n '@typestyles/no-shorthand-longhand-conflict': 'error',\n '@typestyles/no-invalid-unitless-value': 'error',\n '@typestyles/no-duplicate-namespace': 'error',\n },\n },\n /** Preset for publishable packages — adds `no-default-scope-in-package`. */\n package: {\n plugins: {\n '@typestyles': plugin,\n },\n rules: {\n '@typestyles/no-shorthand-longhand-conflict': 'error',\n '@typestyles/no-invalid-unitless-value': 'error',\n '@typestyles/no-duplicate-namespace': 'error',\n '@typestyles/no-default-scope-in-package': 'error',\n },\n },\n};\n\nObject.assign(plugin, { configs });\n\nexport default plugin;\n"]}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@typestyles/eslint-plugin",
3
+ "version": "0.2.0",
4
+ "description": "ESLint rules for TypeStyles style objects and namespace usage",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.cts",
17
+ "default": "./dist/index.cjs"
18
+ }
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "keywords": [
25
+ "eslint",
26
+ "eslintplugin",
27
+ "typestyles",
28
+ "css-in-ts"
29
+ ],
30
+ "peerDependencies": {
31
+ "eslint": "^8.57.0 || ^9.0.0"
32
+ },
33
+ "dependencies": {
34
+ "@typescript-eslint/utils": "^8.54.0"
35
+ },
36
+ "devDependencies": {
37
+ "@typescript-eslint/parser": "^8.54.0",
38
+ "@typescript-eslint/rule-tester": "^8.54.0",
39
+ "eslint": "^9.39.2",
40
+ "tsup": "^8.0.0",
41
+ "typescript": "^5.4.0",
42
+ "vitest": "^3.0.0"
43
+ },
44
+ "license": "Apache-2.0",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/type-styles/typestyles",
48
+ "directory": "packages/eslint-plugin"
49
+ },
50
+ "scripts": {
51
+ "build": "tsup",
52
+ "test": "vitest run",
53
+ "lint": "eslint .",
54
+ "typecheck": "tsc --noEmit"
55
+ }
56
+ }