Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store graph edges in SharedArrayBuffer #6922

Merged
merged 134 commits into from Nov 16, 2021
Merged

Commits on Apr 12, 2021

  1. Copy the full SHA
    04a89fe View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    1139fc6 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2021

  1. clean up comments

    thebriando committed Apr 13, 2021
    Copy the full SHA
    c09a85e View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2021

  1. Copy the full SHA
    4fd4898 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    bb58ee8 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    1a07b1e View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    99c1761 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. Copy the full SHA
    b453252 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2021

  1. WIP: add new graph impl

    lettertwo committed Apr 21, 2021
    Copy the full SHA
    72da0a0 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2021

  1. Update EfficientGraph plan

    lettertwo committed Apr 22, 2021
    Copy the full SHA
    5c9fb37 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2021

  1. Copy the full SHA
    2fe8cd8 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    a5065fe View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2021

  1. Copy the full SHA
    9661bf5 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    e9e08b0 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. Annotate resizeEdges

    lettertwo committed Apr 27, 2021
    Copy the full SHA
    493c36f View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Add graphviz() method

    This is not likely to stay here; it is probably better integrated
    into some test or benchmarking utilities (like `dumpGraphToGraphviz`).
    lettertwo committed May 4, 2021
    Copy the full SHA
    e7a6146 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Add openGraphViz util

    lettertwo committed May 6, 2021
    Copy the full SHA
    28cbf62 View commit details
    Browse the repository at this point in the history
  2. Add 1 to edge hashes and type values

    This is to allow truthy tests to pass when checking to see if
    edges exist.
    lettertwo committed May 6, 2021
    Copy the full SHA
    2546c1f View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    dff09b1 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    00ca256 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    8f4186c View commit details
    Browse the repository at this point in the history
  6. Merge remote-tracking branch 'origin/lettertwo/buffer-backed-graph' i…

    …nto bdo/buffer-backed-graph
    thebriando committed May 6, 2021
    Copy the full SHA
    1746093 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. Copy the full SHA
    8609989 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. fix traversal test

    thebriando committed May 11, 2021
    Copy the full SHA
    e3608af View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    aa395e4 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. Copy the full SHA
    e291960 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'bdo/buffer-backed-graph' into lettertwo/buffer-backed-g…

    …raph
    
    * bdo/buffer-backed-graph:
      Add generic TEdgeType to EfficientGraph
      change NullEdgeType back to 1, enforce edge types to be non-zero in Graph
      fix traversal test
      Use new EfficientGraph functions in Graph, update tests, fix edge type in removeEdge
      use EfficientGraph getNodes functions, update graph tests, change default edge type to 1
    lettertwo committed May 12, 2021
    Copy the full SHA
    ca2a1f8 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    5b0d083 View commit details
    Browse the repository at this point in the history
  4. Fix node storage overlap

    This adds `nodeAt` and `indexOfNode` utils to abstract away
    the bookkeeping for storing and retrieving nodes in the byte array.
    
    Also fixes a bug where subsequently added nodes would partially
    overlap previous nodes in the byte array.
    lettertwo committed May 12, 2021
    Copy the full SHA
    4a0d5b4 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    d4a470c View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    d573e7a View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    943a0c2 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2021

  1. Fix isOrphanedNode

    lettertwo committed May 13, 2021
    Copy the full SHA
    7a6ccc5 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    a18022e View commit details
    Browse the repository at this point in the history
  3. hash edge types

    thebriando committed May 13, 2021
    Copy the full SHA
    f7142f7 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    6cb15ad View commit details
    Browse the repository at this point in the history
  5. Merge remote-tracking branch 'origin/lettertwo/buffer-backed-graph' i…

    …nto bdo/buffer-backed-graph
    thebriando committed May 13, 2021
    Copy the full SHA
    122e7eb View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    6a8910b View commit details
    Browse the repository at this point in the history
  7. preserve edge insertion order in getAllEdges

    Lots of test cases seem to expect this. I'm not sure if that is
    intentional or not, but it seems reasonable to do this, regardless.
    lettertwo committed May 13, 2021
    Copy the full SHA
    8482859 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2021

  1. Fix removeEdge for edges that have hash collisions

    Also attempt to disambiguate some of the naming
    for hash and index functions.
    lettertwo committed May 14, 2021
    Copy the full SHA
    8d5a857 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. Remove old AdjacencyList, serialize EfficientGraph in Graph, update B…

    …undleGraph to use new functions
    thebriando committed May 17, 2021
    Copy the full SHA
    4dc9f7c View commit details
    Browse the repository at this point in the history

Commits on May 23, 2021

  1. Copy the full SHA
    341fca2 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. Merge branch 'bdo/buffer-backed-graph' into lettertwo/buffer-backed-g…

    …raph
    
    * bdo/buffer-backed-graph: (37 commits)
      Improve resolver performance (#6328)
      v2.0.0-beta.3.1
      Add it to the nightly release workflow as well
      Configure jemalloc page size for M1 (#6314)
      Update swc (#6307)
      Fix parcelDependencies
      v2.0.0-beta.3
      Update swc (#6289)
      Remove old AdjacencyList, serialize EfficientGraph in Graph, update BundleGraph to use new functions
      Babel ast location, diagnostic, and source location remapping (#6238)
      update contributing guide (#6293)
      Update sourcemap to rc-1.0 (#6279)
      Serve nearest index.html in case the applications has multiple index files (#6250)
      Allow bundling browserify bundles by replacing free requires with undefined (#6260)
      Upgrade flow to 0.151.0 (#6281)
      Use local require for `@babel/core` and `postcss` (#6264)
      Resolve helpers relative to JS transformer (#6278)
      Pure comment for $parcel$interopDefault (#6271)
      Don't transpile spread in JSX with modern targets (#6274)
      Update TS validator assertions (#6272)
      ...
    lettertwo committed May 26, 2021
    Copy the full SHA
    d2bc2f9 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    64d1119 View commit details
    Browse the repository at this point in the history
  3. Add removeNode method

    lettertwo committed May 26, 2021
    Copy the full SHA
    f09fb4c View commit details
    Browse the repository at this point in the history

Commits on May 30, 2021

  1. Merge branch 'v2' of github.com:parcel-bundler/parcel into bdo/number…

    …-edgetypes
    
    # Conflicts:
    #	packages/core/core/src/BundleGraph.js
    #	packages/core/core/src/dumpGraphToGraphViz.js
    #	yarn.lock
    devongovett committed May 30, 2021
    Copy the full SHA
    65bd2df View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Remove some old comments

    lettertwo committed Jun 3, 2021
    Copy the full SHA
    2e7306a View commit details
    Browse the repository at this point in the history
  2. Fix resize loop when initial graph size is very small

    We resize the graph edges when the available capacity is <30%,
    but we were indexing a new edge _before_ expanding capacity,
    which was causing a loop when the the total capacity was too small
    (i.e., `4`) to trigger the 30% threshold in a previous add _and_
    there was no available capcity for the next add.
    lettertwo committed Jun 3, 2021
    Copy the full SHA
    a4d7167 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    1b4c74d View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    426cb6b View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Add simple clustering and uniformity stats

    This could help us optimize our hash function.
    lettertwo committed Jun 4, 2021
    Copy the full SHA
    4941e0a View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    bc71859 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    8ff880f View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    b8a67c8 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2021

  1. Serialize node and edge capacities

    Since these values are used in hashing, we serialize them
    along with the edges and nodes to ensure that the hashes don't
    change when a new graph is deserialized from a previous graph.
    lettertwo committed Jun 8, 2021
    Copy the full SHA
    cbd13c9 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2021

  1. Copy the full SHA
    436f61f View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    66f4f75 View commit details
    Browse the repository at this point in the history
  3. Fix lookups after edges have been removed

    This addes a DELETED sentinel that preserves contiguity
    in the hash table so that scanning forward to find edges
    that match a hash continues to work after other edges with
    a matching hash have been removed.
    lettertwo committed Jun 9, 2021
    Copy the full SHA
    265928c View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2021

  1. Copy the full SHA
    d0aa237 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    bce2872 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    eed64ff View commit details
    Browse the repository at this point in the history
  4. Remove unused removeNode method

    Not only is it unused, but it might not make any sense for it to exist,
    given that adding a node is basically just incrementing a counter.
    lettertwo committed Jun 15, 2021
    Copy the full SHA
    f61772b View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Fix typo

    lettertwo committed Jun 16, 2021
    Copy the full SHA
    cf2ad62 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. Use stored node/edge capacity instead of recomputing

    Also fix collision stat and add node/edge capacity and load stats
    lettertwo committed Jun 17, 2021
    Copy the full SHA
    c20a93e View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2021

  1. Copy the full SHA
    f18694a View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. fix hash function

    thebriando committed Jun 22, 2021
    Copy the full SHA
    82bb175 View commit details
    Browse the repository at this point in the history
  2. Revert "fix hash function"

    This reverts commit 82bb175.
    thebriando committed Jun 22, 2021
    Copy the full SHA
    854fe3e View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    50d90ac View commit details
    Browse the repository at this point in the history
  4. Fix edge graphviz

    lettertwo committed Jun 22, 2021
    Copy the full SHA
    655a320 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    c12f898 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2021

  1. Copy the full SHA
    275cf83 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    b15127d View commit details
    Browse the repository at this point in the history
  3. Make getAllEdges iterable

    The common use case here is iterating over all the edges
    to copy them to a new graph. Since a graph may have _a lot_
    of edges, we can conserve memory by avoiding collecting all
    edges up front.
    lettertwo committed Jun 24, 2021
    Copy the full SHA
    176a3b5 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    3ba2ea6 View commit details
    Browse the repository at this point in the history
  5. Fix flow errors

    lettertwo committed Jun 24, 2021
    Copy the full SHA
    4e743f6 View commit details
    Browse the repository at this point in the history
  6. Clean up Graph changes

    lettertwo committed Jun 24, 2021
    Copy the full SHA
    74dafa3 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    6b7039e View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2021

  1. remove nextNodeId

    thebriando committed Jun 28, 2021
    Copy the full SHA
    6452372 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    3b6e83b View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2021

  1. Copy the full SHA
    c467c77 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2021

  1. Copy the full SHA
    e95fa90 View commit details
    Browse the repository at this point in the history
  2. Refactor AdjacencyList to Node and Edge views

    These views are meant to simplify the bookkeeping operations
    in AdjacencyList, though they may be introducing some slowdowns.
    
    However, this should provide some optimization opportunity,
    for example, caching/memoizing of computed values,
    and also implementing a doubly linked edge list to improve
    scan / iteration times.
    lettertwo committed Jul 1, 2021
    Copy the full SHA
    eae8ef3 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Copy the full SHA
    47fe2c4 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2021

  1. Add inspection methods to Node, Edge

    This makes console logging a little more readable during debugging
    lettertwo committed Jul 8, 2021
    Copy the full SHA
    50a8ba6 View commit details
    Browse the repository at this point in the history
  2. Move edge linking out of Edge statics

    We'll try to make AdjacencyList be responsible for all linking,
    while Edge/Node are just responsible for reading/writing to/from
    the node and edge arrays.
    lettertwo committed Jul 8, 2021
    Copy the full SHA
    cc18c5b View commit details
    Browse the repository at this point in the history
  3. Update indexOf/indexFor to default to null edge type

    Aslo remove some old code
    lettertwo committed Jul 8, 2021
    Copy the full SHA
    95b5a18 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Copy the full SHA
    b3c94fe View commit details
    Browse the repository at this point in the history
  2. Merge branch 'v2' into lettertwo/buffer-backed-graph

    * v2: (34 commits)
      Wrap assets recursively when any incoming dependency is wrapped (#6572)
      Improvements for library targets (#6570)
      Diagnostic for undeclared external dependencies in library builds (#6564)
      More bugs (#6567)
      Don't require `url:` for image transformer (#6565)
      Remove 'Name already registered with serializer' error (#6566)
      Fix live bindings and `this` of external CommonJS modules (#6548)
      JS runtime improvements (#6531)
      Make sure the absolute path isn't contained in the cache (#5900)
      Adds '@parcel/diagnostic' to dependencies (#6563)
      Disable workers with string literals and improve diagnostics (#6536)
      Bug fixes (#6541)
      Don't attempt to resolve URLs starting with '#' (#6504)
      Correctly set worker's output format if not support by environment (#6534)
      Babel: Recognize peerDependencies in isJSX (#6497)
      fix setHeaders ordering on dev server (#6500)
      Graph: Remove Node interface (#6530)
      Fix TS build script for old Node versions (#6526)
      Improve library targets (#6517)
      Fix TypeScript and other sourcemaps by always creating an initial sourcemap (#6472)
      ...
    lettertwo committed Jul 9, 2021
    Copy the full SHA
    3a6eec7 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2021

  1. Speed up traversal to/from a node by edge type.

    This adds a lookup table by type to or from a given node,
    so that it is trivial to frequently get a given node's
    connected nodes of a given type.
    lettertwo committed Jul 13, 2021
    Copy the full SHA
    40678f4 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    6c9d750 View commit details
    Browse the repository at this point in the history
  3. Add maxCollisions stat

    lettertwo committed Jul 13, 2021
    Copy the full SHA
    2251a45 View commit details
    Browse the repository at this point in the history
  4. Merge Edge and Node into AdjacencyList

    The overhead associated with these two data structures
    was not negligible, so a better choice is to use methods
    on AdjacencyList instead of creating Edge and Node views.
    lettertwo committed Jul 13, 2021
    Copy the full SHA
    6e79ee5 View commit details
    Browse the repository at this point in the history
  5. Remove old tests

    lettertwo committed Jul 13, 2021
    Copy the full SHA
    d149d71 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    9879b9f View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2021

  1. Implement XOR doubly linked edge list

    This is a space optimization; there may be some performance impact
    due to the extra time spent scanning the list when removing an edge.
    
    It saves space by eliminating the need to explicitly store the
    next and previous edges in each edge object. Instead, it maintains
    an XOR of the next and previous edges on each edge, which means
    following the links between edges requires knowing the edge that
    came before or after.
    lettertwo committed Jul 14, 2021
    Copy the full SHA
    ae2cbd8 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2021

  1. Microoptimizing

    lettertwo committed Jul 15, 2021
    Copy the full SHA
    625c30b View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2021

  1. Refactor generator methods to return arrays

    They're all just getting immediately exhausted by Graph anyway.
    lettertwo committed Jul 16, 2021
    Copy the full SHA
    e95a856 View commit details
    Browse the repository at this point in the history
  2. Revert to singly linked edge list

    XOR links are about 25% slower than the reference link implementation,
    but use about 20-25% less space. The singly linked version is even
    slower than XOR, but has the same space savings.
    
    This commit restores a singly linked list, but adds a caching
    mechanism for improving the perf when finding a previous edge.
    lettertwo committed Jul 16, 2021
    Copy the full SHA
    22f5820 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2021

  1. Remove old debugging code

    lettertwo committed Jul 20, 2021
    Copy the full SHA
    86b7f7d View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    9edfb43 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2021

  1. Memoize edge indexes

    thebriando committed Jul 28, 2021
    Copy the full SHA
    4ea37eb View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2021

  1. Bookkeep empty/deleted edges for constant time lookup when we search …

    …for an available slot to add an edge to
    thebriando committed Jul 29, 2021
    Copy the full SHA
    e5cf2de View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2021

  1. Refactor hashing and index functions to use coalesced chaining

    Each edge now has a pointer to the next edge in the list of collisions
    indexFor will find an empty edge and update the last edge in the chain to point to the newly added edge
    indexOf will now only traverse through the list of edges with the same hash
    
    TODO:
    * reuse deleted edges
    * move NEXT_HASH pointer to another structure to save on memory
    * the cellar gets exhausted pretty quickly, look into increasing the amount of space the cellar occupies
    thebriando committed Aug 3, 2021
    Copy the full SHA
    e0cc334 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2021

  1. Copy the full SHA
    8657593 View commit details
    Browse the repository at this point in the history
  2. Change NullEdgeType to 1

    thebriando committed Aug 5, 2021
    Copy the full SHA
    e85fc92 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    89b11aa View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. Keep NEXT_HASH reference when removing edges in the adressable space …

    …that point to edges in the cellar
    thebriando committed Aug 6, 2021
    Copy the full SHA
    7151429 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2021

  1. Implement a close addressed hash table

    Also added a header sequence to the arrays, which eliminates
    the need to serialize other data separately from the arrays.
    lettertwo committed Aug 12, 2021
    Copy the full SHA
    182b027 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2021

  1. Fix unit tests

    lettertwo committed Sep 2, 2021
    Copy the full SHA
    26636c5 View commit details
    Browse the repository at this point in the history
  2. Defer reclaiming of deleted space until the next add

    We were reclaiming space when removing edges, but it turns out
    that doing so was quite expensive in practice. Instead, we defer
    reclaiming that space until the sum total of adds and deletes
    exceeds the capacity by the load factor.
    lettertwo committed Sep 2, 2021
    Copy the full SHA
    5fb2115 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2021

  1. Copy the full SHA
    e6c5580 View commit details
    Browse the repository at this point in the history
  2. Remove DELETED sentinel

    We don't need this any more because we eliminated linear scanning.
    lettertwo committed Sep 3, 2021
    Copy the full SHA
    4edc8b7 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2021

  1. Copy the full SHA
    2235203 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    efe641f View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2021

  1. Copy the full SHA
    96154c8 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    6fa9f26 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    490243e View commit details
    Browse the repository at this point in the history
  4. Ease edge growth rate as capacity increases

    This is intended to strike a balance between growing the
    edge capacity in too small increments, which causes a lot of
    resizing, and growing the edge capacity in too large increments,
    which results in a lot of wasted memory.
    lettertwo committed Sep 9, 2021
    Copy the full SHA
    7167f81 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2021

  1. Lazily populate typemap cache

    It turns out prepopulating the typemap before doing any traversal
    slows down the graph building process significantly, but does not
    make traversal any faster.
    lettertwo committed Sep 10, 2021
    Copy the full SHA
    3fdff6f View commit details
    Browse the repository at this point in the history
  2. Fix tests

    lettertwo committed Sep 10, 2021
    Copy the full SHA
    938e307 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2021

  1. Merge branch 'v2' into bdo/number-edgetypes

    * v2: (42 commits)
      Remove dead link to docs in diagnostic (#6913)
      Fix engines.parcel in SVG packager (#6911)
      Use imported Readable flow type instead of global (#6910)
      Use non-deprecated SVGO options in HTMLNanoOptimizer (#6785)
      Use yarnpkg registry for all the things (#6908)
      Fix issue about loading configs from tsconfig.json (#6881)
      Add `@section` to Compressor type (#6885)
      Parcel API improvements (#6866)
      Use stream-browserify for polyfilling instead (#6863)
      Add support for compressor plugins (#6776)
      Support for inline style attributes and inline scripts in SVG (#6797)
      Bump less (#6852)
      Make sure (non-React) SVGs are in separate bundles (#6757)
      Add support for injecting manifest into service workers (#6798)
      Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
      Remaining cargo clippy fixes (#6829)
      Lazily install sharp only when needed (#6816)
      More cargo clippy suggestions (#6811)
      Don't emit runtime manifest for inline child bundles (#6807)
      Apply suggestions from rust-clippy (#6256)
      ...
    lettertwo committed Sep 13, 2021
    Copy the full SHA
    0b0a475 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'bdo/number-edgetypes' into lettertwo/buffer-backed-graph

    * bdo/number-edgetypes: (74 commits)
      Remove dead link to docs in diagnostic (#6913)
      Fix engines.parcel in SVG packager (#6911)
      Use imported Readable flow type instead of global (#6910)
      Use non-deprecated SVGO options in HTMLNanoOptimizer (#6785)
      Use yarnpkg registry for all the things (#6908)
      Fix issue about loading configs from tsconfig.json (#6881)
      Add `@section` to Compressor type (#6885)
      Parcel API improvements (#6866)
      Use stream-browserify for polyfilling instead (#6863)
      Add support for compressor plugins (#6776)
      Support for inline style attributes and inline scripts in SVG (#6797)
      Bump less (#6852)
      Make sure (non-React) SVGs are in separate bundles (#6757)
      Add support for injecting manifest into service workers (#6798)
      Fix 'does not export default' error with scope hoisting and url/worklet pipeline (#6803)
      Remaining cargo clippy fixes (#6829)
      Lazily install sharp only when needed (#6816)
      More cargo clippy suggestions (#6811)
      Don't emit runtime manifest for inline child bundles (#6807)
      Apply suggestions from rust-clippy (#6256)
      ...
    lettertwo committed Sep 13, 2021
    Copy the full SHA
    f964457 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2021

  1. Rename getNodesConnected{To,From} to getNodeIdsConnected{To,From}

    This matches the naming of the corresponding methods on Graph.
    lettertwo committed Sep 14, 2021
    Copy the full SHA
    a6e4d98 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    a14f211 View commit details
    Browse the repository at this point in the history
  3. Replace string conversion with prime multiplication in hash

    It's benchmarking about 67% faster without any degradation in uniformity.
    
    Also fixed some tests that were assuming some things about hashing.
    lettertwo committed Sep 14, 2021
    Copy the full SHA
    e047e46 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2021

  1. Merge branch 'v2' into lettertwo/buffer-backed-graph

    * v2:
      Upgrade Flow to 0.160.1 (#6964)
      Only use error overlay if there's a document (#6960)
      Don't fail when HTML tags are implied (#6752)
      Reorder resolveOptions() env priority (#6904)
      Change edge types to numbers (#6126)
      Bump swc (#6848)
      Print diagnostics for scope hoisting bailouts at verbose log level (#6918)
    lettertwo committed Sep 22, 2021
    Copy the full SHA
    0ef5eb3 View commit details
    Browse the repository at this point in the history
  2. Refactor nodes and edges into type maps

    This looks like a big change because a lot of stuff moved around.
    The edges are currently stored the same way they were before,
    but the hash table implementation has been extracted for use
    in the new node map.
    
    The node map is where the real change is; instead of just linking
    nodes to addresses in the edge map, it now stores multiple sets
    of links per node, one for each type of edge.
    
    This allows us to eliminate the need for a type map cache,
    as we are now able to look up edges by type in constant time.
    lettertwo committed Sep 22, 2021
    Copy the full SHA
    18b832b View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2021

  1. Copy the full SHA
    7951eef View commit details
    Browse the repository at this point in the history
  2. Fix flow errors

    thebriando committed Sep 23, 2021
    Copy the full SHA
    c01c641 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    710e743 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2021

  1. Fix lint errors

    lettertwo committed Sep 27, 2021
    Copy the full SHA
    65915e5 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2021

  1. Copy the full SHA
    8aa9c25 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2021

  1. Merge branch 'v2' into lettertwo/buffer-backed-graph

    * v2: (68 commits)
      Fix RangeError in `not export` error with other file type (#7295)
      Apply sourcemap in @parcel/transformer-typescript-tsc (#7287)
      Fix side effects glob matching (#7288)
      Fix changelog headings
      v2.0.1
      Changelog for v2.0.1
      Resolve GLSL relative to the importer, not the asset (#7263)
      fix: add @parcel/diagnostic as dependency of @parcel/transformer-typescript-types (#7248)
      Fixed missing "Parcel" export member in Module "@parcel/core" (#7250)
      Add script to sync engines with core version (#7207)
      Bump swc (#7216)
      Make Webpack loader detection regex dramatically faster (#7226)
      swc optimizer (#7212)
      Update esbuild in optimizer (#7233)
      Properly visit member expressions (#7228)
      Update to prettier 2 (#7209)
      Fix serve mode with target override and target source fields (#7187)
      Update package.json to include the repository (#7184)
      fix #6730: add transformer-raw as dependency of config-webextension (#7193)
      Log warning instead of crash if image optimizer fails (#7119)
      ...
    lettertwo committed Nov 15, 2021
    Copy the full SHA
    73cf858 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2021

  1. prettier

    lettertwo committed Nov 16, 2021
    Copy the full SHA
    07e70d0 View commit details
    Browse the repository at this point in the history