mirror of
https://github.com/morluto/rea
synced 2026-10-26 14:25:49 -04:00
perf(javascript): index configuration and module lookups
This commit is contained in:
@@ -56,7 +56,7 @@ export const analyzeParsedJavaScriptStaticSource = (
|
||||
file: ParsedJavaScriptSource,
|
||||
openReceiverFacts?: ReadonlyMap<number, JavaScriptOpenReceiverFact>,
|
||||
): JavaScriptStaticAnalysis => {
|
||||
const accumulator = createJavaScriptAnalysisAccumulator();
|
||||
const accumulator = createJavaScriptAnalysisAccumulator(source.length);
|
||||
traverseStaticSource(source, file, accumulator, openReceiverFacts);
|
||||
addSourceMapDirectives(source, file.comments ?? [], accumulator);
|
||||
return finalizeStaticAnalysis(source, file, accumulator);
|
||||
@@ -105,41 +105,50 @@ const finalizeStaticAnalysis = (
|
||||
visited_ast_nodes: accumulator.visitedNodes,
|
||||
references: finalizeLocatedFindings(
|
||||
accumulator.references,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
endpoints: finalizeLocatedFindings(
|
||||
accumulator.endpoints,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
storage: finalizeLocatedFindings(
|
||||
accumulator.storage,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
storage: finalizeLocatedFindings(accumulator.storage, accumulator.modules),
|
||||
bundler_registrations: sortedUnique(
|
||||
accumulator.registrations,
|
||||
registrationKey,
|
||||
),
|
||||
role_paths: finalizeLocatedFindings(accumulator.roles, accumulator.modules),
|
||||
role_paths: finalizeLocatedFindings(
|
||||
accumulator.roles,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
source_map_urls: accumulator.sourceMaps,
|
||||
vendors: detectVendors(source),
|
||||
electron: {
|
||||
browser_windows: finalizeLocatedFindings(
|
||||
accumulator.browserWindows,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
context_bridge_apis: finalizeLocatedFindings(
|
||||
accumulator.contextBridgeApis,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
ipc: finalizeLocatedFindings(
|
||||
accumulator.ipc,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
ipc: finalizeLocatedFindings(accumulator.ipc, accumulator.modules),
|
||||
sender_validations: finalizeLocatedFindings(
|
||||
accumulator.senderValidations,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
utility_processes: finalizeLocatedFindings(
|
||||
accumulator.utilityProcesses,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
native_addon_bindings: finalizeLocatedFindings(
|
||||
accumulator.nativeAddonBindings,
|
||||
accumulator.modules,
|
||||
accumulator.moduleRangeIndex,
|
||||
),
|
||||
},
|
||||
limitations,
|
||||
|
||||
Reference in New Issue
Block a user