Skip to content

Commit 595bded

Browse files
committed
rename predicate to getStem, and update regexp
1 parent 30ba69d commit 595bded

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

javascript/ql/src/semmle/javascript/NodeModuleResolutionImpl.qll

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,7 @@ File tryExtensions(Folder dir, string basename, int priority) {
8585
* Or `name`, if `name` has no file extension.
8686
*/
8787
bindingset[name]
88-
private string maybeRemoveExtension(string name) {
89-
result = name.regexpCapture("^(.+)\\.[^.]+$", 1)
90-
or
91-
not name.regexpMatch(".+\\..+") and
92-
result = name
93-
}
88+
private string getStem(string name) { result = name.regexpCapture("(.+?)(?:\\.([^.]+))?", 1) }
9489

9590
/**
9691
* Gets the main module described by `pkg` with the given `priority`.
@@ -103,9 +98,7 @@ File resolveMainModule(PackageJSON pkg, int priority) {
10398
or
10499
not exists(main.resolve()) and
105100
exists(int n | n = main.getNumComponent() |
106-
result =
107-
tryExtensions(main.resolveUpTo(n - 1), maybeRemoveExtension(main.getComponent(n - 1)),
108-
priority)
101+
result = tryExtensions(main.resolveUpTo(n - 1), getStem(main.getComponent(n - 1)), priority)
109102
)
110103
)
111104
or
@@ -129,8 +122,7 @@ File resolveMainModule(PackageJSON pkg, int priority) {
129122
exists(int n | n = file.getNumComponent() |
130123
result =
131124
min(int i, File res |
132-
res =
133-
tryExtensions(file.resolveUpTo(n - 1), maybeRemoveExtension(file.getComponent(n - 1)), i)
125+
res = tryExtensions(file.resolveUpTo(n - 1), getStem(file.getComponent(n - 1)), i)
134126
|
135127
res order by i
136128
)

0 commit comments

Comments
 (0)