Nodejs filesystem
From wikinotes
filepaths
See https://nodejs.org/api/path.html
const path = require('path'); const filepath = path.resolve('foo.txt') // relative to abspath path.dirname(filepath) // '/home/you' path.basename(filepath) // 'foo.txt' path.extname(filepath) // '.txt' // nodejs does not expand ~ // so replace it with the envvar '~/.zshrc'.replace('~', process.env.HOME)
filesystem
See https://nodejs.org/api/fs.html
There are 2x separate APIs for interacting with files.
const fs = require('fs/promises'); // async/promise based const fs = require('fs'); // callback basedpromise api
const fs = require('fs/promises'); // async/await await fs.rename('/tmp/foo.txt', '/tmp/bar.txt'); // chained promises (? can I) fs.rename('/tmp/foo.txt', '/tmp/bar.txt') .then() .then()callback api
const fs = require('fs'); const contents = 'abc\ndef'; // async, callback based fs.writeFile('/var/tmp/foo.txt', contents, err => { if (err) { console.log(err); } }) // synchronous fs.writeFileSync('/var/tmp/foo.txt', contents)