Skip to content

Question on code comment: 'This loop will terminate when the queue is empty.' #12

@conradlo

Description

@conradlo

Thanks so much for this simple example!
It really revealed the 'magic' behind javascript bundler for me.

There is a point I'm not quite understand though.

Regarding the for .. of loop in the createGraph function

minipack/src/minipack.js

Lines 115 to 117 in ce3b1b5

// only has one asset but as we iterate it we will push additional new assets
// into the queue. This loop will terminate when the queue is empty.
for (const asset of queue) {

To my understanding, the loop will terminate when

  1. there are no more child asset being pushed to the end of query
  2. the code reached the end of query

which also means the the dependency graph was completed.
Hence the query will never be empty (there is at least one asset: the entry/main asset)
Or did I misunderstand something here?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions