Skip to content

Commit 44c0fcb

Browse files
simplify
1 parent 6d277fb commit 44c0fcb

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

utils/src/ast-grep/package-json.ts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import type { SgRoot, Edit } from "@codemod.com/jssg-types/main";
66
* @returns The "scripts" node, or null if not found.
77
*/
88
export const getScriptsNode = (packageJsonRootNode: SgRoot) =>
9-
packageJsonRootNode.root().findAll({
9+
packageJsonRootNode
10+
.root()
11+
.findAll({
1012
rule: {
1113
kind: "pair",
1214
inside: {
@@ -31,12 +33,9 @@ export const getScriptsNode = (packageJsonRootNode: SgRoot) =>
3133
* @param packageJsonRootNode The root node of the package.json AST.
3234
* @returns An array of nodes representing the usage of Node.js.
3335
*/
34-
export const getNodeJsUsage = (packageJsonRootNode: SgRoot) => {
35-
const scriptsNode = getScriptsNode(packageJsonRootNode);
36-
37-
if (!scriptsNode) return [];
38-
39-
return scriptsNode.flatMap((node) =>
36+
export const getNodeJsUsage = (packageJsonRootNode: SgRoot) =>
37+
getScriptsNode(packageJsonRootNode)
38+
.flatMap((node) =>
4039
node.findAll({
4140
rule: {
4241
kind: "string_content",
@@ -50,7 +49,6 @@ export const getNodeJsUsage = (packageJsonRootNode: SgRoot) => {
5049
}
5150
})
5251
);
53-
};
5452

5553
/**
5654
* Replace Node.js arguments in the "scripts" node of a package.json AST.
@@ -59,17 +57,15 @@ export const getNodeJsUsage = (packageJsonRootNode: SgRoot) => {
5957
* @param edits An array to collect the edits made.
6058
*/
6159
export const replaceNodeJsArgs = (packageJsonRootNode: SgRoot, argsToValues: Record<string, string>, edits: Edit[]) => {
62-
const nodeJsUsageNodes = getNodeJsUsage(packageJsonRootNode);
63-
64-
if (!nodeJsUsageNodes.length) return;
65-
66-
for (const nodeJsUsageNode of nodeJsUsageNodes) {
60+
for (const nodeJsUsageNode of getNodeJsUsage(packageJsonRootNode)) {
6761
const text = nodeJsUsageNode.text();
6862

6963
for (const [argC, argP] of Object.entries(argsToValues)) {
7064
const regex = new RegExp(`(?<!\\S)${argC}(?!\\S)`, 'g'); // Match standalone arguments
65+
7166
if (regex.test(text)) {
7267
const newText = text.replace(regex, argP);
68+
7369
edits.push(nodeJsUsageNode.replace(newText));
7470
}
7571
}

0 commit comments

Comments
 (0)