这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@PhearZero
Copy link

@PhearZero PhearZero commented Feb 15, 2024

Overview

Node 16 and all major browsers now support esm modules. This proposes refactoring the module in a non-breaking way in order to better leverage modern bundlers.

This could be refactored to be less code changes, this work was just looking for bundle optimizations for an sdk module. The least amount of changes would be having a single file. I have no issues with reworking this PR just seeing how difficult it would be and learning more about it's structure.

TODO

  • Convert nacl.js to ESM
    • Pass node.js specifications
    • Pass full node.js specification
    • Pass browser specifications
  • Convert nacl-fast.js to ESM
    • Pass node.js specifications
    • Pass full node.js specification
    • Pass browser specifications
  • Update build artifacts
    • Build commonjs and umd artifacts
    • Define hot paths for exports key
    • Create bundle analyzer pipeline

Legal Assertion

I dedicate any and all copyright interest in this software to the
public domain. I make this dedication for the benefit of the public at
large and to the detriment of my heirs and successors. I intend this
dedication to be an overt act of relinquishment in perpetuity of all
present and future rights to this software under copyright law.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

@PhearZero
Copy link
Author

@dchest I have a way to load the random number generator in an esm friendly way for node.js.

If the browser doesn't support an RNG, this should fail with the check for process

Relates to: StableLib/stablelib#51 (comment)

Repository owner deleted a comment Mar 10, 2024
@PhearZero PhearZero closed this Feb 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant