Skip to content

Commit d6e9059

Browse files
committed
[Refactor] context.getSource -> sourceCode.getText
1 parent 65f10f9 commit d6e9059

37 files changed

+145
-122
lines changed

lib/rules/boolean-prop-naming.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ const propsUtil = require('../util/props');
1313
const docsUrl = require('../util/docsUrl');
1414
const propWrapperUtil = require('../util/propWrapper');
1515
const report = require('../util/report');
16-
const getSourceCode = require('../util/eslint').getSourceCode;
16+
const eslintUtil = require('../util/eslint');
17+
18+
const getSourceCode = eslintUtil.getSourceCode;
19+
const getText = eslintUtil.getText;
1720

1821
// ------------------------------------------------------------------------------
1922
// Rule Definition
@@ -309,7 +312,7 @@ module.exports = {
309312
&& node.value.type === 'CallExpression'
310313
&& propWrapperUtil.isPropWrapperFunction(
311314
context,
312-
getSourceCode(context).getText(node.value.callee)
315+
getText(context, node.value.callee)
313316
)
314317
) {
315318
checkPropWrapperArguments(node, node.value.arguments);
@@ -335,7 +338,7 @@ module.exports = {
335338
right.type === 'CallExpression'
336339
&& propWrapperUtil.isPropWrapperFunction(
337340
context,
338-
getSourceCode(context).getText(right.callee)
341+
getText(context, right.callee)
339342
)
340343
) {
341344
checkPropWrapperArguments(component.node, right.arguments);

lib/rules/destructuring-assignment.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const eslintUtil = require('../util/eslint');
1010
const isAssignmentLHS = require('../util/ast').isAssignmentLHS;
1111
const report = require('../util/report');
1212

13-
const getSourceCode = eslintUtil.getSourceCode;
13+
const getText = eslintUtil.getText;
1414

1515
const DEFAULT_OPTION = 'always';
1616

@@ -272,7 +272,7 @@ module.exports = {
272272
param.typeAnnotation ? param.typeAnnotation.range[0] : param.range[1],
273273
];
274274
return [
275-
fixer.replaceTextRange(replaceRange, getSourceCode(context).getText(node.id)),
275+
fixer.replaceTextRange(replaceRange, getText(context, node.id)),
276276
fixer.remove(node.parent),
277277
];
278278
},

lib/rules/forbid-elements.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
const has = require('object.hasown/polyfill')();
99
const docsUrl = require('../util/docsUrl');
10-
const getSourceCode = require('../util/eslint').getSourceCode;
10+
const getText = require('../util/eslint').getText;
1111
const isCreateElement = require('../util/isCreateElement');
1212
const report = require('../util/report');
1313

@@ -91,7 +91,7 @@ module.exports = {
9191

9292
return {
9393
JSXOpeningElement(node) {
94-
reportIfForbidden(getSourceCode(context).getText(node.name), node.name);
94+
reportIfForbidden(getText(context, node.name), node.name);
9595
},
9696

9797
CallExpression(node) {
@@ -111,7 +111,7 @@ module.exports = {
111111
} else if (argType === 'Literal' && /^[a-z][^.]*$/.test(argument.value)) {
112112
reportIfForbidden(argument.value, argument);
113113
} else if (argType === 'MemberExpression') {
114-
reportIfForbidden(getSourceCode(context).getText(argument), argument);
114+
reportIfForbidden(getText(context, argument), argument);
115115
}
116116
},
117117
};

lib/rules/forbid-prop-types.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const astUtil = require('../util/ast');
1010
const docsUrl = require('../util/docsUrl');
1111
const propWrapperUtil = require('../util/propWrapper');
1212
const report = require('../util/report');
13-
const getSourceCode = require('../util/eslint').getSourceCode;
13+
const getText = require('../util/eslint').getText;
1414

1515
// ------------------------------------------------------------------------------
1616
// Constants
@@ -172,7 +172,7 @@ module.exports = {
172172
case 'CallExpression': {
173173
const innerNode = node.arguments && node.arguments[0];
174174
if (
175-
propWrapperUtil.isPropWrapperFunction(context, getSourceCode(context).getText(node.callee))
175+
propWrapperUtil.isPropWrapperFunction(context, getText(context, node.callee))
176176
&& innerNode
177177
) {
178178
checkNode(innerNode);

lib/rules/function-component-definition.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const arrayIncludes = require('array-includes');
99
const Components = require('../util/Components');
1010
const docsUrl = require('../util/docsUrl');
1111
const reportC = require('../util/report');
12-
const getSourceCode = require('../util/eslint').getSourceCode;
12+
const getText = require('../util/eslint').getText;
1313

1414
// ------------------------------------------------------------------------------
1515
// Rule Definition
@@ -182,8 +182,7 @@ module.exports = {
182182
);
183183

184184
function getFixer(node, options) {
185-
const sourceCode = getSourceCode(context);
186-
const source = sourceCode.getText();
185+
const source = getText(context);
187186

188187
const typeAnnotation = getTypeAnnotation(node, source);
189188

lib/rules/hook-use-state.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const Components = require('../util/Components');
99
const docsUrl = require('../util/docsUrl');
1010
const report = require('../util/report');
1111
const getMessageData = require('../util/message');
12-
const getSourceCode = require('../util/eslint').getSourceCode;
12+
const getText = require('../util/eslint').getText;
1313

1414
// ------------------------------------------------------------------------------
1515
// Rule Definition
@@ -168,7 +168,7 @@ module.exports = {
168168
// Convert useState call to useMemo + arrow function + dependency array
169169
fixer.replaceTextRange(
170170
node.range,
171-
`${useMemoCode}(() => ${getSourceCode(context).getText(node.arguments[0])}, [])`
171+
`${useMemoCode}(() => ${getText(context, node.arguments[0])}, [])`
172172
),
173173
].filter(Boolean),
174174
}

lib/rules/jsx-curly-brace-presence.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ const arrayIncludes = require('array-includes');
1111
const docsUrl = require('../util/docsUrl');
1212
const jsxUtil = require('../util/jsx');
1313
const report = require('../util/report');
14-
const getSourceCode = require('../util/eslint').getSourceCode;
14+
const eslintUtil = require('../util/eslint');
15+
16+
const getSourceCode = eslintUtil.getSourceCode;
17+
const getText = eslintUtil.getText;
1518

1619
// ------------------------------------------------------------------------------
1720
// Constants
@@ -177,8 +180,7 @@ module.exports = {
177180

178181
let textToReplace;
179182
if (jsxUtil.isJSX(expression)) {
180-
const sourceCode = getSourceCode(context);
181-
textToReplace = sourceCode.getText(expression);
183+
textToReplace = getText(context, expression);
182184
} else {
183185
const expressionType = expression && expression.type;
184186
const parentType = JSXExpressionNode.parent.type;
@@ -189,9 +191,7 @@ module.exports = {
189191
: expression.raw.slice(1, -1)
190192
}"`;
191193
} else if (jsxUtil.isJSX(expression)) {
192-
const sourceCode = getSourceCode(context);
193-
194-
textToReplace = sourceCode.getText(expression);
194+
textToReplace = getText(context, expression);
195195
} else {
196196
textToReplace = expressionType === 'TemplateLiteral'
197197
? expression.quasis[0].value.cooked : expression.value;
@@ -208,7 +208,7 @@ module.exports = {
208208
node: literalNode,
209209
fix(fixer) {
210210
if (jsxUtil.isJSX(literalNode)) {
211-
return fixer.replaceText(literalNode, `{${getSourceCode(context).getText(literalNode)}}`);
211+
return fixer.replaceText(literalNode, `{${getText(context, literalNode)}}`);
212212
}
213213

214214
// If a HTML entity name is found, bail out because it can be fixed

lib/rules/jsx-curly-newline.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
'use strict';
66

77
const docsUrl = require('../util/docsUrl');
8-
const getSourceCode = require('../util/eslint').getSourceCode;
8+
const eslintUtil = require('../util/eslint');
99
const report = require('../util/report');
1010

11+
const getSourceCode = eslintUtil.getSourceCode;
12+
const getText = eslintUtil.getText;
13+
1114
// ------------------------------------------------------------------------------
1215
// Rule Definition
1316
// ------------------------------------------------------------------------------
@@ -131,8 +134,7 @@ module.exports = {
131134
report(context, messages.unexpectedAfter, 'unexpectedAfter', {
132135
node: leftCurly,
133136
fix(fixer) {
134-
return sourceCode
135-
.getText()
137+
return getText(context)
136138
.slice(leftCurly.range[1], tokenAfterLeftCurly.range[0])
137139
.trim()
138140
? null // If there is a comment between the { and the first element, don't do a fix.
@@ -150,8 +152,7 @@ module.exports = {
150152
report(context, messages.unexpectedBefore, 'unexpectedBefore', {
151153
node: rightCurly,
152154
fix(fixer) {
153-
return sourceCode
154-
.getText()
155+
return getText(context)
155156
.slice(tokenBeforeRightCurly.range[1], rightCurly.range[0])
156157
.trim()
157158
? null // If there is a comment between the last element and the }, don't do a fix.

lib/rules/jsx-fragments.js

+8-10
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const variableUtil = require('../util/variable');
1111
const testReactVersion = require('../util/version').testReactVersion;
1212
const docsUrl = require('../util/docsUrl');
1313
const report = require('../util/report');
14-
const getSourceCode = require('../util/eslint').getSourceCode;
14+
const getText = require('../util/eslint').getText;
1515

1616
// ------------------------------------------------------------------------------
1717
// Rule Definition
@@ -66,36 +66,34 @@ module.exports = {
6666
}
6767

6868
function getFixerToLong(jsxFragment) {
69-
const sourceCode = getSourceCode(context);
7069
if (!jsxFragment.closingFragment || !jsxFragment.openingFragment) {
7170
// the old TS parser crashes here
7271
// TODO: FIXME: can we fake these two descriptors?
7372
return null;
7473
}
7574
return function fix(fixer) {
76-
let source = sourceCode.getText();
75+
let source = getText(context);
7776
source = replaceNode(source, jsxFragment.closingFragment, closeFragLong);
7877
source = replaceNode(source, jsxFragment.openingFragment, openFragLong);
79-
const lengthDiff = openFragLong.length - sourceCode.getText(jsxFragment.openingFragment).length
80-
+ closeFragLong.length - sourceCode.getText(jsxFragment.closingFragment).length;
78+
const lengthDiff = openFragLong.length - getText(context, jsxFragment.openingFragment).length
79+
+ closeFragLong.length - getText(context, jsxFragment.closingFragment).length;
8180
const range = jsxFragment.range;
8281
return fixer.replaceTextRange(range, source.slice(range[0], range[1] + lengthDiff));
8382
};
8483
}
8584

8685
function getFixerToShort(jsxElement) {
87-
const sourceCode = getSourceCode(context);
8886
return function fix(fixer) {
89-
let source = sourceCode.getText();
87+
let source = getText(context);
9088
let lengthDiff;
9189
if (jsxElement.closingElement) {
9290
source = replaceNode(source, jsxElement.closingElement, closeFragShort);
9391
source = replaceNode(source, jsxElement.openingElement, openFragShort);
94-
lengthDiff = sourceCode.getText(jsxElement.openingElement).length - openFragShort.length
95-
+ sourceCode.getText(jsxElement.closingElement).length - closeFragShort.length;
92+
lengthDiff = getText(context, jsxElement.openingElement).length - openFragShort.length
93+
+ getText(context, jsxElement.closingElement).length - closeFragShort.length;
9694
} else {
9795
source = replaceNode(source, jsxElement.openingElement, `${openFragShort}${closeFragShort}`);
98-
lengthDiff = sourceCode.getText(jsxElement.openingElement).length - openFragShort.length
96+
lengthDiff = getText(context, jsxElement.openingElement).length - openFragShort.length
9997
- closeFragShort.length;
10098
}
10199

lib/rules/jsx-handler-names.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
'use strict';
77

88
const docsUrl = require('../util/docsUrl');
9-
const getSourceCode = require('../util/eslint').getSourceCode;
9+
const getText = require('../util/eslint').getText;
1010
const report = require('../util/report');
1111

1212
// ------------------------------------------------------------------------------
@@ -130,10 +130,10 @@ module.exports = {
130130

131131
const propKey = typeof node.name === 'object' ? node.name.name : node.name;
132132
const expression = node.value.expression;
133-
const propValue = getSourceCode(context)
134-
.getText(checkInlineFunction && isInlineHandler(node) ? expression.body.callee : expression)
135-
.replace(/\s*/g, '')
136-
.replace(/^this\.|.*::/, '');
133+
const propValue = getText(
134+
context,
135+
checkInlineFunction && isInlineHandler(node) ? expression.body.callee : expression
136+
).replace(/\s*/g, '').replace(/^this\.|.*::/, '');
137137

138138
if (propKey === 'ref') {
139139
return;

lib/rules/jsx-indent-props.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
const astUtil = require('../util/ast');
3434
const docsUrl = require('../util/docsUrl');
35-
const getSourceCode = require('../util/eslint').getSourceCode;
35+
const getText = require('../util/eslint').getText;
3636
const reportC = require('../util/report');
3737

3838
// ------------------------------------------------------------------------------
@@ -141,7 +141,7 @@ module.exports = {
141141
* @return {Number} Indent
142142
*/
143143
function getNodeIndent(node) {
144-
let src = getSourceCode(context).getText(node, node.loc.start.column + extraColumnStart);
144+
let src = getText(context, node, node.loc.start.column + extraColumnStart);
145145
const lines = src.split('\n');
146146
src = lines[0];
147147

lib/rules/jsx-indent.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ const astUtil = require('../util/ast');
3636
const docsUrl = require('../util/docsUrl');
3737
const reportC = require('../util/report');
3838
const jsxUtil = require('../util/jsx');
39-
const getSourceCode = require('../util/eslint').getSourceCode;
39+
const eslintUtil = require('../util/eslint');
40+
41+
const getSourceCode = eslintUtil.getSourceCode;
42+
const getText = eslintUtil.getText;
4043

4144
// ------------------------------------------------------------------------------
4245
// Rule Definition
@@ -117,7 +120,7 @@ module.exports = {
117120
}
118121

119122
if (node.type === 'ReturnStatement') {
120-
const raw = getSourceCode(context).getText(node);
123+
const raw = getText(context, node);
121124
const lines = raw.split('\n');
122125
if (lines.length > 1) {
123126
return function fix(fixer) {
@@ -169,7 +172,7 @@ module.exports = {
169172
* @return {Number} Indent
170173
*/
171174
function getNodeIndent(node, byLastLine, excludeCommas) {
172-
let src = getSourceCode(context).getText(node, node.loc.start.column + extraColumnStart);
175+
let src = getText(context, node, node.loc.start.column + extraColumnStart);
173176
const lines = src.split('\n');
174177
if (byLastLine) {
175178
src = lines[lines.length - 1];

lib/rules/jsx-key.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const docsUrl = require('../util/docsUrl');
1212
const pragmaUtil = require('../util/pragma');
1313
const report = require('../util/report');
1414
const astUtil = require('../util/ast');
15-
const getSourceCode = require('../util/eslint').getSourceCode;
15+
const getText = require('../util/eslint').getText;
1616

1717
// ------------------------------------------------------------------------------
1818
// Rule Definition
@@ -214,7 +214,7 @@ module.exports = {
214214
}
215215
} else {
216216
keys.forEach((attr) => {
217-
const value = getSourceCode(context).getText(attr.value);
217+
const value = getText(context, attr.value);
218218
if (!map[value]) { map[value] = []; }
219219
map[value].push(attr);
220220

lib/rules/jsx-max-props-per-line.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
'use strict';
77

88
const docsUrl = require('../util/docsUrl');
9-
const getSourceCode = require('../util/eslint').getSourceCode;
9+
const getText = require('../util/eslint').getText;
1010
const report = require('../util/report');
1111

1212
function getPropName(context, propNode) {
1313
if (propNode.type === 'JSXSpreadAttribute') {
14-
return getSourceCode(context).getText(propNode.argument);
14+
return getText(context, propNode.argument);
1515
}
1616
return propNode.name.name;
1717
}
@@ -88,7 +88,6 @@ module.exports = {
8888
};
8989

9090
function generateFixFunction(line, max) {
91-
const sourceCode = getSourceCode(context);
9291
const output = [];
9392
const front = line[0].range[0];
9493
const back = line[line.length - 1].range[1];
@@ -97,9 +96,9 @@ module.exports = {
9796
const nodes = line.slice(i, i + max);
9897
output.push(nodes.reduce((prev, curr) => {
9998
if (prev === '') {
100-
return sourceCode.getText(curr);
99+
return getText(context, curr);
101100
}
102-
return `${prev} ${sourceCode.getText(curr)}`;
101+
return `${prev} ${getText(context, curr)}`;
103102
}, ''));
104103
}
105104

0 commit comments

Comments
 (0)