korefile
korefile copied to clipboard
File System API for Local/GitHub.
korefile ![Actions Status: test](https://github.com/azu/korefile/workflows/test/badge.svg)
korefile: コレ・ファイル
File System API for Local/GitHub.
Features
- Write/Read/Delete API for Local/GitHub
- Pluggable adaptor
Install
Install with npm:
npm install korefile
Usage
Korefile apply KoreFileAdaptor implementation.
FsAdaptor
Read/Write/Delete for local file system.
It wraps fs
module.
import {createKoreFile, createFsAdaptor} from "korefile";
const koreFile = createKoreFile({
adaptor: createFsAdaptor()
});
(async () => {
// write
await koreFile.writeFile("/path/to/file", "content");
// read
const content = await koreFile.readFile("/path/to/file");
// delete
await koreFile.deleteFile("/path/to/file");
})()
GitHubAdaptor
Read/Write/Delete for GitHub repository. It wrap octokit/rest.js.
Require GitHub Auth Token.
import {createKoreFile, createGitHubAdaptor} from "korefile";
const koreFile = createKoreFile({
adaptor: createGitHubAdaptor({
owner: "azu",
repo: "korefile",
ref: "heads/test",
token: process.env.GH_TOKEN
})
});
(async () => {
// file path should be relative
const testFilePath = "file.test";
// write
await koreFile.writeFile(testFilePath, input);
// read
const content = await koreFile.readFile(testFilePath);
// delete
await koreFile.deleteFile(testFilePath);
})();
UseCase
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm test
Contributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
License
MIT © azu