fix(core): Migrate file I/O to @push.rocks/smartfs, adopt TC39 decorators v3 accessor in web components, and update docs/tests
This commit is contained in:
@@ -1 +1,40 @@
|
||||
|
||||
# Development Hints
|
||||
|
||||
## Dependencies (v2.0.0)
|
||||
|
||||
- Uses `@push.rocks/smartfs` (v1.2.0) for filesystem operations - SmartFs is class-based with fluent API
|
||||
- Uses `@push.rocks/smartfile` (v13.1.0) - note: v13 removed the `.fs` namespace, use smartfs instead
|
||||
- Uses `@git.zone/tstest/tapbundle` for tests (NOT @push.rocks/tapbundle)
|
||||
- Test files must end with `export default tap.start()`
|
||||
|
||||
## TC39 Decorators v3
|
||||
|
||||
All decorated properties in web components use the `accessor` keyword:
|
||||
```typescript
|
||||
@property({ type: Object })
|
||||
accessor letterData: TInvoice;
|
||||
```
|
||||
|
||||
## SmartFs Usage
|
||||
|
||||
```typescript
|
||||
import { SmartFs, SmartFsProviderNode } from '@push.rocks/smartfs';
|
||||
const smartfs = new SmartFs(new SmartFsProviderNode());
|
||||
|
||||
// Reading files
|
||||
await smartfs.file('/path/to/file').encoding('utf8').read();
|
||||
|
||||
// Writing files
|
||||
await smartfs.file('/path/to/file').write(buffer);
|
||||
|
||||
// Directory operations
|
||||
await smartfs.directory('/path').exists();
|
||||
await smartfs.directory('/path').create();
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
- `ts/` - Node.js server-side code (PdfService)
|
||||
- `ts_web/` - Browser web components (Lit-based)
|
||||
- `ts_shared/` - Shared code (translations, interfaces)
|
||||
- `test/` - Test files
|
||||
|
||||
Reference in New Issue
Block a user