Skip to content

Rust-based JS import scanner #15

@zkat

Description

@zkat

One super-critical part of the dependency download process for dstopic is the ability to batch downloads according to what will probably be required. To this end:

We need a Rust-based parser that can handle:

  • Modern JS
  • Typescript
  • JSX

And return a list of toplevel import-ed and require-ed paths. dstopic will use this to speed up dependency downloads by batching requests together. Note that the parser doesn't need to completely support the above -- just enough to extract imports and requires, and it doesn't need to handle dynamic ones, since this is largely an optimization. In theory, this could even be as simple as a regex, but I'd rather go the parser route if possible.

After doing some research, I found RESSA, which looks like it would be up to the task -- most other existing Rust-based parsers seem to be fairly incomplete, or designed specifically for Neon-based usage (like swc).

(original thread)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions