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

Enhanced stat object #105

Open
phated opened this issue Sep 7, 2016 · 7 comments
Open

Enhanced stat object #105

phated opened this issue Sep 7, 2016 · 7 comments
Assignees
Milestone

Comments

@phated
Copy link
Member

phated commented Sep 7, 2016

Opening this as the solution to a bunch of other issues.

This to achieve:

@Marak
Copy link

Marak commented Oct 15, 2017

Do we have a status update on this issue @phated? How close to complete is this?

I'm running into some issues where we are trying to pass around a Vinyl stat object into existing fs based interfaces that expect a regular fs based stat object.

@phated
Copy link
Member Author

phated commented Oct 15, 2017

@Marak Approximately 0% - Vinyl's stat object is still just constructed by fs.Stat. I created a repository at https://github.com/gulpjs/better-stats but no one was interested in helping out so this will fall to the future.

@phated
Copy link
Member Author

phated commented Nov 4, 2018

Quoting "steps" as outlined in gulp-community/gulp-less#303 (comment)

Basically the way I see it working is:

  • better-stats would be created to do exactly that - a better stats object, and it would handle the ctime (mode change) attribute automatically any time it was changed
  • a vinyl instance would handle updating its stats atime (access time) and mtime (modify time) whenever the contents attribute was modified (Buffer.is to compare), or stream was piped to something (would be tricky to determine if the output as actually changed or not, but possible). Would probably want to use a proxy here.
  • vinyl-fs would need to be modified to work with the new stat objects, and support setting ctime/mtime/atime properly on write in dest.

I'm pretty sure we'd need to work on a BetterBuffer object that would interact with BetterStats but I'm not sure, as I haven't looked into it at all.

@yocontra
Copy link
Member

Picking this one up and assigning to myself. @phated I noticed a lot of work has been done on better-stats, can you give a quick update on what is still missing + your plans for that? I want to make sure I don't reinvent the wheel if you've already made API decisions for that.

@VividVisions
Copy link

Any news on this? We just ran into problems caused by gulp (4.0.2) not updating the last-modified property on overwritten/updated files (on Node.js 12.18.3).

@phated
Copy link
Member Author

phated commented Oct 14, 2020

Unfortunately, no one has begun work on this yet. @VividVisions would you want to help out?

@VividVisions
Copy link

@phated I'm sorry, but I fear I don't have the necessary time to dive into this. :(

@phated phated added this to post-v5 Sep 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

4 participants