Fast Rust bundler for JavaScript/TypeScript with Rollup-compatible API.
313 matches across 7 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tasks/generator/src/output/rust.rs | 81 | /// in generated code. |
| LOW | tasks/generator/src/generators/mod.rs | 21 | fn generate_many(&self, ctx: &Context) -> Result<Vec<Output>> { |
| LOW | crates/rolldown_watcher/src/watcher_state.rs | 1 | use crate::file_change_event::FileChangeEvent; |
| LOW | crates/rolldown/tests/rolldown/optimization/mod.rs | 1 | // Only Rust-based tests are declared here. |
| LOW | …ion_order/pure_annotation_local_fn_reads_global/dep.js | 1 | // `getGlobalValue` is a local function whose body accesses a global variable. |
| LOW | crates/rolldown/tests/rolldown/issues/8863/noop.js | 1 | // Empty module that gets included when treeshake is disabled. |
| LOW | crates/rolldown/tests/rolldown/issues/9028/cycle-a.js | 1 | // cycle-a and cycle-b form a circular dependency. |
| LOW | …e.exports_export/safely_merge_cjs_ns_reexport/entry.js | 1 | // Test case: re-export from CJS module with namespace alias |
| LOW | …opics/deconflict/unreferenced_renamed_conflict/main.js | 1 | import { test } from './module_a.js'; |
| LOW | …lict/nested_scope_rename_counter/module_with_nested.js | 1 | // Function with parameters `a` and `a$1`. |
| LOW | …/topics/deconflict/nested_scope_rename_counter/main.js | 1 | import { a } from './other.js'; |
| LOW | …e/const_value_inlining_bundle/print-shorthand-entry.js | 1 | import { foo, _bar } from './print-shorthand-constants' |
| LOW | …n/tests/esbuild/dce/no_side_effects_comment/stmt-fn.js | 1 | //! These should all have "no side effects" |
| LOW | …n/tests/esbuild/default/char_freq_ignore_comments/b.js | 1 | export default function(one, two, three, four) { |
| LOW | …/esbuild/default/.legal_comments_many_end_of_file/a.js | 1 | console.log('in a') //! Copyright notice 1 |
| LOW | …/esbuild/default/.legal_comments_many_end_of_file/b.js | 1 | console.log('in b') //! Copyright notice 1 |
| LOW | …ldown/tests/esbuild/default/inject_import_ts/inject.js | 1 | // Unused imports are automatically removed in TypeScript files (this |
| LOW | …tes/rolldown/tests/esbuild/default/source_map/data.txt | 1 | #2041 |
| LOW | crates/rolldown/src/module_finalizers/mod.rs | 561 | /// |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 21 | /// |
| LOW | crates/rolldown/src/types/linking_metadata.rs | 41 | pub wrapper_stmt_info: Option<StmtInfoIdx>, |
| LOW | crates/rolldown/src/types/generator.rs | 81 | |
| LOW | …/rolldown/src/stages/generate_stage/chunk_optimizer.rs | 601 | dynamic_entry.iter().all(|idx| reached_dynamic_chunk.is_some_and(|set| set.contains(idx))); |
| LOW | …s/rolldown/src/stages/generate_stage/code_splitting.rs | 621 | for (chunk_idx, entry_external_module_map) in module_to_entry_level_external_rec_list_maps { |
| LOW | …lldown/src/stages/generate_stage/on_demand_wrapping.rs | 41 | /// }; |
| LOW | …src/stages/generate_stage/compute_cross_chunk_links.rs | 441 | .map(|(name, export)| (name, export.symbol_ref)) |
| LOW | crates/rolldown/src/stages/link_stage/sort_modules.rs | 21 | /// - Since import statements are hoisted, `require(...)` is always placed after static `import` statements. |
| LOW | crates/rolldown/src/stages/link_stage/mod.rs | 81 | /// True if any module has enum member values to inline. Computed once to avoid |
| LOW | …down/src/stages/link_stage/bind_imports_and_exports.rs | 121 | impl LinkStage<'_> { |
| LOW | …down/src/stages/link_stage/bind_imports_and_exports.rs | 381 | /// ```js |
| LOW | …down/src/stages/link_stage/bind_imports_and_exports.rs | 421 | Module::External(_) => return, |
| LOW | …down/src/stages/link_stage/bind_imports_and_exports.rs | 601 | { |
| LOW | …own/src/stages/link_stage/patch_module_dependencies.rs | 81 | (module_idx, extended_dependencies, inherited_runtime) |
| LOW | …c/stages/link_stage/tree_shaking/include_statements.rs | 41 | /// 1. https://github.com/rolldown/rolldown/blob/8bc7dca5a09047b6b494e3fa7b6b7564aa465372/crates/rolldown/src/st |
| LOW | …c/stages/link_stage/tree_shaking/include_statements.rs | 481 | /// return mod; |
| LOW | …c/stages/link_stage/tree_shaking/include_statements.rs | 961 | // after inlining. This mirrors the `constant_symbol_map` bypass in `include_symbol`. |
| LOW | crates/rolldown/src/hmr/hmr_stage.rs | 301 | self.render_hmr_patch_from_prerequisites(prerequisites, &new_added_modules).await? |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 41 | /// `false` for HMR patches: the patch's whole point is to re-execute the body and |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 381 | // SPAN, |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 401 | // }; |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 601 | |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 621 | // |
| LOW | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 861 | |
| LOW | crates/rolldown/src/runtime/runtime-tail-node.js | 1 | // This is created by the rolldown. It's used to polyfill the global `require` function when you bundling code |
| LOW | crates/rolldown/src/bundle/bundle_handle.rs | 1 | use std::sync::{ |
| LOW | crates/rolldown/src/bundle/bundle_handle.rs | 21 | /// # Why This Exists |
| LOW | crates/rolldown/src/utils/renamer.rs | 21 | /// Key is the canonical name, value is the conflict index for generating unique names. |
| LOW | crates/rolldown/src/utils/renamer.rs | 101 | /// already exists in a nested scope, which would cause the nested binding to |
| LOW | crates/rolldown/src/utils/renamer.rs | 121 | /// console.log(foo$1); // Would capture the wrong value |
| LOW | crates/rolldown/src/utils/renamer.rs | 301 | /// Rename nested bindings that would capture star import member references. |
| LOW | crates/rolldown/src/utils/renamer.rs | 361 | /// has the same name as the renamed import, that nested binding must be renamed |
| LOW | crates/rolldown/src/utils/renamer.rs | 421 | /// // cjs-module.js (detected as CommonJS) |
| LOW | crates/rolldown/src/utils/renamer.rs | 441 | /// This handles two cases: |
| LOW | crates/rolldown/src/ecmascript/format/iife.rs | 1 | //! This is the render function for IIFE format. |
| LOW | …ates/rolldown/src/ecmascript/format/utils/namespace.rs | 21 | /// |
| LOW | …ates/rolldown/src/ecmascript/format/utils/namespace.rs | 61 | /// |
| LOW | crates/rolldown/src/ast_scanner/mod.rs | 61 | const Jsx = 1 << 1; |
| LOW | crates/rolldown/src/ast_scanner/mod.rs | 101 | /// `EcmaView`, since top-level await is rare. |
| LOW | crates/rolldown/src/ast_scanner/mod.rs | 581 | ); |
| LOW | …s/rolldown/src/ast_scanner/side_effect_detector/mod.rs | 301 | _ => expr.may_have_side_effects(self).into(), |
| 150 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …own_plugin_hmr/src/runtime/runtime-extra-dev-common.js | 147 | return function sendModuleRegisteredMessage(module) { |
| LOW | crates/rolldown/tests/rolldown/issues/6660/d.js | 1 | export async function loadEventStreamCapability() { |
| LOW | …/deconflict/issue_6586_generated_name_conflict/main.js | 11 | function testGeneratedNameConflict(a$1) { |
| LOW | docs/apis/plugin-api/file-urls.md | 56 | function registerPaintWorkletPlugin() { |
| LOW | docs/.vitepress/markdown-hooks-graph.ts | 522 | export function createHooksGraphProcessor(): Processor { |
| LOW | scripts/misc/setup-benchmark-input/util.js | 12 | export async function cloneRolldownBenchcasesIfNotExists() { |
| LOW | scripts/meta/utils.js | 5 | export function assertRunningScriptFromRepoRoot() { |
| LOW | scripts/src/esbuild-tests/gen-tests.ts | 189 | function collectFunctionLocalBindings( |
| LOW | scripts/src/esbuild-tests/snap-diff/runner.ts | 237 | function getSummaryMarkdownAndStats( |
| LOW | packages/test-dev-server/tests/test-utils.ts | 184 | export async function waitForModuleRegistration( |
| LOW | packages/rolldown/build.ts | 262 | function getTsconfigCompilerOptionsForFile(file: string) { |
| LOW | …rolldown/tests/stability/issue-3453/src/import-maps.js | 39 | function sortAndNormalizeSpecifierMap(originalMap, baseURL) { |
| LOW | …rolldown/tests/stability/issue-3453/src/import-maps.js | 186 | function parseURLLikeImportSpecifier(specifier, baseURL) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file57.js | 84 | function getScoreForSearchIndexItem(item, query, words, fullQuery) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 1264 | function removeNonTranslationalTransform(visualElement) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 2212 | function makeNoneKeyframesAnimatable( |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 2499 | function requiresPregeneratedKeyframes(options) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4535 | function variantLabelsAsDependency(prop) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4581 | function createRendererMotionComponent( |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4653 | function getProjectionFunctionality(props) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 4948 | function updateMotionValuesFromProps(element, next, prev) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5410 | function createDOMMotionComponentProxy(componentFactory) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5606 | function calcRelativeAxisConstraints(axis, min, max) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 5618 | function calcViewportAxisConstraints(layoutAxis, constraintsAxis) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 6968 | function cancelTreeOptimisedTransformAnimations(projectionNode) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8312 | function shouldAnimatePositionOnly(animationType, snapshot, layout2) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8450 | function fireSyntheticPointerEvent(name, handler) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 8853 | function scrapeMotionValuesFromProps(props, prevProps, visualElement) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 9194 | function createMotionComponentFactory(preloadedFeatures, createVisualElement) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 10070 | function createWindowResizeHandler() { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 10827 | function createAnimationsFromSequence( |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11089 | function createObjectVisualElement(subject) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11619 | function useInstantLayoutTransition() { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11656 | function disableInstantTransitions() { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11684 | function handoffOptimizedAppearAnimation(elementId, valueName, frame2) { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11716 | function resumeSuspendedAnimations() { |
| LOW | …/rolldown/tests/stability/issue-3453/src/lib/file37.js | 11723 | function startOptimizedAppearAnimation( |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 17 | export function viteModulePreloadPolyfillPlugin( |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 31 | export function viteDynamicImportVarsPlugin(config?: DynamicImportVarsPluginConfig): BuiltinPlugin { |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 61 | export function viteBuildImportAnalysisPlugin( |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 78 | export function isolatedDeclarationPlugin( |
| LOW | packages/rolldown/src/builtin-plugin/constructors.ts | 119 | export function viteReactRefreshWrapperPlugin( |
| LOW | packages/rolldown/src/builtin-plugin/utils.ts | 27 | export function makeBuiltinPluginCallable( |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 41 | function transformFilterMatcherToFilterExprs( |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 217 | export function bindingifyResolveIdFilter( |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 246 | export function bindingifyTransformFilter( |
| LOW | packages/rolldown/src/plugin/bindingify-hook-filter.ts | 265 | export function bindingifyRenderChunkFilter( |
| LOW | packages/rolldown/src/plugin/bindingify-build-hooks.ts | 147 | export function bindingifyResolveDynamicImport( |
| LOW | packages/rolldown/src/plugin/bindingify-output-hooks.ts | 166 | export function bindingifyAugmentChunkHash( |
| LOW | packages/rolldown/src/utils/transform-sourcemap.ts | 13 | export function normalizeTransformHookSourcemap( |
| LOW | …ages/rolldown/src/utils/normalize-transform-options.ts | 16 | export function normalizeTransformOptions(inputOptions: InputOptions): NormalizedTransformOptions { |
| LOW | …ckages/rolldown/src/utils/transform-rendered-module.ts | 4 | export function transformToRenderedModule( |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 134 | function bindingifyAttachDebugInfo( |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 321 | function bindingifyTreeshakeOptions( |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 374 | function bindingifyMakeAbsoluteExternalsRelative( |
| LOW | packages/rolldown/src/utils/bindingify-input-options.ts | 385 | export function bindingifyPreserveEntrySignatures( |
| LOW | packages/rolldown/src/utils/error.ts | 56 | export function aggregateBindingErrorsIntoJsError(rawErrors: BindingError[]): BundleError { |
| LOW | …kages/rolldown/src/utils/transform-to-rollup-output.ts | 18 | export function transformToRollupSourceMap(map: string): SourceMap { |
| LOW | …kages/rolldown/src/utils/transform-to-rollup-output.ts | 35 | function transformToRollupOutputChunk(bindingChunk: BindingOutputChunk): OutputChunk { |
| LOW | …kages/rolldown/src/utils/transform-to-rollup-output.ts | 39 | function transformToMutableRollupOutputChunk( |
| 18 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 209 | // Step 1: Collect static entry chunks with reachability sets |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 229 | // Step 2: For each common chunk, find modules reachable by exactly one static entry |
| LOW | …rolldown_plugin_bundle_analyzer/src/render_markdown.rs | 305 | // Step 3: Render |
| LOW | crates/rolldown_watcher/src/watch_coordinator.rs | 142 | // Step 3: Restart notification |
| LOW | crates/rolldown_watcher/src/watch_coordinator.rs | 145 | // Step 4: Start event |
| LOW | crates/rolldown_watcher/src/watch_coordinator.rs | 148 | // Step 5: Build each task that needs it |
| LOW | crates/rolldown_watcher/src/watch_coordinator.rs | 175 | // Step 6: End event |
| LOW | crates/rolldown_watcher/src/watch_coordinator.rs | 178 | // Step 7: Drain buffered events that arrived during the build |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 47 | // Step 0: Move directive comments attached to 0 so that it's not removed when the directives are removed |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 65 | // Step 1: Build initial semantic data and check for semantic errors. |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 156 | // Step 2: Run define plugin. |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 167 | // Step 3: Transform TypeScript and jsx. |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 212 | // Step 4: Run inject plugin. |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 224 | // Step 5: Run DCE. |
| LOW | crates/rolldown/src/utils/pre_process_ecma_ast.rs | 241 | // Step 6: Modify AST for Rolldown. |
| LOW | crates/rolldown_binding/src/classic_bundler.rs | 18 | /// const bundle = await rollup({ input: 'src/index.js' }); // Step 1: Input options only |
| LOW | crates/rolldown_binding/src/classic_bundler.rs | 19 | /// await bundle.write({ dir: 'dist/esm', format: 'esm' }); // Step 2: Output options |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | crates/rolldown/src/module_finalizers/impl_visit_mut.rs | 453 | if let Some(kind) = self.ctx.module.ecma_view.this_expr_replace_map.get(&this_expr.span) { |
| CRITICAL | crates/rolldown/src/module_loader/module_loader.rs | 442 | if self.shared_context.options.experimental.vite_mode.unwrap_or_default() |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | AGENTS.md | 59 | - `packages/debug/src/generated/*` - Auto-generated code for devtools integration |
| HIGH | tasks/generator/src/output/mod.rs | 23 | "{comment_start} Auto-generated code, DO NOT EDIT DIRECTLY!\n\ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 630 | // TODO: hyf0 should switch to a more robust way to identify lazy proxy modules |
| MEDIUM | crates/rolldown/src/hmr/hmr_ast_finalizer.rs | 884 | // TODO(hana): we should think about a more robust way to track the consolidated export type of a module in the fu |
| Severity | File | Line | Snippet |
|---|---|---|---|
| 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"."#, |
| LOW | .github/workflows/update-test-dependencies.yml | 326 | # make sure to run this step before updating the version in urls.ts |