Skip to content

Commit 2f7a729

Browse files
committed
Refactor code-style
1 parent 42028f7 commit 2f7a729

File tree

3 files changed

+30
-34
lines changed

3 files changed

+30
-34
lines changed

index.js

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
import {walk} from 'estree-walker'
2-
import {name as isIdentifierName} from 'estree-util-is-identifier-name'
3-
4-
const regex = /@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g
5-
61
/**
72
* @typedef {import('estree-jsx').Node} Node
83
* @typedef {import('estree-jsx').Comment} Comment
@@ -28,26 +23,27 @@ const regex = /@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g
2823
* @typedef {import('estree-jsx').JSXIdentifier} JSXIdentifier
2924
*
3025
* @typedef {import('estree-walker').SyncHandler} SyncHandler
31-
*/
32-
33-
/**
34-
* @typedef {Object} BuildJsxOptions
26+
*
27+
* @typedef BuildJsxOptions
3528
* @property {'automatic'|'classic'} [runtime='classic']
3629
* @property {string} [importSource='react']
3730
* @property {string} [pragma='React.createElement']
3831
* @property {string} [pragmaFrag='React.Fragment']
3932
* @property {boolean} [development=false]
4033
* @property {string} [filePath]
41-
*/
42-
43-
/**
44-
* @typedef {Object} Annotations
34+
*
35+
* @typedef Annotations
4536
* @property {'automatic'|'classic'} [jsxRuntime]
4637
* @property {string} [jsx]
4738
* @property {string} [jsxFrag]
4839
* @property {string} [jsxImportSource]
4940
*/
5041

42+
import {walk} from 'estree-walker'
43+
import {name as isIdentifierName} from 'estree-util-is-identifier-name'
44+
45+
const regex = /@(jsx|jsxFrag|jsxImportSource|jsxRuntime)\s+(\S+)/g
46+
5147
/**
5248
* @template {Node} T
5349
* @param {T} tree
@@ -170,7 +166,7 @@ export function buildJsx(tree, options = {}) {
170166
return
171167
}
172168

173-
/** @type {Array.<Expression>} */
169+
/** @type {Array<Expression>} */
174170
const children = []
175171
let index = -1
176172

@@ -201,19 +197,20 @@ export function buildJsx(tree, options = {}) {
201197
children.push(create(child, {type: 'Literal', value}))
202198
}
203199
} else {
204-
// @ts-ignore JSX{Element,Fragment} have already been compiled, and
205-
// `JSXSpreadChild` is not supported in Babel either, so ignore it.
200+
// @ts-expect-error JSX{Element,Fragment} have already been compiled,
201+
// and `JSXSpreadChild` is not supported in Babel either, so ignore
202+
// it.
206203
children.push(child)
207204
}
208205
}
209206

210207
/** @type {MemberExpression|Literal|Identifier} */
211208
let name
212-
/** @type {Array.<Property>} */
209+
/** @type {Array<Property>} */
213210
let fields = []
214-
/** @type {Array.<Expression>} */
211+
/** @type {Array<Expression>} */
215212
const objects = []
216-
/** @type {Array.<Expression|SpreadElement>} */
213+
/** @type {Array<Expression|SpreadElement>} */
217214
let parameters = []
218215
/** @type {Expression|undefined} */
219216
let key
@@ -260,8 +257,8 @@ export function buildJsx(tree, options = {}) {
260257
)
261258
}
262259

263-
// @ts-ignore I can’t see object patterns being used as attribute
264-
// values? 🤷‍♂️
260+
// @ts-expect-error I can’t see object patterns being used as
261+
// attribute values? 🤷‍♂️
265262
key = prop.value
266263
} else {
267264
fields.push(prop)
@@ -431,15 +428,15 @@ function toProperty(node) {
431428

432429
if (node.value) {
433430
if (node.value.type === 'JSXExpressionContainer') {
434-
// @ts-ignore `JSXEmptyExpression` is not allowed in props.
431+
// @ts-expect-error `JSXEmptyExpression` is not allowed in props.
435432
value = node.value.expression
436433
}
437434
// Literal or call expression.
438435
else {
439-
// @ts-ignore: JSX{Element,Fragment} are already compiled to
436+
// @ts-expect-error: JSX{Element,Fragment} are already compiled to
440437
// `CallExpression`.
441438
value = node.value
442-
// @ts-ignore - Remove `raw` so we don’t get character references in
439+
// @ts-expect-error Remove `raw` so we don’t get character references in
443440
// strings.
444441
delete value.raw
445442
}

test.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import test from 'tape'
22
import {Parser} from 'acorn'
3-
// @ts-ignore
43
import jsx from 'acorn-jsx'
54
import {walk} from 'estree-walker'
65
import {generate} from 'astring'
@@ -1511,15 +1510,15 @@ function expression(program) {
15111510
* @returns {import('estree-jsx').Program}
15121511
*/
15131512
function parse(doc, clean, addComments) {
1514-
/** @type {import('estree-jsx').Comment[]} */
1513+
/** @type {Array<import('estree-jsx').Comment>} */
15151514
const comments = []
15161515
/** @type {import('estree-jsx').Program} */
1517-
// @ts-ignore
1516+
// @ts-expect-error
15181517
const tree = parser.parse(doc, {
15191518
ecmaVersion: 2020,
15201519
ranges: true,
15211520
locations: true,
1522-
// @ts-ignore
1521+
// @ts-expect-error
15231522
onComment: comments
15241523
})
15251524

@@ -1537,11 +1536,11 @@ function parse(doc, clean, addComments) {
15371536
function leave(n) {
15381537
delete n.loc
15391538
delete n.range
1540-
// @ts-ignore
1539+
// @ts-expect-error
15411540
delete n.start
1542-
// @ts-ignore
1541+
// @ts-expect-error
15431542
delete n.end
1544-
// @ts-ignore
1543+
// @ts-expect-error
15451544
delete n.raw
15461545
}
15471546
}

tsconfig.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"include": ["*.js"],
33
"compilerOptions": {
4-
"target": "ES2020",
5-
"lib": ["ES2020"],
6-
"module": "ES2020",
4+
"target": "es2022",
5+
"lib": ["es2022"],
6+
"module": "esnext",
77
"moduleResolution": "node",
88
"allowJs": true,
99
"checkJs": true,

0 commit comments

Comments
 (0)