Skip to content

Commit cc0dff7

Browse files
authored
fix: correct message for functions in use-baseline rule (eslint#297)
1 parent 49d2370 commit cc0dff7

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

src/data/baseline-data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ export const mediaConditions = new Map([
583583
["horizontal-viewport-segments", "0:"],
584584
["vertical-viewport-segments", "0:"],
585585
]);
586-
export const types = new Map([
586+
export const functions = new Map([
587587
["abs", "5:2025"],
588588
["sign", "5:2025"],
589589
["anchor", "0:"],

src/rules/use-baseline.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
propertyValues,
1515
atRules,
1616
mediaConditions,
17-
types,
17+
functions,
1818
selectors,
1919
} from "../data/baseline-data.js";
2020
import { namedColors } from "../data/colors.js";
@@ -26,7 +26,7 @@ import { namedColors } from "../data/colors.js";
2626
/**
2727
* @import { CSSRuleDefinition } from "../types.js"
2828
* @import { Identifier, FunctionNodePlain } from "@eslint/css-tree"
29-
* @typedef {"notBaselineProperty" | "notBaselinePropertyValue" | "notBaselineAtRule" | "notBaselineType" | "notBaselineMediaCondition" | "notBaselineSelector"} UseBaselineMessageIds
29+
* @typedef {"notBaselineProperty" | "notBaselinePropertyValue" | "notBaselineAtRule" | "notBaselineFunction" | "notBaselineMediaCondition" | "notBaselineSelector"} UseBaselineMessageIds
3030
* @typedef {[{
3131
* available?: "widely" | "newly" | number,
3232
* allowAtRules?: string[],
@@ -475,8 +475,8 @@ export default {
475475
"Value '{{value}}' of property '{{property}}' is not a {{availability}} available baseline feature.",
476476
notBaselineAtRule:
477477
"At-rule '@{{atRule}}' is not a {{availability}} available baseline feature.",
478-
notBaselineType:
479-
"Type '{{type}}' is not a {{availability}} available baseline feature.",
478+
notBaselineFunction:
479+
"Function '{{function}}' is not a {{availability}} available baseline feature.",
480480
notBaselineMediaCondition:
481481
"Media condition '{{condition}}' is not a {{availability}} available baseline feature.",
482482
notBaselineSelector:
@@ -537,7 +537,7 @@ export default {
537537
* @returns {void}
538538
**/
539539
function checkPropertyValueFunction(child) {
540-
const featureStatus = types.get(child.name);
540+
const featureStatus = functions.get(child.name);
541541

542542
// if we don't know of any possible property values, just skip it
543543
if (featureStatus === undefined) {
@@ -547,9 +547,9 @@ export default {
547547
if (!baselineAvailability.isSupported(featureStatus)) {
548548
context.report({
549549
loc: child.loc,
550-
messageId: "notBaselineType",
550+
messageId: "notBaselineFunction",
551551
data: {
552-
type: child.name,
552+
function: child.name,
553553
availability: String(baselineAvailability.availability),
554554
},
555555
});

tests/rules/use-baseline.test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -308,9 +308,9 @@ ruleTester.run("use-baseline", rule, {
308308
code: "@supports (accent-color: auto) { a { accent-color: abs(20% - 10px); } }",
309309
errors: [
310310
{
311-
messageId: "notBaselineType",
311+
messageId: "notBaselineFunction",
312312
data: {
313-
type: "abs",
313+
function: "abs",
314314
availability: "widely",
315315
},
316316
line: 1,
@@ -340,9 +340,9 @@ ruleTester.run("use-baseline", rule, {
340340
code: "a { width: abs(20% - 100px); }",
341341
errors: [
342342
{
343-
messageId: "notBaselineType",
343+
messageId: "notBaselineFunction",
344344
data: {
345-
type: "abs",
345+
function: "abs",
346346
availability: "widely",
347347
},
348348
line: 1,
@@ -356,9 +356,9 @@ ruleTester.run("use-baseline", rule, {
356356
code: "a { color: color-mix(in hsl, hsl(200 50 80), coral 80%); }",
357357
errors: [
358358
{
359-
messageId: "notBaselineType",
359+
messageId: "notBaselineFunction",
360360
data: {
361-
type: "color-mix",
361+
function: "color-mix",
362362
availability: "widely",
363363
},
364364
line: 1,

tools/generate-baseline.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ function extractCSSFeatures(features) {
109109
const propertyValues = {};
110110
const atRules = {};
111111
const mediaConditions = {};
112-
const types = {};
112+
const functions = {};
113113
const selectors = {};
114114

115115
for (const [key, featureId] of Object.entries(features)) {
@@ -152,13 +152,13 @@ function extractCSSFeatures(features) {
152152
continue;
153153
}
154154

155-
// types
155+
// functions
156156
if ((match = cssTypePattern.exec(key)) !== null) {
157157
const type = match.groups.type;
158158
if (!(`${type}()` in mdnData.css.functions)) {
159159
continue;
160160
}
161-
types[type] = mapFeatureStatus(status);
161+
functions[type] = mapFeatureStatus(status);
162162
continue;
163163
}
164164

@@ -174,7 +174,7 @@ function extractCSSFeatures(features) {
174174
propertyValues,
175175
atRules,
176176
mediaConditions,
177-
types,
177+
functions,
178178
selectors,
179179
};
180180
}
@@ -210,7 +210,7 @@ export const BASELINE_FALSE = ${BASELINE_FALSE};
210210
export const properties = new Map(${JSON.stringify(Object.entries(cssFeatures.properties), null, "\t")});
211211
export const atRules = new Map(${JSON.stringify(Object.entries(cssFeatures.atRules), null, "\t")});
212212
export const mediaConditions = new Map(${JSON.stringify(Object.entries(cssFeatures.mediaConditions), null, "\t")});
213-
export const types = new Map(${JSON.stringify(Object.entries(cssFeatures.types), null, "\t")});
213+
export const functions = new Map(${JSON.stringify(Object.entries(cssFeatures.functions), null, "\t")});
214214
export const selectors = new Map(${JSON.stringify(Object.entries(cssFeatures.selectors), null, "\t")});
215215
export const propertyValues = new Map([${Object.entries(
216216
cssFeatures.propertyValues,

0 commit comments

Comments
 (0)