Napalys Klicius
68a9dd9f9e
Address comments
2025-05-01 11:19:41 +02:00
Napalys Klicius
c7d764f666
Brought back FunctionStyleClass marked as deprecated
2025-05-01 11:16:04 +02:00
Napalys Klicius
d4b5ef6a66
Refactor process.env handling in CleartextLogging and IndirectCommandInjection modules to use ThreatModelSource
2025-05-01 11:14:15 +02:00
Napalys Klicius
33d8ffa83e
Added test cases for shelljs.env
2025-05-01 11:11:29 +02:00
Napalys Klicius
602500e280
Added change note
2025-05-01 11:09:56 +02:00
Napalys Klicius
40d176a770
Added model for shelljs.env
2025-05-01 11:09:47 +02:00
Napalys Klicius
9bab59363c
Fix class instance method detection in constructor receiver
2025-05-01 09:14:39 +02:00
Napalys Klicius
7430d0e5e0
Added failing test with method as field
2025-05-01 09:14:37 +02:00
Napalys Klicius
c0917434eb
Removed code duplication
2025-05-01 09:14:36 +02:00
Napalys Klicius
fc7520e9e7
Added change note
2025-05-01 09:14:34 +02:00
Napalys Klicius
7fec3aec95
Renamed FunctionStyleClass class to StandardClassNode
2025-04-30 18:51:46 +02:00
Napalys Klicius
e9ee7134ef
Refactor prototype reference retrieval in ClassNode and update expected test output
2025-04-30 18:51:39 +02:00
Owen Mansel-Chan
cf614a596d
Fix cwe tags to include leading zero
2025-04-30 16:43:03 +01:00
Napalys Klicius
9624a413e4
Added change note
2025-04-30 14:57:00 +02:00
Napalys Klicius
71f1b82a56
Added support for fastify.all
2025-04-30 14:54:09 +02:00
Napalys Klicius
6d61766366
Added test case for fastify.all
2025-04-30 14:50:35 +02:00
Asger F
8ebbfb198e
Merge pull request #19412 from asgerf/js/promise-all
...
JS: Better type-tracking through Promise.all()
2025-04-30 14:19:12 +02:00
Napalys Klicius
18cea2d6a5
Added support for shelljs.cmd and async-shelljs.asyncExec
2025-04-30 13:37:02 +02:00
Napalys Klicius
25d04f1cdd
Added support for shelljs.which
2025-04-30 13:35:17 +02:00
Napalys Klicius
f6fae7ad60
Added test cases for cmd, which and asyncExec
2025-04-30 13:33:31 +02:00
Asger F
da5d799152
JS: Change note
2025-04-30 11:59:47 +02:00
Napalys Klicius
6de38b1827
Merge pull request #19300 from Napalys/js/fastify
...
JS: Added support for `fastify.addHook`
2025-04-29 18:32:25 +02:00
Tamas Vajk
d56c5225f6
Use code-quality-selectors in JS suite
2025-04-29 16:23:08 +02:00
Asger F
b0f73f1cbd
JS: Update test output now that we import .d.ts files more liberally
2025-04-29 16:06:39 +02:00
Asger F
70a5ec5607
JS: Add package.json files in tests relying on node_modules
...
We don't extract node_modules folders by default so these tests aren't
that relevant anymore, and we no longer follow node_modules resolution
rules directly.
Instead, these imports are resolved based on the monorepo support which
simply requires a package.json file to exist. There is not a good enough
reason to support node_modules directly, so we're accepting some
minor regression in these tests.
2025-04-29 16:06:38 +02:00
Asger F
5de2c938d8
JS: Rename getTargetFile to getImportedFile and remove its deprecated name clash
...
'getTargetFile' was originally named to avoid the clash with 'getImportedFile' from a subclass. But we now just merge the two predicates.
2025-04-29 16:06:36 +02:00
Asger F
be5de9c080
JS: Update test output
...
path.resolve() and template expressions are now working.
Previously they could not be resolved because Import.getImportedPath() returned a PathExpr,
and these were not instances of PathExpr.
2025-04-29 16:06:35 +02:00
Asger F
eae1e1cb02
JS: Make API graphs rely on type-tracking steps in general
2025-04-29 15:08:19 +02:00
Asger F
e40b93b8a3
JS: Add type-tracking step through simple Promise.all() calls
2025-04-29 15:08:18 +02:00
Asger F
ed2a832a55
JS: Deprecate PathExpr and related classes
2025-04-29 13:23:47 +02:00
Asger F
fe055ad603
JS: Use PackageJsonEx instead of resolveMainModule
2025-04-29 13:23:45 +02:00
Asger F
c293f03b9e
JS: Remove a dependency on getImportedPath()
...
To avoid negative recursion in some upcoming changes, we want to make sure the modeling of createRequire does not depend on getImportedPath().
2025-04-29 13:23:43 +02:00
Asger F
a195d074c9
JS: Resolve Angular2 templateUrl with ResolveExpr instead of PathExpr
2025-04-29 13:23:42 +02:00
Asger F
d724874969
JS: Implement babel-plugin-root-import as a PathMapping
2025-04-29 13:23:40 +02:00
Asger F
e4420f63fb
JS: Move babel-root-import test
...
This moves the test for the babel `root-import` plugin into the new
unit test for import resolution, so we only have one set of tests to
maintain.
The actual implementation is added in the next commit.
2025-04-29 13:23:38 +02:00
Asger F
6725cb5b8c
JS: Implement import resolution
2025-04-29 13:23:37 +02:00
Asger F
ed4864edf7
JS: Add two more helpers to FilePath class
2025-04-29 13:07:21 +02:00
Asger F
f542956f66
JS: Add internal extension of PackageJson class
2025-04-29 13:07:19 +02:00
Asger F
bb91df8145
JS: Add helper for doing path resolution with JS rules
2025-04-29 13:07:18 +02:00
Asger F
59e1cbcc7b
JS: Add tsconfig class
2025-04-29 13:07:16 +02:00
Asger F
ef32a036b1
JS: Extract from methods from PathString into a non-abstract base class
...
The new class 'FilePath' has bindingset[this] so one just has to cast a string to that type and you can use its methods.
2025-04-29 13:07:15 +02:00
Asger F
17aa5220a6
JS: Add some helpers
2025-04-29 13:07:14 +02:00
Asger F
565cb434fc
JS: Add test
2025-04-29 13:07:10 +02:00
Napalys Klicius
c8ee8dce98
Add test cases to verify correct call graph resolution with various JavaScript inheritance patterns
2025-04-29 13:04:07 +02:00
Asger F
359525b65a
JS: Extract more tsconfig.json patterns
2025-04-29 12:46:49 +02:00
Asger F
8c0b0c4800
JS: Ensure json files are extracted properly in tests
2025-04-29 12:46:20 +02:00
Napalys Klicius
0a9a7911c2
Fixed issue where method calls weren't properly resolved when inheritance was implemented via prototype manipulation instead of ES6 class syntax.
2025-04-29 12:39:44 +02:00
Napalys Klicius
a015003bda
Updated test case to resolve reflected calls
2025-04-29 12:37:03 +02:00
Napalys Klicius
4fbf8ca5cf
Added test cases with inheritance
2025-04-29 12:36:30 +02:00
Asger F
ec9d15bb79
JS: Make shared Folder module visible
2025-04-29 09:42:25 +02:00