@swisspost/design-system-eslint 10.0.0-next.69 → 10.0.0-next.71
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/dist/rules/html/migrations/no-deprecated-breakpoints.d.ts +2 -2
- package/dist/rules/html/migrations/no-deprecated-breakpoints.d.ts.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-breakpoints.js +12 -3
- package/dist/rules/html/migrations/no-deprecated-breakpoints.js.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-gap-utilities.d.ts.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-gap-utilities.js +3 -1
- package/dist/rules/html/migrations/no-deprecated-gap-utilities.js.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-gutter-utilities.d.ts.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-gutter-utilities.js +3 -1
- package/dist/rules/html/migrations/no-deprecated-gutter-utilities.js.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-spacing-utilities.d.ts.map +1 -1
- package/dist/rules/html/migrations/no-deprecated-spacing-utilities.js +6 -1
- package/dist/rules/html/migrations/no-deprecated-spacing-utilities.js.map +1 -1
- package/dist/utils/create-class-update-rule.d.ts +7 -1
- package/dist/utils/create-class-update-rule.d.ts.map +1 -1
- package/dist/utils/create-class-update-rule.js +48 -38
- package/dist/utils/create-class-update-rule.js.map +1 -1
- package/dist/utils/two-phases-classes-update.d.ts +5 -1
- package/dist/utils/two-phases-classes-update.d.ts.map +1 -1
- package/dist/utils/two-phases-classes-update.js +15 -6
- package/dist/utils/two-phases-classes-update.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const mutationsPhase1: Record<string, [string, string]>;
|
|
2
|
-
export declare const mutationsPhase2: Record<string, [string, string]>;
|
|
1
|
+
export declare const mutationsPhase1: Record<string, [string, string, boolean?]>;
|
|
2
|
+
export declare const mutationsPhase2: Record<string, [string, string, boolean?]>;
|
|
3
3
|
export declare const namePhase1 = "no-deprecated-breakpoints-phase-1";
|
|
4
4
|
export declare const namePhase2 = "no-deprecated-breakpoints-phase-2";
|
|
5
5
|
export declare const rulePhase1: import("@typescript-eslint/utils/ts-eslint").RuleModule<string, [], import("../../../utils/create-rule").RuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-breakpoints.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-breakpoints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"no-deprecated-breakpoints.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-breakpoints.ts"],"names":[],"mappings":"AAuJA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAM,CAAC;AAE9E,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAM,CAAC;AAqC9E,eAAO,MAAM,UAAU,sCAAsC,CAAC;AAC9D,eAAO,MAAM,UAAU,sCAAsC,CAAC;AAE9D,eAAO,MAAM,UAAU,+KAOrB,CAAC;AAEH,eAAO,MAAM,UAAU,+KAOrB,CAAC"}
|
|
@@ -130,11 +130,16 @@ const classesConfig = {
|
|
|
130
130
|
},
|
|
131
131
|
};
|
|
132
132
|
// Breakpoint changes
|
|
133
|
+
// 'rg' → 'sm' and 'sm' → 'xs' are reported but not auto-fixed: after renaming 'rg' → 'sm',
|
|
134
|
+
// the result would be picked up by the 'sm' → 'xs' rule and renamed to the wrong final value.
|
|
135
|
+
// Only 'xxl' → 'xl' is safe to auto-fix.
|
|
133
136
|
const breakpointMap = {
|
|
134
137
|
sm: 'xs',
|
|
135
138
|
rg: 'sm',
|
|
136
139
|
xxl: 'xl',
|
|
137
140
|
};
|
|
141
|
+
// Both 'rg' and 'sm' create a chain collision when auto-fixed.
|
|
142
|
+
const manualOnlyBreakpoints = new Set(['rg', 'sm']);
|
|
138
143
|
const messagesPhase1 = {};
|
|
139
144
|
exports.mutationsPhase1 = {};
|
|
140
145
|
const messagesPhase2 = {};
|
|
@@ -149,10 +154,14 @@ for (const type in classesConfig) {
|
|
|
149
154
|
const oldClass = `${prefix}-${breakpoint}-${suffix}`;
|
|
150
155
|
const tempClass = `${tempPrefix}${prefix}-${breakpointMap[breakpoint]}-${suffix}`;
|
|
151
156
|
const newClass = `${prefix}-${breakpointMap[breakpoint]}-${suffix}`;
|
|
157
|
+
const isConflicting = manualOnlyBreakpoints.has(breakpoint);
|
|
152
158
|
const keyPhase1 = `deprecatedBreakpointsPhase1_${index}`;
|
|
153
|
-
messagesPhase1[keyPhase1] =
|
|
154
|
-
`The "${oldClass}" class is deprecated. Please replace it with "${newClass}"
|
|
155
|
-
|
|
159
|
+
messagesPhase1[keyPhase1] = isConflicting
|
|
160
|
+
? `The "${oldClass}" class is deprecated. Please replace it with "${newClass}". ⚠️ This cannot be auto-fixed — rename it manually to avoid a chain collision.`
|
|
161
|
+
: `The "${oldClass}" class is deprecated. Please replace it with "${newClass}".`;
|
|
162
|
+
exports.mutationsPhase1[keyPhase1] = isConflicting
|
|
163
|
+
? [oldClass, newClass, true]
|
|
164
|
+
: [oldClass, tempClass];
|
|
156
165
|
const keyPhase2 = `deprecatedBreakpointsPhase2_${index}`;
|
|
157
166
|
messagesPhase2[keyPhase2] =
|
|
158
167
|
`The "${oldClass}" class is deprecated. Please replace it with "${newClass}".`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-breakpoints.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-breakpoints.ts"],"names":[],"mappings":";;;AAAA,sFAAgF;AAShF,MAAM,aAAa,GAAkB;IACnC,OAAO;IACP,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAChD;IACD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;KAC/C;IACD,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC;QACxC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACxB;IACD,UAAU;IACV,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACxB;IACD,oBAAoB,EAAE;QACpB,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC1F,MAAM,EAAE;YACN,MAAM;YACN,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,eAAe;YACf,SAAS;YACT,aAAa;YACb,OAAO;YACP,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,MAAM;YACN,aAAa;YACb,OAAO;YACP,cAAc;SACf;KACF;IACD,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;QAC9B,MAAM,EAAE;YACN,MAAM;YACN,EAAE;YACF,EAAE;YACF,EAAE;YACF,GAAG;YACH,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,eAAe;YACf,SAAS;YACT,aAAa;YACb,OAAO;YACP,KAAK;YACL,YAAY;YACZ,YAAY;YACZ,MAAM;YACN,aAAa;YACb,OAAO;YACP,cAAc;SACf;KACF;IACD,OAAO;IACP,aAAa,EAAE;QACb,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,CAAC;KAC3D;IACD,WAAW,EAAE;QACX,MAAM,EAAE,CAAC,iBAAiB,CAAC;QAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAClE;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,CAAC,eAAe,CAAC;QACzB,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;KACnE;IACD,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;KAC1D;IACD,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC;KAC9F;IACD,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC;KAC5C;IACD,kBAAkB;IAClB,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;KACjC;IACD,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;KAClC;IACD,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,GAAG,CAAC;QACb,MAAM,EAAE;YACN,MAAM;YACN,QAAQ;YACR,cAAc;YACd,OAAO;YACP,MAAM;YACN,aAAa;YACb,OAAO;YACP,YAAY;YACZ,WAAW;YACX,MAAM;YACN,aAAa;SACd;KACF;CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,aAAa,GAA2B;IAC5C,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAA2B,EAAE,CAAC;AACrC,QAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"no-deprecated-breakpoints.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-breakpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-gap-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gap-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"no-deprecated-gap-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gap-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,IAAI,EAAE,aAMlB,CAAC;AAEF,eAAO,MAAM,KAAK;;;GAchB,CAAC"}
|
|
@@ -5,7 +5,9 @@ const common_data_1 = require("../../../utils/common-data");
|
|
|
5
5
|
const two_phases_classes_update_1 = require("../../../utils/two-phases-classes-update");
|
|
6
6
|
// Class names
|
|
7
7
|
const classNames = ['gap-', 'column-gap-', 'row-gap-'];
|
|
8
|
-
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), common_data_1.bootstrapSizeMap, 'deprecatedGapUtilities'
|
|
8
|
+
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), common_data_1.bootstrapSizeMap, 'deprecatedGapUtilities',
|
|
9
|
+
// '1' → '4' and '4' → '24' form a chain collision: both are reported but not auto-fixed.
|
|
10
|
+
new Set(['1', '4']));
|
|
9
11
|
exports.rules = (0, two_phases_classes_update_1.createTwoPhasesClassUpdateRule)({
|
|
10
12
|
name: 'no-deprecated-gap-utilities',
|
|
11
13
|
phases: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-gap-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gap-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1C,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,8BAAgB,EAChB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"no-deprecated-gap-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gap-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1C,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,8BAAgB,EAChB,wBAAwB;AACxB,yFAAyF;AACzF,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACpB,CAAC;AAEW,QAAA,KAAK,GAAG,IAAA,0DAA8B,EAAC;IAClD,IAAI,EAAE,6BAA6B;IACnC,MAAM,EAAE;QACN;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,mHAAmH;SACtH;QACD;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,4GAA4G;SAC/G;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-gutter-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gutter-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"no-deprecated-gutter-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gutter-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,IAAI,EAAE,aAMlB,CAAC;AAEF,eAAO,MAAM,KAAK;;;GAchB,CAAC"}
|
|
@@ -5,7 +5,9 @@ const common_data_1 = require("../../../utils/common-data");
|
|
|
5
5
|
const two_phases_classes_update_1 = require("../../../utils/two-phases-classes-update");
|
|
6
6
|
// Class names
|
|
7
7
|
const classNames = ['g-', 'gx-', 'gy-'];
|
|
8
|
-
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), common_data_1.bootstrapSizeMap, 'deprecatedGutterUtilities'
|
|
8
|
+
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), common_data_1.bootstrapSizeMap, 'deprecatedGutterUtilities',
|
|
9
|
+
// '1' → '4' and '4' → '24' form a chain collision: both are reported but not auto-fixed.
|
|
10
|
+
new Set(['1', '4']));
|
|
9
11
|
exports.rules = (0, two_phases_classes_update_1.createTwoPhasesClassUpdateRule)({
|
|
10
12
|
name: 'no-deprecated-gutter-utilities',
|
|
11
13
|
phases: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-gutter-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gutter-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3B,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,8BAAgB,EAChB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"no-deprecated-gutter-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-gutter-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3B,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,8BAAgB,EAChB,2BAA2B;AAC3B,yFAAyF;AACzF,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACpB,CAAC;AAEW,QAAA,KAAK,GAAG,IAAA,0DAA8B,EAAC;IAClD,IAAI,EAAE,gCAAgC;IACtC,MAAM,EAAE;QACN;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,sHAAsH;SACzH;QACD;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,+GAA+G;SAClH;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-spacing-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-spacing-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAwClD,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"no-deprecated-spacing-utilities.d.ts","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-spacing-utilities.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EACd,MAAM,0CAA0C,CAAC;AAwClD,eAAO,MAAM,IAAI,EAAE,aASlB,CAAC;AAEF,eAAO,MAAM,KAAK;;;GAchB,CAAC"}
|
|
@@ -39,7 +39,12 @@ const classValuesMap = {
|
|
|
39
39
|
'giant': 80,
|
|
40
40
|
'bigger-giant': 80,
|
|
41
41
|
};
|
|
42
|
-
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), classValuesMap, 'deprecatedSpacingUtilities'
|
|
42
|
+
exports.data = (0, two_phases_classes_update_1.setUpClassesMutations)((0, two_phases_classes_update_1.arrayToMap)(classNames), classValuesMap, 'deprecatedSpacingUtilities',
|
|
43
|
+
// These values form chain collisions and are reported but not auto-fixed:
|
|
44
|
+
// '1' → '4' → '24'
|
|
45
|
+
// 'hair' → '1' → '4' → '24'
|
|
46
|
+
// 'micro'→ '4' → '24'
|
|
47
|
+
new Set(['1', '4', 'hair', 'micro']));
|
|
43
48
|
exports.rules = (0, two_phases_classes_update_1.createTwoPhasesClassUpdateRule)({
|
|
44
49
|
name: 'no-deprecated-spacing-utilities',
|
|
45
50
|
phases: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-deprecated-spacing-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-spacing-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG;IACjB,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,2CAA2C;AAC3C,MAAM,cAAc,GAA2B;IAC7C,GAAG,8BAAgB;IACnB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;CACnB,CAAC;AAEW,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,cAAc,EACd,4BAA4B,
|
|
1
|
+
{"version":3,"file":"no-deprecated-spacing-utilities.js","sourceRoot":"","sources":["../../../../src/rules/html/migrations/no-deprecated-spacing-utilities.ts"],"names":[],"mappings":";;;AAAA,4DAA8D;AAC9D,wFAKkD;AAElD,cAAc;AACd,MAAM,UAAU,GAAG;IACjB,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,2CAA2C;AAC3C,MAAM,cAAc,GAA2B;IAC7C,GAAG,8BAAgB;IACnB,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;CACnB,CAAC;AAEW,QAAA,IAAI,GAAkB,IAAA,iDAAqB,EACtD,IAAA,sCAAU,EAAC,UAAU,CAAC,EACtB,cAAc,EACd,4BAA4B;AAC5B,0EAA0E;AAC1E,wBAAwB;AACxB,8BAA8B;AAC9B,wBAAwB;AACxB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CACrC,CAAC;AAEW,QAAA,KAAK,GAAG,IAAA,0DAA8B,EAAC;IAClD,IAAI,EAAE,iCAAiC;IACvC,MAAM,EAAE;QACN;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,gIAAgI;SACnI;QACD;YACE,GAAG,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,WAAW,EACT,yHAAyH;SAC5H;KACF;CACF,CAAC,CAAC"}
|
|
@@ -7,7 +7,13 @@ export interface RuleConfigBase {
|
|
|
7
7
|
export interface PhaseConfig<T> {
|
|
8
8
|
description: string;
|
|
9
9
|
messages: T;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Tuple of [oldClass, newClass, manualOnly?].
|
|
12
|
+
* When `manualOnly` is `true` the rule reports the violation but provides no autofix,
|
|
13
|
+
* because applying the fix would create a chain collision with another migration rule.
|
|
14
|
+
* Users must migrate these classes by hand.
|
|
15
|
+
*/
|
|
16
|
+
mutations: Record<keyof T, [string, string, boolean?]>;
|
|
11
17
|
}
|
|
12
18
|
export interface PhaseConfigWrapper {
|
|
13
19
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-class-update-rule.d.ts","sourceRoot":"","sources":["../../src/utils/create-class-update-rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,KAAK,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-class-update-rule.d.ts","sourceRoot":"","sources":["../../src/utils/create-class-update-rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B,KAAK,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC;IACZ;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,EAAE,CAAC;CACL;AAED,KAAK,qBAAqB,CAAC,CAAC,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAChE,KAAK,4BAA4B,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAExE,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpE,QAAQ,qBAAqB,CAAC,CAAC,CAAC,qKA2G9B,CAAC;AAEL,eAAO,MAAM,4BAA4B,GAAI,QAAQ,4BAA4B;;;;CAUhF,CAAC"}
|
|
@@ -23,22 +23,27 @@ const createClassUpdateRule = (config) => (0, create_rule_1.createRule)({
|
|
|
23
23
|
return {
|
|
24
24
|
tag(node) {
|
|
25
25
|
const $node = node.toCheerio();
|
|
26
|
-
Object.entries(config.mutations).forEach(([messageId, [oldClass, newClass]]) => {
|
|
26
|
+
Object.entries(config.mutations).forEach(([messageId, [oldClass, newClass, manualOnly]]) => {
|
|
27
27
|
// Simple HTML class
|
|
28
28
|
if ($node.hasClass(oldClass)) {
|
|
29
29
|
context.report({
|
|
30
30
|
messageId,
|
|
31
31
|
loc: node.loc,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
// Reported but not auto-fixed — the renamed class would chain into another rule.
|
|
33
|
+
...(manualOnly
|
|
34
|
+
? {}
|
|
35
|
+
: {
|
|
36
|
+
fix(fixer) {
|
|
37
|
+
const fixedNode = $node.removeClass(oldClass);
|
|
38
|
+
if (newClass)
|
|
39
|
+
fixedNode.addClass(newClass);
|
|
40
|
+
// Remove empty class attribute
|
|
41
|
+
if (!fixedNode.attr('class')?.trim())
|
|
42
|
+
fixedNode.removeAttr('class');
|
|
43
|
+
const fixedHtml = (0, empty_attrs_remover_1.removeEmptyAttrs)($node.toString(), context, node);
|
|
44
|
+
return fixer.replaceTextRange(node.range, fixedHtml);
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
42
47
|
});
|
|
43
48
|
return;
|
|
44
49
|
}
|
|
@@ -57,33 +62,38 @@ const createClassUpdateRule = (config) => (0, create_rule_1.createRule)({
|
|
|
57
62
|
context.report({
|
|
58
63
|
loc: node.loc,
|
|
59
64
|
messageId,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
65
|
+
// Reported but not auto-fixed in dynamic bindings: chain collision risk.
|
|
66
|
+
...(manualOnly
|
|
67
|
+
? {}
|
|
68
|
+
: {
|
|
69
|
+
fix(fixer) {
|
|
70
|
+
if (isClassBinding) {
|
|
71
|
+
const fixedAttrName = `[class.${newClass}]`;
|
|
72
|
+
const oldAttrValue = $node.attr(attrName);
|
|
73
|
+
if (!oldAttrValue)
|
|
74
|
+
return null;
|
|
75
|
+
$node.attr(fixedAttrName, oldAttrValue);
|
|
76
|
+
$node.removeAttr(`[class.${oldClass}]`);
|
|
77
|
+
const fixedHtml = (0, empty_attrs_remover_1.removeEmptyAttrs)($node.toString(), context, node);
|
|
78
|
+
return fixer.replaceTextRange(node.range, fixedHtml);
|
|
79
|
+
}
|
|
80
|
+
const raw = $node.attr(attrName)?.trim();
|
|
81
|
+
if (!raw)
|
|
82
|
+
return null;
|
|
83
|
+
const newValue = (0, class_binding_helpers_1.getNewAttrValue)($node, attrName, oldClass, newClass, raw);
|
|
84
|
+
if (newValue === null)
|
|
85
|
+
return null;
|
|
86
|
+
const targetAttr = attrName;
|
|
87
|
+
if (newValue === '')
|
|
88
|
+
$node.removeAttr(targetAttr);
|
|
89
|
+
else
|
|
90
|
+
$node.attr(targetAttr, newValue);
|
|
91
|
+
if (isNgClass && attrName !== targetAttr)
|
|
92
|
+
$node.removeAttr(attrName);
|
|
93
|
+
const fixedHtml = (0, empty_attrs_remover_1.removeEmptyAttrs)($node.toString(), context, node);
|
|
94
|
+
return fixer.replaceTextRange(node.range, fixedHtml);
|
|
95
|
+
},
|
|
96
|
+
}),
|
|
87
97
|
});
|
|
88
98
|
}
|
|
89
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-class-update-rule.js","sourceRoot":"","sources":["../../src/utils/create-class-update-rule.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAG3C,6DAAsE;AACtE,2DAAoE;AACpE,mEAA+E;AAC/E,+DAAyD;
|
|
1
|
+
{"version":3,"file":"create-class-update-rule.js","sourceRoot":"","sources":["../../src/utils/create-class-update-rule.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAG3C,6DAAsE;AACtE,2DAAoE;AACpE,mEAA+E;AAC/E,+DAAyD;AAgClD,MAAM,qBAAqB,GAAG,CACnC,MAAgC,EAChC,EAAE,CACF,IAAA,wBAAU,EAAC;IACT,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,GAAG,EAAE,MAAM;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;QAC9B,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,GAAG,CAAC,IAAc;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAE/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE;oBACzF,oBAAoB;oBACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,MAAM,CAAC;4BACb,SAAS;4BACT,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,iFAAiF;4BACjF,GAAG,CAAC,UAAU;gCACZ,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,GAAG,CAAC,KAAK;wCACP,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;wCAC9C,IAAI,QAAQ;4CAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wCAE3C,+BAA+B;wCAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;4CAAE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wCAEpE,MAAM,SAAS,GAAG,IAAA,sCAAgB,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wCACpE,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oCACvD,CAAC;iCACF,CAAC;yBACP,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,8EAA8E;oBAC9E,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;wBAAE,OAAO;oBAE9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;wBAAE,OAAO;oBAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiC,CAAC;oBAEvD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAEnC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAA,2CAAmB,EAChE,QAAQ,EACR,KAAK,EACL,QAAQ,CACT,CAAC;wBAEF,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;4BAAE,SAAS;wBAExD,OAAO,CAAC,MAAM,CAAC;4BACb,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,SAAS;4BACT,yEAAyE;4BACzE,GAAG,CAAC,UAAU;gCACZ,CAAC,CAAC,EAAE;gCACJ,CAAC,CAAC;oCACE,GAAG,CAAC,KAAK;wCACP,IAAI,cAAc,EAAE,CAAC;4CACnB,MAAM,aAAa,GAAG,UAAU,QAAQ,GAAG,CAAC;4CAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4CAC1C,IAAI,CAAC,YAAY;gDAAE,OAAO,IAAI,CAAC;4CAE/B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;4CACxC,KAAK,CAAC,UAAU,CAAC,UAAU,QAAQ,GAAG,CAAC,CAAC;4CAExC,MAAM,SAAS,GAAG,IAAA,sCAAgB,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;4CACpE,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wCACvD,CAAC;wCAED,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;wCACzC,IAAI,CAAC,GAAG;4CAAE,OAAO,IAAI,CAAC;wCAEtB,MAAM,QAAQ,GAAG,IAAA,uCAAe,EAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wCAC3E,IAAI,QAAQ,KAAK,IAAI;4CAAE,OAAO,IAAI,CAAC;wCAEnC,MAAM,UAAU,GAAG,QAAQ,CAAC;wCAE5B,IAAI,QAAQ,KAAK,EAAE;4CAAE,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;;4CAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;wCAEtC,IAAI,SAAS,IAAI,QAAQ,KAAK,UAAU;4CAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wCAErE,MAAM,SAAS,GAAG,IAAA,sCAAgB,EAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wCACpE,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oCACvD,CAAC;iCACF,CAAC;yBACP,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AA5GQ,QAAA,qBAAqB,yBA4G7B;AAEE,MAAM,4BAA4B,GAAG,CAAC,MAAoC,EAAE,EAAE;IACnF,MAAM,IAAI,GAAG,IAAA,mDAA8B,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAA,6BAAqB,EAAC;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,IAAA,iDAA6B,EAAC,MAAM,CAAC,UAAU,CAAC;QAC1D,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC,CAAC;AAVW,QAAA,4BAA4B,gCAUvC"}
|
|
@@ -14,8 +14,12 @@ export declare function arrayToMap(array: Array<string | number>): Record<string
|
|
|
14
14
|
* - Second, migrate all `_tmp-newClassName` to `newClassName`
|
|
15
15
|
*
|
|
16
16
|
* This ensures that we don't get any deprecation errors when running the tests on those identical classes
|
|
17
|
+
*
|
|
18
|
+
* @param conflictingOldValues - A set of old class value tokens (e.g. `'1'`, `'hair'`) whose
|
|
19
|
+
* replacement would collide with another migration rule when ESLint loops the fix pass.
|
|
20
|
+
* These classes are flagged but **not auto-fixed** — users must migrate them by hand.
|
|
17
21
|
*/
|
|
18
|
-
export declare function setUpClassesMutations(classNamesMap: Record<string, string | number>, classValuesMap: Record<string, string | number>, messageId: string): TwoPhasesData;
|
|
22
|
+
export declare function setUpClassesMutations(classNamesMap: Record<string, string | number>, classValuesMap: Record<string, string | number>, messageId: string, conflictingOldValues?: ReadonlySet<string>): TwoPhasesData;
|
|
19
23
|
export declare const createTwoPhasesClassUpdateRule: <T extends RuleMessages, U extends RuleMessages>(config: TwoPhaseRuleConfig<T, U>) => {
|
|
20
24
|
name: string;
|
|
21
25
|
rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<string, [], import("./create-rule").RuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-phases-classes-update.d.ts","sourceRoot":"","sources":["../../src/utils/two-phases-classes-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEhG,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,UAAU,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IACvD,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACpF;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAQzF;AAED
|
|
1
|
+
{"version":3,"file":"two-phases-classes-update.d.ts","sourceRoot":"","sources":["../../src/utils/two-phases-classes-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEhG,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,UAAU,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IACvD,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACpF;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAQzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,oBAAoB,GAAE,WAAW,CAAC,MAAM,CAAa,GACpD,aAAa,CA2Df;AAED,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,YAAY,EAC3F,QAAQ,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;;;GAiBjC,CAAC"}
|
|
@@ -19,8 +19,12 @@ function arrayToMap(array) {
|
|
|
19
19
|
* - Second, migrate all `_tmp-newClassName` to `newClassName`
|
|
20
20
|
*
|
|
21
21
|
* This ensures that we don't get any deprecation errors when running the tests on those identical classes
|
|
22
|
+
*
|
|
23
|
+
* @param conflictingOldValues - A set of old class value tokens (e.g. `'1'`, `'hair'`) whose
|
|
24
|
+
* replacement would collide with another migration rule when ESLint loops the fix pass.
|
|
25
|
+
* These classes are flagged but **not auto-fixed** — users must migrate them by hand.
|
|
22
26
|
*/
|
|
23
|
-
function setUpClassesMutations(classNamesMap, classValuesMap, messageId) {
|
|
27
|
+
function setUpClassesMutations(classNamesMap, classValuesMap, messageId, conflictingOldValues = new Set()) {
|
|
24
28
|
const messagesPhase1 = {};
|
|
25
29
|
const mutationsPhase1 = {};
|
|
26
30
|
const messagesPhase2 = {};
|
|
@@ -36,15 +40,20 @@ function setUpClassesMutations(classNamesMap, classValuesMap, messageId) {
|
|
|
36
40
|
const finalNewClass = classNamesMap[className] + bp + classValuesMap[classValue];
|
|
37
41
|
// Add the index to the tempClass to avoid issues with having the wrong error msg when running tests
|
|
38
42
|
const tempClass = tempPrefix + index + finalNewClass;
|
|
43
|
+
const isConflicting = conflictingOldValues.has(classValue);
|
|
39
44
|
const keyPhase1 = `${messageId}Phase1_${index}`;
|
|
40
|
-
messagesPhase1[keyPhase1] =
|
|
41
|
-
`The "${oldClass}" class is deprecated. Please replace it with "${finalNewClass}"
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
messagesPhase1[keyPhase1] = isConflicting
|
|
46
|
+
? `The "${oldClass}" class is deprecated. Please replace it with "${finalNewClass}". ⚠️ This cannot be auto-fixed — rename it manually to avoid a chain collision.`
|
|
47
|
+
: `The "${oldClass}" class is deprecated. Please replace it with "${finalNewClass}".`;
|
|
48
|
+
// Conflicting values are reported but not auto-fixed — the renamed class would be
|
|
49
|
+
// picked up by another rule and renamed again to the wrong final value.
|
|
50
|
+
mutationsPhase1[keyPhase1] = isConflicting
|
|
51
|
+
? [oldClass, finalNewClass, true]
|
|
52
|
+
: [oldClass, tempClass];
|
|
44
53
|
const keyPhase2 = `${messageId}Phase2_${index}`;
|
|
45
54
|
messagesPhase2[keyPhase2] =
|
|
46
55
|
`The "${oldClass}" class is deprecated. Please replace it with "${finalNewClass}".`;
|
|
47
|
-
//
|
|
56
|
+
// Phase-2 entry only matters for non-conflicting values (conflicting ones never get a temp class)
|
|
48
57
|
mutationsPhase2[keyPhase2] = [tempClass, finalNewClass];
|
|
49
58
|
index++;
|
|
50
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-phases-classes-update.js","sourceRoot":"","sources":["../../src/utils/two-phases-classes-update.ts"],"names":[],"mappings":";;;AAeA,gCAQC;
|
|
1
|
+
{"version":3,"file":"two-phases-classes-update.js","sourceRoot":"","sources":["../../src/utils/two-phases-classes-update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swisspost/design-system-eslint",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "10.0.0-next.
|
|
4
|
+
"version": "10.0.0-next.71",
|
|
5
5
|
"description": "A set of custom ESLint rules to help keeping projects using the Swiss Post Design System up-to-date.",
|
|
6
6
|
"author": "Swiss Post <design-system@post.ch>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@eslint/js": "9.19.0",
|
|
37
37
|
"@types/eslint-scope": "3.7.7",
|
|
38
|
-
"@types/jest": "
|
|
38
|
+
"@types/jest": "30.0.0",
|
|
39
39
|
"@typescript-eslint/rule-tester": "8.49.0",
|
|
40
40
|
"concurrently": "9.2.1",
|
|
41
41
|
"domhandler": "5.0.3",
|