Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
file-timestamp-stream
Advanced tools
This module creates stream.Writable to a file which is automatically rotated based on current time and uses strftime template for file names.
This module requires ES6 with Node >= 6.
npm install file-timestamp-stream
Additionally for Typescript:
npm install -D @types/node
Transpiling this module with own settings in tsconfig.json
:
{
"compilerOptions": {
"paths": {
"file-timestamp-stream": ["node_modules/file-timestamp-stream/src/file-timestamp-stream"]
}
}
}
Example:
const { FileTimestampStream } = require('file-timestamp-stream')
Typescript:
import FileTimestampStream from 'file-timestamp-stream'
flags
is a string with
flags
for opened stream (default: 'a'
)fs
is a custom fs module (optional)path
is a template for new filenames (default: 'out.log'
)Example:
Basic path based on strftime
parameters:
const stream = new FileTimestampStream({
path: '%Y-%m-%dT%H.log',
flags: 'a'
})
This method can be overriden in subclass.
The method generates a filename for new files. By default it returns new filename based on path and current time.
Example:
import strftime from 'ultra-strftime'
class MyFileTimestampStream extends FileTimestampStream {
/** count how many files has been created */
counter = 0
// for pure Javascript explicit constructor is necessary
// constructor (options) { super(options); this.counter = 0 }
protected newFilename (): string {
const filename = strftime(this.path)
if (filename !== this.currentFilename) this.counter++
return filename
}
}
const stream = new MyFileTimestampStream({
path: '%Y-%m-%dT%H:%M.log'
})
Readonly public properties based on contructor's options:
flags
fs
path
Protected properties for custom subclass:
currentFilename
contains last opened filenamestream
contains current
fs.WriteStream
objectPath can contain strftime specifiers.
This stream have to be closed to free own streams and timers.
Copyright (c) 2017-2018 Piotr Roszatycki piotr.roszatycki@gmail.com
FAQs
Writing stream with file rotating based on timestamp
We found that file-timestamp-stream demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.