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

[Idea]: achieve feature parity with builtin Node.js fs module #10

Open
kgryte opened this issue Jan 11, 2023 · 2 comments
Open

[Idea]: achieve feature parity with builtin Node.js fs module #10

kgryte opened this issue Jan 11, 2023 · 2 comments
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: low Low priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.

Comments

@kgryte
Copy link
Member

kgryte commented Jan 11, 2023

Idea

Achieve feature parity with Node.js fs package. We currently only support a limited selection of fs methods. Would be useful to support more.

Part of this work involves providing an abstraction layer of Node.js built-ins in order to support newer functionality (e.g., options and/or behavior) not present in older Node.js versions. This is similar in concept to the userland readable-stream package.

Expected Outcomes

stdlib will have complete feature parity with Node.js built-ins.

Involved Software

No other software is necessary.

Prerequisite Knowledge

JavaScript, Node.js.

Difficulty

Intermediate. Could require some creative solutions to ensure that abstractions work for older Node.js versions.

Project Length

175/350 hours. Can be scoped accordingly.

Potential Mentors

@kgryte @Planeshifter @steff456

@kgryte kgryte added idea Potential GSoC project idea. priority: normal Normal priority. difficulty: 3 Likely to be challenging but manageable. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js. labels Jan 11, 2023
@stdlib-js stdlib-js locked and limited conversation to collaborators Jan 11, 2023
@kgryte kgryte added priority: low Low priority. and removed priority: normal Normal priority. labels Jan 29, 2025
@kgryte
Copy link
Member Author

kgryte commented Feb 15, 2025

For those interested in working on this idea, you are advised to do a fair amount of R&D to determine the backward compatibility story. For newer Node.js fs features, such as recursively making directories, polyfilled workarounds are not always straightforward. Hence, you should spend a fair amount of time reading through the Node.js documentation, reading version logs, see which features have been added when, and then determining how you will provide fallbacks such that behavior is consistent across all supported Node.js versions.

@kgryte
Copy link
Member Author

kgryte commented Feb 15, 2025

Please do not simply submit a proposal saying "I will do APIs A, B, C this week, then D, E, F the following week, and so on and so forth", without having a thorough and well-considered approach for backward compatibility.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
difficulty: 3 Likely to be challenging but manageable. idea Potential GSoC project idea. priority: low Low priority. tech: javascript Involves programming in JavaScript. tech: nodejs Requires developing with Node.js.
Projects
None yet
Development

No branches or pull requests

1 participant