Fast Rust bundler for JavaScript/TypeScript with Rollup-compatible API.
This report summarizes scanner evidence for rolldown/rolldown, a Rust project with 13,994 GitHub stars. SynthScan examined 367,623 lines of code across 10304 source files, recording 487 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 484 finding(s).
Are imports declared and package/API names verified? 3 finding(s).
Are wrappers, guards, and repeated structures necessary? 83 finding(s).
Which changes need focused human review? 487 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 487 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tasks/generator/src/output/rust.rs | 81 | /// in generated code. | COMMENT |
| LOW | tasks/generator/src/generators/mod.rs | 21 | fn generate_many(&self, ctx: &Context) -> Result<Vec<Output>> { | COMMENT |
| LOW | crates/rolldown_watcher/src/watcher_state.rs | 1 | use crate::file_change_event::FileChangeEvent; | COMMENT |
| LOW | crates/rolldown/tests/rolldown/optimization/mod.rs | 1 | // Only Rust-based tests are declared here. | COMMENT |
| LOW | …_order/emergent_cycle_partial_forwarder/a/forwarder.js | 1 | // Eager partial forwarder in chunk A. The exported function keeps it retained without making it | COMMENT |
| LOW | …ecution_order/deconflict_forced_runtime_helper/main.js | 1 | // Deconflict must register force-included runtime statements (rolldown/rolldown#10104 review item 2). | COMMENT |
| LOW | …_order/emergent_init_cycle_eager_interop/h/eagerhaz.js | 1 | // The eager hazard: earlier than every planned module in the root's expected order, so on-demand | COMMENT |
| LOW | …on_order/emergent_cycle_eager_reexport_overlay/main.js | 1 | // Regression pin for a retained eager re-export barrel next to a potential cross-chunk cycle. | COMMENT |
| LOW | …r/emergent_cycle_eager_reexport_overlay/a/forwarder.js | 1 | // Eager pure re-export barrel in chunk A. It has no side effect or order-sensitive initializer of | COMMENT |
| LOW | …n_order/namespace_pure_reexport_barrel/outer-barrel.js | 1 | // Outer star-re-export barrel (like victory-vendor's `export * from "d3-scale"`). It re-exports the | COMMENT |
| LOW | …ion_order/pure_annotation_local_fn_reads_global/dep.js | 1 | // `getGlobalValue` is a local function whose body accesses a global variable. | COMMENT |
| LOW | …xecution_order/package_barrel_plain_reexport/barrel.js | 1 | // A package barrel in the `@carbon/react` shape: it does NOT use `export { X } from './x'` | COMMENT |
| LOW | …order/emergent_cycle_excluded_forwarder_import/main.js | 1 | // Hole 2 — a wrapped barrel's *excluded* `export * from` hop routes init through a non-included | COMMENT |
| LOW | …on_order/emergent_cycle_excluded_forwarder_import/f.js | 1 | // Non-included forwarder. Nothing consumes its exports (the barrel's `export * from` hop is | COMMENT |
| LOW | …emergent_cycle_excluded_forwarder_import/c/eagerhaz.js | 1 | // The eager hazard in chunk C: earlier than every planned module in the first root's expected | COMMENT |
| LOW | …s/rolldown/function/external_interop_invariants/mod.rs | 121 | COMMENT | |
| LOW | crates/rolldown/tests/rolldown/issues/9651/main.js | 1 | // Repro for https://github.com/rolldown/rolldown/issues/9651 | COMMENT |
| LOW | crates/rolldown/tests/rolldown/issues/9691/main.js | 1 | // Consumer imports ONLY HandlerA from the barrel. Because lib/index.js is an | COMMENT |
| LOW | crates/rolldown/tests/rolldown/issues/8863/noop.js | 1 | // Empty module that gets included when treeshake is disabled. | COMMENT |
| LOW | crates/rolldown/tests/rolldown/issues/9028/cycle-a.js | 1 | // cycle-a and cycle-b form a circular dependency. | COMMENT |
| LOW | …ates/rolldown/tests/rolldown/issues/9882/dependency.js | 1 | // Re-exported under a different name (`SharedEnum`) so the entry can declare a colliding local | COMMENT |
| LOW | …e.exports_export/safely_merge_cjs_ns_reexport/entry.js | 1 | // Test case: re-export from CJS module with namespace alias | COMMENT |
| LOW | …olldown/cjs_compat/cjs_namespace_late_mutation/main.js | 1 | import assert from 'node:assert'; | COMMENT |
| LOW | …gs/dynamic_import_from_node_modules_no_warning/main.js | 1 | // `shared.js` is statically imported here, so it lives in the entry chunk. | COMMENT |
| LOW | …opics/deconflict/unreferenced_renamed_conflict/main.js | 1 | import { test } from './module_a.js'; | COMMENT |
| LOW | …onflict/cjs_shadowing_require_namespace_object/main.js | 1 | // CJS entry: `require()` of the ESM `./lib.js` forces CJS wrapping (`__commonJSMin`). The | COMMENT |
| LOW | …lict/nested_scope_rename_counter/module_with_nested.js | 1 | // Function with parameters `a` and `a$1`. | COMMENT |
| LOW | …/topics/deconflict/nested_scope_rename_counter/main.js | 1 | import { a } from './other.js'; | COMMENT |
| LOW | …s/hmr/error_recovery/from_rebuild_syntax_error/main.js | 1 | // Step 0 breaks dep.js with a syntax error; the failed scan merges nothing. | COMMENT |
| LOW | …/error_recovery/from_rebuild_unresolved_import/main.js | 1 | // Step 0 breaks dep.js with an unresolved import; the failed scan merges | COMMENT |
| LOW | …pics/hmr/retry_pending_rescans_on_empty_update/main.js | 1 | // Step 0 breaks dep.js (queued in `pending_rescans`). Step 1 touches side.txt, | COMMENT |
| LOW | …e/const_value_inlining_bundle/print-shorthand-entry.js | 1 | import { foo, _bar } from './print-shorthand-constants' | COMMENT |
| LOW | …n/tests/esbuild/dce/no_side_effects_comment/stmt-fn.js | 1 | //! These should all have "no side effects" | COMMENT |
| LOW | …n/tests/esbuild/default/char_freq_ignore_comments/b.js | 1 | export default function(one, two, three, four) { | COMMENT |
| LOW | …/esbuild/default/.legal_comments_many_end_of_file/a.js | 1 | console.log('in a') //! Copyright notice 1 | COMMENT |
| LOW | …/esbuild/default/.legal_comments_many_end_of_file/b.js | 1 | console.log('in b') //! Copyright notice 1 | COMMENT |
| LOW | …ldown/tests/esbuild/default/inject_import_ts/inject.js | 1 | // Unused imports are automatically removed in TypeScript files (this | COMMENT |
| LOW | …tes/rolldown/tests/esbuild/default/source_map/data.txt | 1 | #2041 | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 1 | //! The neutral home of every wrapped-ESM `init_*` **obligation** primitive — the one place that | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 21 | //! enumerator/collector against a probe [`OrderWrapState`], extended to the excluded records | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 61 | /// nested re-export record emits nothing — a wrapped ancestor barrel walks through it and owns | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 181 | /// statement between the entry and such a module is tree-shaken, none of the record-scoped | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 301 | /// Resolve direct and forwarded ESM init targets for one static import record. | COMMENT |
| LOW | crates/rolldown/src/esm_init_obligations.rs | 1001 | }, | COMMENT |
| LOW | crates/rolldown/src/chunk_graph.rs | 61 | } | COMMENT |
| LOW | crates/rolldown/src/module_finalizers/mod.rs | 121 | pub missing_file_reference_ids: FxIndexMap<CompactStr, Span>, | COMMENT |
| LOW | crates/rolldown/src/module_finalizers/mod.rs | 781 | } | COMMENT |
| LOW | crates/rolldown/src/types/scan_stage_cache.rs | 81 | COMMENT | |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 21 | /// | COMMENT |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 61 | // Entry chunks need to generate code that doesn't belong to any module. This is the list of symbols are referenced by | COMMENT |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 81 | /// its subtree) into its chunk group (#8920). Populated by `patch_module_dependencies`; with | COMMENT |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 161 | #[inline] | COMMENT |
| LOW | …es/generate_stage/compute_wrapped_esm_init_metadata.rs | 241 | fn init_is_noop(meta: &LinkingMetadata, ast: Option<&EcmaAst>, keep_names: bool) -> bool { | COMMENT |
| LOW | …es/generate_stage/compute_wrapped_esm_init_metadata.rs | 261 | // which only ever keeps a redundant (harmless) init call — never drops a needed one. | COMMENT |
| LOW | …es/generate_stage/compute_wrapped_esm_init_metadata.rs | 481 | ) | COMMENT |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 201 | self.chunks[chunk_idx].modules = modules; | COMMENT |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 601 | let merged_user_defined_chunk = | COMMENT |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 641 | // If not, we cannot merge the shared modules into the user-defined entry chunk because | COMMENT |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 841 | // whenever the chunk is loaded. If the common chunk also holds *another* | COMMENT |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 881 | let is_target_common_chunk = matches!(target_chunk.kind, ChunkKind::Common); | COMMENT |
| 300 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/rolldown/tests/rolldown/issues/6660/d.js | 1 | export async function loadEventStreamCapability() { | CODE |
| LOW | …/deconflict/issue_6586_generated_name_conflict/main.js | 11 | function testGeneratedNameConflict(a$1) { | CODE |
| LOW | docs/apis/plugin-api/file-urls.md | 59 | function registerPaintWorkletPlugin() { | CODE |
| LOW | docs/apis/plugin-api/inter-plugin-communication.md | 146 | function modulePreloadPolyfillPlugin() { | CODE |
| LOW | docs/.vitepress/markdown-hooks-graph.ts | 522 | export function createHooksGraphProcessor(): Processor { | CODE |
| LOW | scripts/misc/setup-benchmark-input/util.js | 12 | export async function cloneRolldownBenchcasesIfNotExists() { | CODE |
| LOW | scripts/meta/utils.js | 5 | export function assertRunningScriptFromRepoRoot() { | CODE |
| LOW | scripts/src/esbuild-tests/gen-tests.ts | 189 | function collectFunctionLocalBindings( | CODE |
| LOW | scripts/src/esbuild-tests/snap-diff/runner.ts | 237 | function getSummaryMarkdownAndStats( | CODE |
| LOW | packages/rolldown/build.ts | 295 | function readDefaultDevRuntimeSource() { | CODE |
| LOW | packages/rolldown/build.ts | 301 | function getTsconfigCompilerOptionsForFile(file: string) { | CODE |
| LOW | …ges/rolldown/tests/builtin-plugin/vite-resolve.test.ts | 133 | async function bundleNodeBuiltinNamedImport(options: { isBuild: boolean; isBundled?: boolean }) { | CODE |
| LOW | …rolldown/tests/stability/issue-3453/src/import-maps.js | 39 | function sortAndNormalizeSpecifierMap(originalMap, baseURL) { | CODE |
| LOW | …rolldown/tests/stability/issue-3453/src/import-maps.js | 186 | function parseURLLikeImportSpecifier(specifier, baseURL) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file57.js | 84 | function getScoreForSearchIndexItem(item, query, words, fullQuery) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 1264 | function removeNonTranslationalTransform(visualElement) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 2212 | function makeNoneKeyframesAnimatable( | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 2499 | function requiresPregeneratedKeyframes(options) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4535 | function variantLabelsAsDependency(prop) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4581 | function createRendererMotionComponent( | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4653 | function getProjectionFunctionality(props) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4948 | function updateMotionValuesFromProps(element, next, prev) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5410 | function createDOMMotionComponentProxy(componentFactory) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5606 | function calcRelativeAxisConstraints(axis, min, max) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5618 | function calcViewportAxisConstraints(layoutAxis, constraintsAxis) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 6968 | function cancelTreeOptimisedTransformAnimations(projectionNode) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8312 | function shouldAnimatePositionOnly(animationType, snapshot, layout2) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8450 | function fireSyntheticPointerEvent(name, handler) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8853 | function scrapeMotionValuesFromProps(props, prevProps, visualElement) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 9194 | function createMotionComponentFactory(preloadedFeatures, createVisualElement) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 10070 | function createWindowResizeHandler() { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 10827 | function createAnimationsFromSequence( | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11089 | function createObjectVisualElement(subject) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11619 | function useInstantLayoutTransition() { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11656 | function disableInstantTransitions() { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11684 | function handoffOptimizedAppearAnimation(elementId, valueName, frame2) { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11716 | function resumeSuspendedAnimations() { | CODE |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11723 | function startOptimizedAppearAnimation( | CODE |
| LOW | packages/rolldown/tests/src/utils.ts | 52 | export function getOutputSourcemapFilenames(output: RollupOutput) { | CODE |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 17 | export function viteModulePreloadPolyfillPlugin( | CODE |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 31 | export function viteDynamicImportVarsPlugin(config?: DynamicImportVarsPluginConfig): BuiltinPlugin { | CODE |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 56 | export function viteBuildImportAnalysisPlugin( | CODE |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 73 | export function isolatedDeclarationPlugin( | CODE |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 114 | export function viteReactRefreshWrapperPlugin( | CODE |
| LOW | packages/rolldown/src/builtin-plugin/utils.ts | 52 | export function makeBuiltinPluginCallable( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 41 | function transformFilterMatcherToFilterExprs( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 244 | export function bindingifyResolveIdFilter( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 281 | export function bindingifyTransformFilter( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 300 | export function bindingifyRenderChunkFilter( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-build-hooks.ts | 107 | export function bindingifyResolveDynamicImport( | CODE |
| LOW | packages/rolldown/src/plugin/bindingify-output-hooks.ts | 146 | export function bindingifyAugmentChunkHash( | CODE |
| LOW | packages/rolldown/src/utils/transform-sourcemap.ts | 13 | export function normalizeTransformHookSourcemap( | CODE |
| LOW | …ages/rolldown/src/utils/normalize-transform-options.ts | 16 | export function normalizeTransformOptions(inputOptions: InputOptions): NormalizedTransformOptions { | CODE |
| LOW | …ckages/rolldown/src/utils/bindingify-output-options.ts | 587 | function batchSourcemapPathTransform( | CODE |
| LOW | …ckages/rolldown/src/utils/transform-rendered-module.ts | 4 | export function transformToRenderedModule( | CODE |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 148 | function bindingifyAttachDebugInfo( | CODE |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 336 | function bindingifyTreeshakeOptions( | CODE |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 396 | function bindingifyMakeAbsoluteExternalsRelative( | CODE |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 407 | export function bindingifyPreserveEntrySignatures( | CODE |
| LOW | packages/rolldown/src/utils/error.ts | 56 | export function aggregateBindingErrorsIntoJsError(rawErrors: BindingError[]): BundleError { | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 209 | // Step 1: Collect static entry chunks with reachability sets | COMMENT |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 229 | // Step 2: For each common chunk, find modules reachable by exactly one static entry | COMMENT |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 305 | // Step 3: Render | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 167 | // Step 3: Restart notification | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 172 | // Step 4: Start event | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 177 | // Step 5: Build each task that needs it | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 210 | // Step 6: End event | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 215 | // Step 7: Drain buffered events that arrived during the build | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 50 | // Step 0: Move directive comments attached to 0 so that it's not removed when the directives are removed | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 68 | // Step 1: Build initial semantic data and check for semantic errors. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 154 | // Step 2: Run define plugin. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 165 | // Step 3: Transform TypeScript and jsx. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 218 | // Step 4: Run inject plugin. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 230 | // Step 5: Run DCE. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 246 | // Step 6: Modify AST for Rolldown. | COMMENT |
| LOW⚡ | crates/rolldown_binding/src/classic_bundler.rs | 18 | /// const bundle = await rollup({ input: 'src/index.js' }); // Step 1: Input options only | COMMENT |
| LOW⚡ | crates/rolldown_binding/src/classic_bundler.rs | 19 | /// await bundle.write({ dir: 'dist/esm', format: 'esm' }); // Step 2: Output options | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 209 | // Step 1: Collect static entry chunks with reachability sets | COMMENT |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 229 | // Step 2: For each common chunk, find modules reachable by exactly one static entry | COMMENT |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 305 | // Step 3: Render | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 167 | // Step 3: Restart notification | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 172 | // Step 4: Start event | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 177 | // Step 5: Build each task that needs it | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 210 | // Step 6: End event | COMMENT |
| LOW⚡ | crates/rolldown_watcher/src/watch_coordinator.rs | 215 | // Step 7: Drain buffered events that arrived during the build | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 50 | // Step 0: Move directive comments attached to 0 so that it's not removed when the directives are removed | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 68 | // Step 1: Build initial semantic data and check for semantic errors. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 154 | // Step 2: Run define plugin. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 165 | // Step 3: Transform TypeScript and jsx. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 218 | // Step 4: Run inject plugin. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 230 | // Step 5: Run DCE. | COMMENT |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 246 | // Step 6: Modify AST for Rolldown. | COMMENT |
| LOW⚡ | crates/rolldown_binding/src/classic_bundler.rs | 18 | /// const bundle = await rollup({ input: 'src/index.js' }); // Step 1: Input options only | COMMENT |
| LOW⚡ | crates/rolldown_binding/src/classic_bundler.rs | 19 | /// await bundle.write({ dir: 'dist/esm', format: 'esm' }); // Step 2: Output options | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/rolldown/src/module_finalizers/impl_visit_mut.rs | 602 | self.ctx.module.ecma_view.this_expr_replace_map.get(&this_expr.node_id()) | CODE |
| CRITICAL | crates/rolldown/src/module_finalizers/mod.rs | 389 | inline_const_mode: self.ctx.options.optimization.inline_const.map(|config| config.mode), | CODE |
| CRITICAL | crates/rolldown/src/module_loader/module_loader.rs | 546 | if self.shared_context.options.experimental.vite_mode.unwrap_or_default() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AGENTS.md | 62 | - `packages/debug/src/generated/*` - Auto-generated code for devtools integration | CODE |
| HIGH | tasks/generator/src/output/mod.rs | 23 | "{comment_start} Auto-generated code, DO NOT EDIT DIRECTLY!\n\ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 580 | // TODO: hyf0 should switch to a more robust way to identify lazy proxy modules | COMMENT |
| MEDIUM | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 830 | // TODO(hana): we should think about a more robust way to track the consolidated export type of a module in the fu | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …/build_diagnostic/events/illegal_identifier_as_name.rs | 17 | r#"Given name "{}" is not a legal JS identifier. If you need this, you can try "output.extend: true"."#, | CODE |
| LOW | .github/workflows/update-test-dependencies.yml | 332 | # make sure to run this step before updating the version in urls.ts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ntime_host_consumer_order_tree_shaken_import/common.js | 5 | export function getData() { | CODE |