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

Restructuration of Driver in Modules #678

Merged
merged 41 commits into from
Mar 23, 2021

Conversation

bigmontz
Copy link
Contributor

@bigmontz bigmontz commented Feb 3, 2021

The segmentation of the core module is part of the effort of reduce the size of the bundle for web application.

On the core module, all the driver async interface will be defined and implemented in typescript, the details of the bolt protocol, pooling and packstream is not part of this core module.

bolt-connection module is responsible for implementing the connectivity details. The bolt protocol, handshake, packstream, connection pool, browser-channel and node-channel are defined in this module. It will provide a way to bundle the correct channel for node and browser using the property browser on the package.json.

The core and bolt-connection package will be bundled together with neo4j-driver.

  • Extract core package with the implementation of Neo4jError in Typescript
  • Import and use it in the neo4j-driver
  • Pack the core together with neo4j-driver
  • Make core classes and objects part of neo4j-driver documentation
  • Move other classes and files to the core package
  • Extract the bolt-connection package

@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch 2 times, most recently from 9ce742e to 17d0c89 Compare February 9, 2021 15:39
@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch from 2465344 to ee31166 Compare February 11, 2021 14:57
@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch 2 times, most recently from 51cd057 to c6d0a17 Compare February 24, 2021 10:53
@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch from 1cd5d0c to ec3aa5c Compare March 3, 2021 14:41
@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch 6 times, most recently from fafe04b to aa164d5 Compare March 5, 2021 12:04
@bigmontz bigmontz force-pushed the 4.3-extracting-modules branch from 402f3ea to cb80775 Compare March 8, 2021 16:20
@bigmontz bigmontz changed the title Extracting a core module from the driver Restructuration of Driver in Modules Mar 19, 2021
The segmentation of the bolt-connection module is part of the effort of reduce the size of the bundle for web application. On the bolt-connection module, all the connection and connection provider details are implemented. Chunking, Pool, Routing, Bolt Protocol, etc.

This segmentation is part of the effort to modularise better the driver.
@bigmontz bigmontz marked this pull request as ready for review March 19, 2021 14:25
@bigmontz bigmontz merged commit a64dbed into neo4j:4.3 Mar 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant