2 Commits
Author SHA1 Message Date
sugoidogo 4884247282 fix imports for node 20+
Release / release (push) Successful in 23s
2025-12-31 02:20:58 -08:00
sugoidogo 1fa35ba82e include mime type in getFile
Release / release (push) Successful in 24s
2025-12-30 12:03:26 -08:00
4 changed files with 11 additions and 8 deletions
+2 -2
View File
@@ -7,8 +7,8 @@ const writable = await file_handle.createWritable()
writable.write('Hello World!')
writable.close()
const file = await file_handle.getFile()
const file_text = await file.text()
console.log(file_text)
console.log(file.type)
console.log(await file.text())
const result = await cwd_directory_handle.getFileHandle('test/test.txt').catch(error => 'blocked path traversal')
if (typeof result === 'string') console.log(result)
else console.error('path traversal not blocked')
+2 -2
View File
@@ -1,8 +1,8 @@
import * as fs from 'node:fs';
import * as asyncfs from 'node:fs/promises';
import * as path from 'node:path';
import NodeFileSystemHandle from './NodeFileSystemHandle.js';
import NodeFileSystemFileHandle from './NodeFileSystemFileHandle.js';
import NodeFileSystemHandle from './NodeFileSystemHandle.ts';
import NodeFileSystemFileHandle from './NodeFileSystemFileHandle.ts';
export default class NodeFileSystemDirectoryHandle extends NodeFileSystemHandle implements FileSystemDirectoryHandle {
declare kind: "directory";
+5 -3
View File
@@ -1,8 +1,9 @@
import * as fs from 'node:fs';
import * as asyncfs from 'node:fs/promises';
import * as path from 'node:path';
import NodeFileSystemHandle from './NodeFileSystemHandle.js';
import NodeFileSystemWritableFileStream from './NodeFileSystemWriteableFileStream.js';
import NodeFileSystemHandle from './NodeFileSystemHandle.ts';
import NodeFileSystemWritableFileStream from './NodeFileSystemWriteableFileStream.ts';
import mime from 'mime'
export default class NodeFileSystemFileHandle extends NodeFileSystemHandle implements FileSystemFileHandle {
declare kind: "file";
@@ -18,7 +19,8 @@ export default class NodeFileSystemFileHandle extends NodeFileSystemHandle imple
}
async getFile(): Promise<File> {
const stats = await asyncfs.stat(this.path)
return asyncfs.readFile(this.path).then(buffer => Object.assign(new Blob([buffer]), {
const type = mime.getType(this.name.split('.').pop())
return asyncfs.readFile(this.path).then(buffer => Object.assign(new Blob([buffer],{type}), {
lastModified: stats.mtimeMs,
name: this.path,
webkitRelativePath: this.path
+2 -1
View File
@@ -7,7 +7,8 @@
"sourceMap": true,
"declaration": true,
"declarationMap": true,
"outDir": "dist"
"outDir": "dist",
"rewriteRelativeImportExtensions": true
},
"include": ["src"]
}