Skip to content

Commit cffba6b

Browse files
committed
fix(utils): [findRequires] object value extraction
Signed-off-by: Lexus Drumgold <[email protected]>
1 parent e719d34 commit cffba6b

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

src/utils/__snapshots__/find-requires.snap

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,28 @@ exports[`unit:utils/findRequires > should return RequireStatement object array 1
8585
"start": 198,
8686
"syntax": "require",
8787
},
88+
{
89+
"code": "require(\\"./data\\")",
90+
"end": 256,
91+
"imports": [],
92+
"kind": "require",
93+
"specifier": "./data",
94+
"specifier_kind": "relative",
95+
"specifier_syntax": "static",
96+
"start": 239,
97+
"syntax": "require",
98+
},
99+
{
100+
"code": "require(\\"./parser-options\\")",
101+
"end": 310,
102+
"imports": [],
103+
"kind": "require",
104+
"specifier": "./parser-options",
105+
"specifier_kind": "relative",
106+
"specifier_syntax": "static",
107+
"start": 283,
108+
"syntax": "require",
109+
},
88110
{
89111
"code": "const {
90112
default: myDefault,
@@ -97,7 +119,7 @@ exports[`unit:utils/findRequires > should return RequireStatement object array 1
97119
squareThree,
98120
squareTwo
99121
} = require('./lib')",
100-
"end": 358,
122+
"end": 454,
101123
"imports": [
102124
"default: myDefault",
103125
"addFive",
@@ -113,7 +135,7 @@ exports[`unit:utils/findRequires > should return RequireStatement object array 1
113135
"specifier": "./lib",
114136
"specifier_kind": "relative",
115137
"specifier_syntax": "static",
116-
"start": 216,
138+
"start": 312,
117139
"syntax": "require",
118140
},
119141
]

src/utils/__tests__/find-requires.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ describe('unit:utils/findRequires', () => {
1616
require(id)
1717
require('#src/utils/resolve-aliases')
1818
const arr = [require("./arr")]
19+
const data = { config: require("./data") }
20+
const options = {parser:require("./parser-options")}
1921
const {
2022
default: myDefault,
2123
addFive,
@@ -33,7 +35,7 @@ describe('unit:utils/findRequires', () => {
3335
const results = testSubject(code)
3436

3537
// Expect
36-
expect(results).to.be.an('array').of.length(8)
38+
expect(results).to.be.an('array').of.length(10)
3739
expect(results).toMatchSnapshot()
3840
})
3941

src/utils/find-requires.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const findRequires = (code: string = ''): RequireStatement[] => {
3333
* @const {RegExp} REQUIRE_REGEX
3434
*/
3535
const REQUIRE_REGEX: RegExp =
36-
/(?<=^|[\s;[])\b(?:(?:const\s*|let\s*|var\s*)?(?<imports>(?:[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*)|(?:[\w\t\n\r "$'*,./:{}-]+?))?\s*=?\s*(?<kind>require)\((?<specifier>["']?[\S\t\n\r]+?["']?)\)(?=;?\n?))(?<!(?:\/\/|\*).*)/gu
36+
/(?<=^|[\s:;[])\b(?:(?:const\s*|let\s*|var\s*)?(?:(?<=(?:const\s*|let\s*|var\s*))(?<imports>(?:[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*)|(?:[\w\t\n\r "$'*,./:{}-]+?)))?\s*=?\s*(?<kind>require)\((?<specifier>["']?[\S\t\n\r]+?["']?)\))(?<!(?:\/\/|\*).*)/gu
3737

3838
return [...code.matchAll(REQUIRE_REGEX)].map(match => {
3939
const { 0: code = '', index: start = 0, groups = {} } = match

0 commit comments

Comments
 (0)