@atlaskit/eslint-plugin-design-system 10.10.2 → 10.11.1
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/CHANGELOG.md +18 -0
- package/dist/cjs/rules/no-legacy-icons/checks.js +2 -23
- package/dist/cjs/rules/no-legacy-icons/helpers.js +1 -31
- package/dist/cjs/rules/use-heading/config/index.js +2 -4
- package/dist/cjs/rules/use-heading/transformers/native-elements.js +15 -10
- package/dist/cjs/rules/use-primitives/config/index.js +0 -3
- package/dist/cjs/rules/use-primitives-text/config/index.js +2 -4
- package/dist/cjs/rules/use-primitives-text/transformers/emphasis-elements.js +14 -9
- package/dist/cjs/rules/use-primitives-text/transformers/paragraph-elements.js +28 -19
- package/dist/cjs/rules/use-primitives-text/transformers/span-elements.js +14 -9
- package/dist/cjs/rules/use-primitives-text/transformers/strong-elements.js +14 -9
- package/dist/cjs/rules/use-tokens-typography/config/index.js +2 -4
- package/dist/cjs/rules/use-tokens-typography/transformers/style-object.js +12 -6
- package/dist/es2019/rules/no-legacy-icons/checks.js +3 -24
- package/dist/es2019/rules/no-legacy-icons/helpers.js +0 -28
- package/dist/es2019/rules/use-heading/config/index.js +2 -4
- package/dist/es2019/rules/use-heading/transformers/native-elements.js +12 -7
- package/dist/es2019/rules/use-primitives/config/index.js +0 -3
- package/dist/es2019/rules/use-primitives-text/config/index.js +2 -4
- package/dist/es2019/rules/use-primitives-text/transformers/emphasis-elements.js +12 -7
- package/dist/es2019/rules/use-primitives-text/transformers/paragraph-elements.js +25 -15
- package/dist/es2019/rules/use-primitives-text/transformers/span-elements.js +12 -7
- package/dist/es2019/rules/use-primitives-text/transformers/strong-elements.js +12 -7
- package/dist/es2019/rules/use-tokens-typography/config/index.js +2 -4
- package/dist/es2019/rules/use-tokens-typography/transformers/style-object.js +9 -4
- package/dist/esm/rules/no-legacy-icons/checks.js +3 -24
- package/dist/esm/rules/no-legacy-icons/helpers.js +0 -30
- package/dist/esm/rules/use-heading/config/index.js +2 -4
- package/dist/esm/rules/use-heading/transformers/native-elements.js +15 -8
- package/dist/esm/rules/use-primitives/config/index.js +0 -3
- package/dist/esm/rules/use-primitives-text/config/index.js +2 -4
- package/dist/esm/rules/use-primitives-text/transformers/emphasis-elements.js +14 -7
- package/dist/esm/rules/use-primitives-text/transformers/paragraph-elements.js +28 -17
- package/dist/esm/rules/use-primitives-text/transformers/span-elements.js +14 -7
- package/dist/esm/rules/use-primitives-text/transformers/strong-elements.js +14 -7
- package/dist/esm/rules/use-tokens-typography/config/index.js +2 -4
- package/dist/esm/rules/use-tokens-typography/transformers/style-object.js +11 -4
- package/dist/types/rules/no-legacy-icons/helpers.d.ts +1 -6
- package/dist/types/rules/use-heading/config/index.d.ts +2 -1
- package/dist/types/rules/use-primitives/config/index.d.ts +1 -1
- package/dist/types/rules/use-primitives-text/config/index.d.ts +2 -1
- package/dist/types/rules/use-tokens-typography/config/index.d.ts +4 -3
- package/dist/types/rules/use-tokens-typography/utils.d.ts +0 -39
- package/dist/types-ts4.5/rules/no-legacy-icons/helpers.d.ts +1 -6
- package/dist/types-ts4.5/rules/use-heading/config/index.d.ts +2 -1
- package/dist/types-ts4.5/rules/use-primitives/config/index.d.ts +1 -1
- package/dist/types-ts4.5/rules/use-primitives-text/config/index.d.ts +2 -1
- package/dist/types-ts4.5/rules/use-tokens-typography/config/index.d.ts +4 -3
- package/dist/types-ts4.5/rules/use-tokens-typography/utils.d.ts +0 -39
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/eslint-plugin-design-system
|
|
2
2
|
|
|
3
|
+
## 10.11.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#120669](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120669)
|
|
8
|
+
[`9e1c531090ea4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9e1c531090ea4) -
|
|
9
|
+
Dropped support for `UNSAFE` icon props in new buttons, which have now been removed.
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
12
|
+
## 10.11.0
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- [#120359](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120359)
|
|
17
|
+
[`44b7939afb571`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/44b7939afb571) -
|
|
18
|
+
New rule config option `enableUnsafeAutofix` to switch between error or suggest autofixes for
|
|
19
|
+
`use-tokens-typography`, `use-primitives-text` and `use-heading`.
|
|
20
|
+
|
|
3
21
|
## 10.10.2
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -236,22 +236,12 @@ var createChecks = exports.createChecks = function createChecks(context) {
|
|
|
236
236
|
var newIcon = migrationMapObject === null || migrationMapObject === void 0 ? void 0 : migrationMapObject.newIcon;
|
|
237
237
|
var isNewIconMigratable = (0, _helpers.canAutoMigrateNewIconBasedOnSize)(migrationMapObject === null || migrationMapObject === void 0 || (_migrationMapObject$s = migrationMapObject.sizeGuidance) === null || _migrationMapObject$s === void 0 ? void 0 : _migrationMapObject$s.medium);
|
|
238
238
|
var isInNewButton = (0, _eslintCodemodUtils.isNodeOfType)(node.parent.parent.parent.name, 'JSXIdentifier') && newButtonImports.has(node.parent.parent.parent.name.name);
|
|
239
|
-
|
|
240
|
-
var UNSAFE_propName = null;
|
|
241
|
-
if (isInNewButton) {
|
|
242
|
-
var result = (0, _helpers.findUNSAFEProp)(node.parent.parent, node.parent.parent.parent);
|
|
243
|
-
UNSAFE_size = result.UNSAFE_size;
|
|
244
|
-
UNSAFE_propName = result.UNSAFE_propName;
|
|
245
|
-
}
|
|
246
|
-
if (newIcon && isInNewButton && isNewIconMigratable && UNSAFE_size !== 'large' && UNSAFE_size !== 'xlarge') {
|
|
239
|
+
if (newIcon && isInNewButton && isNewIconMigratable) {
|
|
247
240
|
(0, _helpers.createAutoMigrationError)(node, legacyIconImports[node.name].packageName, node.name, errorsAuto);
|
|
248
241
|
guidance[(0, _helpers.locToString)(node)] = (0, _helpers.createGuidance)(legacyIconImports[node.name].packageName, isInNewButton, 'medium');
|
|
249
|
-
} else if (
|
|
242
|
+
} else if (!newIcon || !isNewIconMigratable) {
|
|
250
243
|
(0, _helpers.createCantFindSuitableReplacementError)(node, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
251
244
|
guidance[(0, _helpers.locToString)(node)] = (0, _helpers.createGuidance)(legacyIconImports[node.name].packageName, isInNewButton);
|
|
252
|
-
} else if ((UNSAFE_size === 'large' || UNSAFE_size === 'xlarge') && UNSAFE_propName) {
|
|
253
|
-
(0, _helpers.createCantMigrateUnsafeProp)(node, UNSAFE_propName, UNSAFE_size, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
254
|
-
guidance[(0, _helpers.locToString)(node)] = (0, _helpers.createGuidance)(legacyIconImports[node.name].packageName, isInNewButton, UNSAFE_size);
|
|
255
245
|
} else if (!isInNewButton) {
|
|
256
246
|
(0, _helpers.createCantMigrateFunctionUnknownError)(node, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
257
247
|
guidance[(0, _helpers.locToString)(node)] = (0, _helpers.createGuidance)(legacyIconImports[node.name].packageName, isInNewButton);
|
|
@@ -279,15 +269,9 @@ var createChecks = exports.createChecks = function createChecks(context) {
|
|
|
279
269
|
var _node$parent2, _node$parent3, _size;
|
|
280
270
|
// Determine if inside a new button - if so:
|
|
281
271
|
// - Assume spread props are safe - still error if props explicitly set to unmigratable values
|
|
282
|
-
// - eventually: look for UNSAFE_iconBefore_size props on the parent button - if it's large/xlarge, fail
|
|
283
272
|
var insideNewButton = false;
|
|
284
|
-
var UNSAFE_propName = null;
|
|
285
|
-
var UNSAFE_size = null;
|
|
286
273
|
if (node.parent && (0, _eslintCodemodUtils.isNodeOfType)(node.parent, 'ArrowFunctionExpression') && (_node$parent2 = node.parent) !== null && _node$parent2 !== void 0 && (_node$parent2 = _node$parent2.parent) !== null && _node$parent2 !== void 0 && _node$parent2.parent && (0, _eslintCodemodUtils.isNodeOfType)(node.parent.parent.parent, 'JSXAttribute') && (0, _eslintCodemodUtils.isNodeOfType)(node.parent.parent.parent.name, 'JSXIdentifier') && (_node$parent3 = node.parent) !== null && _node$parent3 !== void 0 && (_node$parent3 = _node$parent3.parent) !== null && _node$parent3 !== void 0 && (_node$parent3 = _node$parent3.parent) !== null && _node$parent3 !== void 0 && _node$parent3.parent && (0, _eslintCodemodUtils.isNodeOfType)(node.parent.parent.parent.parent, 'JSXOpeningElement') && (0, _eslintCodemodUtils.isNodeOfType)(node.parent.parent.parent.parent.name, 'JSXIdentifier') && newButtonImports.has(node.parent.parent.parent.parent.name.name)) {
|
|
287
274
|
insideNewButton = true;
|
|
288
|
-
var result = (0, _helpers.findUNSAFEProp)(node.parent.parent.parent, node.parent.parent.parent.parent);
|
|
289
|
-
UNSAFE_size = result.UNSAFE_size;
|
|
290
|
-
UNSAFE_propName = result.UNSAFE_propName;
|
|
291
275
|
}
|
|
292
276
|
|
|
293
277
|
// Find size prop on node
|
|
@@ -350,11 +334,6 @@ var createChecks = exports.createChecks = function createChecks(context) {
|
|
|
350
334
|
(0, _helpers.createCantMigrateSizeUnknown)(node, errorsManual, legacyIconImports[name].packageName, name);
|
|
351
335
|
hasManualMigration = true;
|
|
352
336
|
}
|
|
353
|
-
// Check for unsafe size
|
|
354
|
-
if ((UNSAFE_size === 'large' || UNSAFE_size === 'xlarge') && (UNSAFE_propName === 'UNSAFE_iconAfter_size' || UNSAFE_propName === 'UNSAFE_iconBefore_size' || UNSAFE_propName === 'UNSAFE_size')) {
|
|
355
|
-
(0, _helpers.createCantMigrateUnsafeProp)(node, UNSAFE_propName, UNSAFE_size, legacyIconImports[name].packageName, name, errorsManual);
|
|
356
|
-
hasManualMigration = true;
|
|
357
|
-
}
|
|
358
337
|
// Do a set comparison - is requiredAttributesAfterSpread a subset of afterSpreadSet?
|
|
359
338
|
if (hasSpread === true && !Array.from(requiredAttributesAfterSpread).every(function (val) {
|
|
360
339
|
return afterSpreadSet.has(val);
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.locToString = exports.getMigrationMapObject = exports.getLiteralStringValue = exports.
|
|
8
|
+
exports.locToString = exports.getMigrationMapObject = exports.getLiteralStringValue = exports.createHelpers = exports.createGuidance = exports.createCantMigrateSpreadPropsError = exports.createCantMigrateSizeUnknown = exports.createCantMigrateReExportError = exports.createCantMigrateIdentifierError = exports.createCantMigrateFunctionUnknownError = exports.createCantMigrateColorError = exports.createCantFindSuitableReplacementError = exports.createAutoMigrationError = exports.canMigrateColor = exports.canAutoMigrateNewIconBasedOnSize = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
11
|
var _getImportName = require("../utils/get-import-name");
|
|
@@ -134,36 +134,6 @@ var createCantMigrateIdentifierError = exports.createCantMigrateIdentifierError
|
|
|
134
134
|
};
|
|
135
135
|
pushManualError(locToString(node), errors, myError, packageName, exportName);
|
|
136
136
|
};
|
|
137
|
-
var findUNSAFEProp = exports.findUNSAFEProp = function findUNSAFEProp(iconAttr, button) {
|
|
138
|
-
var UNSAFE_size = null;
|
|
139
|
-
var propName = iconAttr.name.name === 'iconAfter' || iconAttr.name.name === 'iconBefore' || iconAttr.name.name === 'icon' ? iconAttr.name.name : null;
|
|
140
|
-
var buttonAttributes = button.attributes;
|
|
141
|
-
var UNSAFE_propName = propName === 'icon' ? "UNSAFE_size" : propName ? "UNSAFE_".concat(propName, "_size") : null;
|
|
142
|
-
var UNSAFE_size_index = buttonAttributes.findIndex(function (x) {
|
|
143
|
-
return UNSAFE_propName && 'name' in x && x.name && x.name.name === UNSAFE_propName;
|
|
144
|
-
});
|
|
145
|
-
var unsafeAttribute = UNSAFE_size_index !== -1 ? buttonAttributes[UNSAFE_size_index] : null;
|
|
146
|
-
if (unsafeAttribute && (0, _eslintCodemodUtils.isNodeOfType)(unsafeAttribute, 'JSXAttribute') && unsafeAttribute.value && (0, _eslintCodemodUtils.isNodeOfType)(unsafeAttribute.value, 'Literal') && unsafeAttribute.value.value && ['small', 'large', 'xlarge'].includes(unsafeAttribute.value.value)) {
|
|
147
|
-
UNSAFE_size = unsafeAttribute.value.value;
|
|
148
|
-
} else if (unsafeAttribute && (0, _eslintCodemodUtils.isNodeOfType)(unsafeAttribute, 'JSXAttribute') && unsafeAttribute.value && (0, _eslintCodemodUtils.isNodeOfType)(unsafeAttribute.value, 'JSXExpressionContainer') && (0, _eslintCodemodUtils.isNodeOfType)(unsafeAttribute.value.expression, 'Literal') && ['small', 'large', 'xlarge'].includes(unsafeAttribute.value.expression.value)) {
|
|
149
|
-
UNSAFE_size = unsafeAttribute.value.expression.value;
|
|
150
|
-
}
|
|
151
|
-
return {
|
|
152
|
-
UNSAFE_size: UNSAFE_size,
|
|
153
|
-
UNSAFE_propName: UNSAFE_propName
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
var createCantMigrateUnsafeProp = exports.createCantMigrateUnsafeProp = function createCantMigrateUnsafeProp(node, propName, value, packageName, iconName, errors) {
|
|
157
|
-
var myError = {
|
|
158
|
-
node: node,
|
|
159
|
-
messageId: 'cantMigrateUnsafeProp',
|
|
160
|
-
data: {
|
|
161
|
-
propName: propName,
|
|
162
|
-
value: value
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
pushManualError(locToString(node), errors, myError, packageName, iconName);
|
|
166
|
-
};
|
|
167
137
|
var createCantFindSuitableReplacementError = exports.createCantFindSuitableReplacementError = function createCantFindSuitableReplacementError(node, importSource, iconName, errors, sizeIssue) {
|
|
168
138
|
var myError = {
|
|
169
139
|
node: node,
|
|
@@ -5,11 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getConfig = void 0;
|
|
7
7
|
var defaults = {
|
|
8
|
-
patterns: ['native-elements']
|
|
8
|
+
patterns: ['native-elements'],
|
|
9
|
+
enableUnsafeAutofix: false
|
|
9
10
|
};
|
|
10
11
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
11
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
12
|
-
// start with an empty object, then merge in the defaults, then merge in overrides.
|
|
13
|
-
// The empty object is returned, as well as modified in place
|
|
14
12
|
return Object.assign({}, defaults, overrides);
|
|
15
13
|
};
|
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.NativeElements = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
12
13
|
var _common = require("./common");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
17
18
|
var tagSizeMap = {
|
|
18
19
|
h1: 'xlarge',
|
|
19
20
|
h2: 'large',
|
|
@@ -33,17 +34,21 @@ var NativeElements = exports.NativeElements = {
|
|
|
33
34
|
})) {
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
var fix = NativeElements._fix(node, {
|
|
38
|
+
context: context,
|
|
39
|
+
config: config
|
|
40
|
+
});
|
|
41
|
+
context.report(_objectSpread({
|
|
37
42
|
node: node,
|
|
38
|
-
messageId: 'preferHeading'
|
|
43
|
+
messageId: 'preferHeading'
|
|
44
|
+
}, config.enableUnsafeAutofix ? {
|
|
45
|
+
fix: fix
|
|
46
|
+
} : {
|
|
39
47
|
suggest: [{
|
|
40
|
-
desc:
|
|
41
|
-
fix:
|
|
42
|
-
context: context,
|
|
43
|
-
config: config
|
|
44
|
-
})
|
|
48
|
+
desc: "Convert to Heading",
|
|
49
|
+
fix: fix
|
|
45
50
|
}]
|
|
46
|
-
});
|
|
51
|
+
}));
|
|
47
52
|
},
|
|
48
53
|
_check: function _check(node, _ref2) {
|
|
49
54
|
var config = _ref2.config;
|
|
@@ -8,8 +8,5 @@ var defaults = {
|
|
|
8
8
|
patterns: ['compiled-css-function']
|
|
9
9
|
};
|
|
10
10
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
11
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
12
|
-
// start with an empty object, then merge in the defaults, then merge in overrides.
|
|
13
|
-
// The empty object is returned, as well as modified in place
|
|
14
11
|
return Object.assign({}, defaults, overrides);
|
|
15
12
|
};
|
|
@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getConfig = void 0;
|
|
7
7
|
var defaults = {
|
|
8
8
|
patterns: ['paragraph-elements', 'span-elements', 'strong-elements', 'emphasis-elements'],
|
|
9
|
-
inheritColor: false
|
|
9
|
+
inheritColor: false,
|
|
10
|
+
enableUnsafeAutofix: false
|
|
10
11
|
};
|
|
11
12
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
12
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
13
|
-
// start with an empty object, then merge in the defaults, then merge in overrides.
|
|
14
|
-
// The empty object is returned, as well as modified in place
|
|
15
13
|
return Object.assign({}, defaults, overrides);
|
|
16
14
|
};
|
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.EmphasisElements = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
12
13
|
var _common = require("./common");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
17
18
|
var EmphasisElements = exports.EmphasisElements = {
|
|
18
19
|
lint: function lint(node, _ref) {
|
|
19
20
|
var context = _ref.context,
|
|
@@ -29,17 +30,21 @@ var EmphasisElements = exports.EmphasisElements = {
|
|
|
29
30
|
})) {
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
var fix = EmphasisElements._fix(node, {
|
|
34
|
+
context: context,
|
|
35
|
+
config: config
|
|
36
|
+
});
|
|
37
|
+
context.report(_objectSpread({
|
|
33
38
|
node: node.openingElement,
|
|
34
|
-
messageId: 'preferPrimitivesText'
|
|
39
|
+
messageId: 'preferPrimitivesText'
|
|
40
|
+
}, config.enableUnsafeAutofix ? {
|
|
41
|
+
fix: fix
|
|
42
|
+
} : {
|
|
35
43
|
suggest: [{
|
|
36
44
|
desc: "Convert to Text",
|
|
37
|
-
fix:
|
|
38
|
-
context: context,
|
|
39
|
-
config: config
|
|
40
|
-
})
|
|
45
|
+
fix: fix
|
|
41
46
|
}]
|
|
42
|
-
});
|
|
47
|
+
}));
|
|
43
48
|
},
|
|
44
49
|
_check: function _check(node, _ref2) {
|
|
45
50
|
var context = _ref2.context,
|
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.ParagraphElements = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
12
13
|
var _common = require("./common");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
17
18
|
var ParagraphElements = exports.ParagraphElements = {
|
|
18
19
|
lint: function lint(node, _ref) {
|
|
19
20
|
var context = _ref.context,
|
|
@@ -41,34 +42,42 @@ var ParagraphElements = exports.ParagraphElements = {
|
|
|
41
42
|
*/
|
|
42
43
|
var startLoc = (_refs$siblings$0$loc = refs.siblings[0].loc) === null || _refs$siblings$0$loc === void 0 ? void 0 : _refs$siblings$0$loc.start;
|
|
43
44
|
var endLoc = (_refs$siblings$loc = refs.siblings[refs.siblings.length - 1].loc) === null || _refs$siblings$loc === void 0 ? void 0 : _refs$siblings$loc.end;
|
|
44
|
-
|
|
45
|
+
var fix = ParagraphElements._fixMultiple(node, {
|
|
46
|
+
context: context,
|
|
47
|
+
config: config,
|
|
48
|
+
refs: refs
|
|
49
|
+
});
|
|
50
|
+
context.report(_objectSpread({
|
|
45
51
|
loc: startLoc && endLoc && {
|
|
46
52
|
start: startLoc,
|
|
47
53
|
end: endLoc
|
|
48
54
|
},
|
|
49
55
|
node: node.openingElement,
|
|
50
|
-
messageId: 'preferPrimitivesStackedText'
|
|
56
|
+
messageId: 'preferPrimitivesStackedText'
|
|
57
|
+
}, config.enableUnsafeAutofix ? {
|
|
58
|
+
fix: fix
|
|
59
|
+
} : {
|
|
51
60
|
suggest: [{
|
|
52
|
-
desc:
|
|
53
|
-
fix:
|
|
54
|
-
context: context,
|
|
55
|
-
config: config,
|
|
56
|
-
refs: refs
|
|
57
|
-
})
|
|
61
|
+
desc: "Convert to Text and Stack",
|
|
62
|
+
fix: fix
|
|
58
63
|
}]
|
|
59
|
-
});
|
|
64
|
+
}));
|
|
60
65
|
} else {
|
|
61
|
-
|
|
66
|
+
var _fix = ParagraphElements._fixSingle(node, {
|
|
67
|
+
context: context,
|
|
68
|
+
config: config
|
|
69
|
+
});
|
|
70
|
+
context.report(_objectSpread({
|
|
62
71
|
node: node,
|
|
63
|
-
messageId: 'preferPrimitivesText'
|
|
72
|
+
messageId: 'preferPrimitivesText'
|
|
73
|
+
}, config.enableUnsafeAutofix ? {
|
|
74
|
+
fix: _fix
|
|
75
|
+
} : {
|
|
64
76
|
suggest: [{
|
|
65
|
-
desc:
|
|
66
|
-
fix:
|
|
67
|
-
context: context,
|
|
68
|
-
config: config
|
|
69
|
-
})
|
|
77
|
+
desc: "Convert to Text",
|
|
78
|
+
fix: _fix
|
|
70
79
|
}]
|
|
71
|
-
});
|
|
80
|
+
}));
|
|
72
81
|
}
|
|
73
82
|
},
|
|
74
83
|
_check: function _check(node, _ref2) {
|
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.SpanElements = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
12
13
|
var _common = require("./common");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
17
18
|
var SpanElements = exports.SpanElements = {
|
|
18
19
|
lint: function lint(node, _ref) {
|
|
19
20
|
var context = _ref.context,
|
|
@@ -29,17 +30,21 @@ var SpanElements = exports.SpanElements = {
|
|
|
29
30
|
})) {
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
var fix = SpanElements._fix(node, {
|
|
34
|
+
context: context,
|
|
35
|
+
config: config
|
|
36
|
+
});
|
|
37
|
+
context.report(_objectSpread({
|
|
33
38
|
node: node.openingElement,
|
|
34
|
-
messageId: 'preferPrimitivesText'
|
|
39
|
+
messageId: 'preferPrimitivesText'
|
|
40
|
+
}, config.enableUnsafeAutofix ? {
|
|
41
|
+
fix: fix
|
|
42
|
+
} : {
|
|
35
43
|
suggest: [{
|
|
36
44
|
desc: "Convert to Text",
|
|
37
|
-
fix:
|
|
38
|
-
context: context,
|
|
39
|
-
config: config
|
|
40
|
-
})
|
|
45
|
+
fix: fix
|
|
41
46
|
}]
|
|
42
|
-
});
|
|
47
|
+
}));
|
|
43
48
|
},
|
|
44
49
|
_check: function _check(node, _ref2) {
|
|
45
50
|
var context = _ref2.context,
|
|
@@ -7,13 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.StrongElements = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
11
12
|
var ast = _interopRequireWildcard(require("../../../ast-nodes"));
|
|
12
13
|
var _common = require("./common");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
17
18
|
var StrongElements = exports.StrongElements = {
|
|
18
19
|
lint: function lint(node, _ref) {
|
|
19
20
|
var context = _ref.context,
|
|
@@ -29,17 +30,21 @@ var StrongElements = exports.StrongElements = {
|
|
|
29
30
|
})) {
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
+
var fix = StrongElements._fix(node, {
|
|
34
|
+
context: context,
|
|
35
|
+
config: config
|
|
36
|
+
});
|
|
37
|
+
context.report(_objectSpread({
|
|
33
38
|
node: node.openingElement,
|
|
34
|
-
messageId: 'preferPrimitivesText'
|
|
39
|
+
messageId: 'preferPrimitivesText'
|
|
40
|
+
}, config.enableUnsafeAutofix ? {
|
|
41
|
+
fix: fix
|
|
42
|
+
} : {
|
|
35
43
|
suggest: [{
|
|
36
44
|
desc: "Convert to Text",
|
|
37
|
-
fix:
|
|
38
|
-
context: context,
|
|
39
|
-
config: config
|
|
40
|
-
})
|
|
45
|
+
fix: fix
|
|
41
46
|
}]
|
|
42
|
-
});
|
|
47
|
+
}));
|
|
43
48
|
},
|
|
44
49
|
_check: function _check(node, _ref2) {
|
|
45
50
|
var context = _ref2.context,
|
|
@@ -20,11 +20,9 @@ var ruleSchema = exports.ruleSchema = {
|
|
|
20
20
|
};
|
|
21
21
|
var defaultConfig = {
|
|
22
22
|
failSilently: false,
|
|
23
|
-
shouldEnforceFallbacks: true
|
|
23
|
+
shouldEnforceFallbacks: true,
|
|
24
|
+
enableUnsafeAutofix: false
|
|
24
25
|
};
|
|
25
26
|
var getConfig = exports.getConfig = function getConfig(overrides) {
|
|
26
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
27
|
-
// start with an empty object, then merge in the defaults, then merge in overrides.
|
|
28
|
-
// The empty object is returned, as well as modified in place
|
|
29
27
|
return Object.assign({}, defaultConfig, overrides);
|
|
30
28
|
};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.StyleObject = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
9
|
var _eslintCodemodUtils = require("eslint-codemod-utils");
|
|
8
10
|
var _astNodes = require("../../../ast-nodes");
|
|
9
11
|
var _utils = require("../../ensure-design-token-usage/utils");
|
|
10
12
|
var _isNode = require("../../utils/is-node");
|
|
11
13
|
var _utils2 = require("../utils");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @repo/internal/react/require-jsdoc */
|
|
14
16
|
var StyleObject = exports.StyleObject = {
|
|
15
17
|
lint: function lint(node, _ref) {
|
|
16
18
|
var context = _ref.context,
|
|
@@ -152,17 +154,21 @@ var StyleObject = exports.StyleObject = {
|
|
|
152
154
|
fontFamilyReplacement: fontFamilyReplacement,
|
|
153
155
|
fontStyleReplacement: fontStyleReplacement
|
|
154
156
|
};
|
|
155
|
-
|
|
157
|
+
var fix = StyleObject._fix(fixerRefs, context);
|
|
158
|
+
context.report(_objectSpread({
|
|
156
159
|
node: fontSizeNode,
|
|
157
160
|
messageId: 'noRawTypographyValues',
|
|
158
161
|
data: {
|
|
159
162
|
payload: "fontSize:".concat(fontSizeRaw)
|
|
160
|
-
}
|
|
163
|
+
}
|
|
164
|
+
}, config.enableUnsafeAutofix ? {
|
|
165
|
+
fix: fix
|
|
166
|
+
} : {
|
|
161
167
|
suggest: [{
|
|
162
168
|
desc: "Convert to font token",
|
|
163
|
-
fix:
|
|
169
|
+
fix: fix
|
|
164
170
|
}]
|
|
165
|
-
});
|
|
171
|
+
}));
|
|
166
172
|
} else if (!matchingTokens.length) {
|
|
167
173
|
context.report({
|
|
168
174
|
node: fontSizeNode,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isNodeOfType } from 'eslint-codemod-utils';
|
|
2
|
-
import { canAutoMigrateNewIconBasedOnSize, canMigrateColor, createAutoMigrationError, createCantFindSuitableReplacementError, createCantMigrateColorError, createCantMigrateFunctionUnknownError, createCantMigrateIdentifierError, createCantMigrateReExportError, createCantMigrateSizeUnknown, createCantMigrateSpreadPropsError,
|
|
2
|
+
import { canAutoMigrateNewIconBasedOnSize, canMigrateColor, createAutoMigrationError, createCantFindSuitableReplacementError, createCantMigrateColorError, createCantMigrateFunctionUnknownError, createCantMigrateIdentifierError, createCantMigrateReExportError, createCantMigrateSizeUnknown, createCantMigrateSpreadPropsError, createGuidance, createHelpers, getMigrationMapObject, locToString } from './helpers';
|
|
3
3
|
import { isSize } from './migration-map-temp';
|
|
4
4
|
export const createChecks = context => {
|
|
5
5
|
//create global variables to be shared by the checks
|
|
@@ -168,22 +168,12 @@ export const createChecks = context => {
|
|
|
168
168
|
const newIcon = migrationMapObject === null || migrationMapObject === void 0 ? void 0 : migrationMapObject.newIcon;
|
|
169
169
|
const isNewIconMigratable = canAutoMigrateNewIconBasedOnSize(migrationMapObject === null || migrationMapObject === void 0 ? void 0 : (_migrationMapObject$s = migrationMapObject.sizeGuidance) === null || _migrationMapObject$s === void 0 ? void 0 : _migrationMapObject$s.medium);
|
|
170
170
|
const isInNewButton = isNodeOfType(node.parent.parent.parent.name, 'JSXIdentifier') && newButtonImports.has(node.parent.parent.parent.name.name);
|
|
171
|
-
|
|
172
|
-
let UNSAFE_propName = null;
|
|
173
|
-
if (isInNewButton) {
|
|
174
|
-
const result = findUNSAFEProp(node.parent.parent, node.parent.parent.parent);
|
|
175
|
-
UNSAFE_size = result.UNSAFE_size;
|
|
176
|
-
UNSAFE_propName = result.UNSAFE_propName;
|
|
177
|
-
}
|
|
178
|
-
if (newIcon && isInNewButton && isNewIconMigratable && UNSAFE_size !== 'large' && UNSAFE_size !== 'xlarge') {
|
|
171
|
+
if (newIcon && isInNewButton && isNewIconMigratable) {
|
|
179
172
|
createAutoMigrationError(node, legacyIconImports[node.name].packageName, node.name, errorsAuto);
|
|
180
173
|
guidance[locToString(node)] = createGuidance(legacyIconImports[node.name].packageName, isInNewButton, 'medium');
|
|
181
|
-
} else if (
|
|
174
|
+
} else if (!newIcon || !isNewIconMigratable) {
|
|
182
175
|
createCantFindSuitableReplacementError(node, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
183
176
|
guidance[locToString(node)] = createGuidance(legacyIconImports[node.name].packageName, isInNewButton);
|
|
184
|
-
} else if ((UNSAFE_size === 'large' || UNSAFE_size === 'xlarge') && UNSAFE_propName) {
|
|
185
|
-
createCantMigrateUnsafeProp(node, UNSAFE_propName, UNSAFE_size, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
186
|
-
guidance[locToString(node)] = createGuidance(legacyIconImports[node.name].packageName, isInNewButton, UNSAFE_size);
|
|
187
177
|
} else if (!isInNewButton) {
|
|
188
178
|
createCantMigrateFunctionUnknownError(node, legacyIconImports[node.name].packageName, node.name, errorsManual);
|
|
189
179
|
guidance[locToString(node)] = createGuidance(legacyIconImports[node.name].packageName, isInNewButton);
|
|
@@ -211,15 +201,9 @@ export const createChecks = context => {
|
|
|
211
201
|
var _node$parent2, _node$parent2$parent, _node$parent3, _node$parent3$parent, _node$parent3$parent$, _size;
|
|
212
202
|
// Determine if inside a new button - if so:
|
|
213
203
|
// - Assume spread props are safe - still error if props explicitly set to unmigratable values
|
|
214
|
-
// - eventually: look for UNSAFE_iconBefore_size props on the parent button - if it's large/xlarge, fail
|
|
215
204
|
let insideNewButton = false;
|
|
216
|
-
let UNSAFE_propName = null;
|
|
217
|
-
let UNSAFE_size = null;
|
|
218
205
|
if (node.parent && isNodeOfType(node.parent, 'ArrowFunctionExpression') && (_node$parent2 = node.parent) !== null && _node$parent2 !== void 0 && (_node$parent2$parent = _node$parent2.parent) !== null && _node$parent2$parent !== void 0 && _node$parent2$parent.parent && isNodeOfType(node.parent.parent.parent, 'JSXAttribute') && isNodeOfType(node.parent.parent.parent.name, 'JSXIdentifier') && (_node$parent3 = node.parent) !== null && _node$parent3 !== void 0 && (_node$parent3$parent = _node$parent3.parent) !== null && _node$parent3$parent !== void 0 && (_node$parent3$parent$ = _node$parent3$parent.parent) !== null && _node$parent3$parent$ !== void 0 && _node$parent3$parent$.parent && isNodeOfType(node.parent.parent.parent.parent, 'JSXOpeningElement') && isNodeOfType(node.parent.parent.parent.parent.name, 'JSXIdentifier') && newButtonImports.has(node.parent.parent.parent.parent.name.name)) {
|
|
219
206
|
insideNewButton = true;
|
|
220
|
-
const result = findUNSAFEProp(node.parent.parent.parent, node.parent.parent.parent.parent);
|
|
221
|
-
UNSAFE_size = result.UNSAFE_size;
|
|
222
|
-
UNSAFE_propName = result.UNSAFE_propName;
|
|
223
207
|
}
|
|
224
208
|
|
|
225
209
|
// Find size prop on node
|
|
@@ -273,11 +257,6 @@ export const createChecks = context => {
|
|
|
273
257
|
createCantMigrateSizeUnknown(node, errorsManual, legacyIconImports[name].packageName, name);
|
|
274
258
|
hasManualMigration = true;
|
|
275
259
|
}
|
|
276
|
-
// Check for unsafe size
|
|
277
|
-
if ((UNSAFE_size === 'large' || UNSAFE_size === 'xlarge') && (UNSAFE_propName === 'UNSAFE_iconAfter_size' || UNSAFE_propName === 'UNSAFE_iconBefore_size' || UNSAFE_propName === 'UNSAFE_size')) {
|
|
278
|
-
createCantMigrateUnsafeProp(node, UNSAFE_propName, UNSAFE_size, legacyIconImports[name].packageName, name, errorsManual);
|
|
279
|
-
hasManualMigration = true;
|
|
280
|
-
}
|
|
281
260
|
// Do a set comparison - is requiredAttributesAfterSpread a subset of afterSpreadSet?
|
|
282
261
|
if (hasSpread === true && !Array.from(requiredAttributesAfterSpread).every(val => afterSpreadSet.has(val)) && !insideNewButton) {
|
|
283
262
|
const missingProps = Array.from(requiredAttributesAfterSpread).filter(val => !afterSpreadSet.has(val));
|
|
@@ -118,34 +118,6 @@ export const createCantMigrateIdentifierError = (node, packageName, exportName,
|
|
|
118
118
|
};
|
|
119
119
|
pushManualError(locToString(node), errors, myError, packageName, exportName);
|
|
120
120
|
};
|
|
121
|
-
export const findUNSAFEProp = (iconAttr, button) => {
|
|
122
|
-
let UNSAFE_size = null;
|
|
123
|
-
const propName = iconAttr.name.name === 'iconAfter' || iconAttr.name.name === 'iconBefore' || iconAttr.name.name === 'icon' ? iconAttr.name.name : null;
|
|
124
|
-
const buttonAttributes = button.attributes;
|
|
125
|
-
const UNSAFE_propName = propName === 'icon' ? `UNSAFE_size` : propName ? `UNSAFE_${propName}_size` : null;
|
|
126
|
-
const UNSAFE_size_index = buttonAttributes.findIndex(x => UNSAFE_propName && 'name' in x && x.name && x.name.name === UNSAFE_propName);
|
|
127
|
-
let unsafeAttribute = UNSAFE_size_index !== -1 ? buttonAttributes[UNSAFE_size_index] : null;
|
|
128
|
-
if (unsafeAttribute && isNodeOfType(unsafeAttribute, 'JSXAttribute') && unsafeAttribute.value && isNodeOfType(unsafeAttribute.value, 'Literal') && unsafeAttribute.value.value && ['small', 'large', 'xlarge'].includes(unsafeAttribute.value.value)) {
|
|
129
|
-
UNSAFE_size = unsafeAttribute.value.value;
|
|
130
|
-
} else if (unsafeAttribute && isNodeOfType(unsafeAttribute, 'JSXAttribute') && unsafeAttribute.value && isNodeOfType(unsafeAttribute.value, 'JSXExpressionContainer') && isNodeOfType(unsafeAttribute.value.expression, 'Literal') && ['small', 'large', 'xlarge'].includes(unsafeAttribute.value.expression.value)) {
|
|
131
|
-
UNSAFE_size = unsafeAttribute.value.expression.value;
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
UNSAFE_size,
|
|
135
|
-
UNSAFE_propName
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
export const createCantMigrateUnsafeProp = (node, propName, value, packageName, iconName, errors) => {
|
|
139
|
-
const myError = {
|
|
140
|
-
node,
|
|
141
|
-
messageId: 'cantMigrateUnsafeProp',
|
|
142
|
-
data: {
|
|
143
|
-
propName,
|
|
144
|
-
value
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
pushManualError(locToString(node), errors, myError, packageName, iconName);
|
|
148
|
-
};
|
|
149
121
|
export const createCantFindSuitableReplacementError = (node, importSource, iconName, errors, sizeIssue) => {
|
|
150
122
|
const myError = {
|
|
151
123
|
node,
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
const defaults = {
|
|
2
|
-
patterns: ['native-elements']
|
|
2
|
+
patterns: ['native-elements'],
|
|
3
|
+
enableUnsafeAutofix: false
|
|
3
4
|
};
|
|
4
5
|
export const getConfig = overrides => {
|
|
5
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
6
|
-
// start with an empty object, then merge in the defaults, then merge in overrides.
|
|
7
|
-
// The empty object is returned, as well as modified in place
|
|
8
6
|
return Object.assign({}, defaults, overrides);
|
|
9
7
|
};
|