@walkeros/server-store-fs 4.1.0-next-1778668930820 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +174 -0
- package/README.md +28 -89
- package/dist/walkerOS.json +1 -1
- package/package.json +5 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# @walkeros/server-store-fs
|
|
2
|
+
|
|
3
|
+
## 4.1.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [e155ff8]
|
|
8
|
+
- Updated dependencies [e800974]
|
|
9
|
+
- Updated dependencies [e155ff8]
|
|
10
|
+
- Updated dependencies [1a8f2d7]
|
|
11
|
+
- Updated dependencies [1a8f2d7]
|
|
12
|
+
- Updated dependencies [b276173]
|
|
13
|
+
- Updated dependencies [dd9f5ad]
|
|
14
|
+
- Updated dependencies [c60ef35]
|
|
15
|
+
- Updated dependencies [adeebea]
|
|
16
|
+
- Updated dependencies [13aaeaa]
|
|
17
|
+
- Updated dependencies [e800974]
|
|
18
|
+
- Updated dependencies [adeebea]
|
|
19
|
+
- Updated dependencies [e800974]
|
|
20
|
+
- Updated dependencies [e800974]
|
|
21
|
+
- Updated dependencies [058f7ed]
|
|
22
|
+
- Updated dependencies [28a8ac2]
|
|
23
|
+
- Updated dependencies [fd6076e]
|
|
24
|
+
- @walkeros/core@4.1.0
|
|
25
|
+
|
|
26
|
+
## 4.0.2
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [a6a0ea7]
|
|
31
|
+
- @walkeros/core@4.0.2
|
|
32
|
+
|
|
33
|
+
## 4.0.1
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- Updated dependencies [381dfe7]
|
|
38
|
+
- Updated dependencies [1524275]
|
|
39
|
+
- Updated dependencies [03d7055]
|
|
40
|
+
- @walkeros/core@4.0.1
|
|
41
|
+
|
|
42
|
+
## 4.0.0
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [93ea9c4]
|
|
47
|
+
- Updated dependencies [465775c]
|
|
48
|
+
- Updated dependencies [942a7fe]
|
|
49
|
+
- Updated dependencies [cfc7469]
|
|
50
|
+
- Updated dependencies [8e06b1f]
|
|
51
|
+
- Updated dependencies [3d50dd6]
|
|
52
|
+
- Updated dependencies [1ef33d9]
|
|
53
|
+
- @walkeros/core@4.0.0
|
|
54
|
+
|
|
55
|
+
## 3.4.2
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- @walkeros/core@3.4.2
|
|
60
|
+
|
|
61
|
+
## 3.4.1
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- Updated dependencies [12adf24]
|
|
66
|
+
- Updated dependencies [75aa26b]
|
|
67
|
+
- @walkeros/core@3.4.1
|
|
68
|
+
|
|
69
|
+
## 3.4.0
|
|
70
|
+
|
|
71
|
+
### Minor Changes
|
|
72
|
+
|
|
73
|
+
- 724f97e: Migrate every step example in every walkerOS package to the
|
|
74
|
+
standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
|
|
75
|
+
Every step example's `out` is now an array of effect tuples whose first
|
|
76
|
+
element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
|
|
77
|
+
`'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
|
|
78
|
+
`'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
|
|
79
|
+
`'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
|
|
80
|
+
as the callable; transformer examples use the reserved `'return'` keyword;
|
|
81
|
+
store examples use store-operation callables (`'get'`, `'set'`). Tests capture
|
|
82
|
+
real calls on each component's spy and assert against `example.out` directly —
|
|
83
|
+
the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
|
|
84
|
+
(emptied; plan #3 removes it structurally).
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Updated dependencies [74940cc]
|
|
89
|
+
- Updated dependencies [525f5d9]
|
|
90
|
+
- @walkeros/core@3.4.0
|
|
91
|
+
|
|
92
|
+
## 3.3.1
|
|
93
|
+
|
|
94
|
+
### Patch Changes
|
|
95
|
+
|
|
96
|
+
- @walkeros/core@3.3.1
|
|
97
|
+
|
|
98
|
+
## 3.3.0
|
|
99
|
+
|
|
100
|
+
### Patch Changes
|
|
101
|
+
|
|
102
|
+
- Updated dependencies [2849acb]
|
|
103
|
+
- Updated dependencies [08c365a]
|
|
104
|
+
- Updated dependencies [08c365a]
|
|
105
|
+
- Updated dependencies [08c365a]
|
|
106
|
+
- Updated dependencies [08c365a]
|
|
107
|
+
- @walkeros/core@3.3.0
|
|
108
|
+
|
|
109
|
+
## 3.2.0
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- Updated dependencies [eb865e1]
|
|
114
|
+
- Updated dependencies [c0a53f9]
|
|
115
|
+
- Updated dependencies [f007c9f]
|
|
116
|
+
- Updated dependencies [bf2dc5b]
|
|
117
|
+
- Updated dependencies [da0b640]
|
|
118
|
+
- @walkeros/core@3.2.0
|
|
119
|
+
|
|
120
|
+
## 3.1.1
|
|
121
|
+
|
|
122
|
+
### Patch Changes
|
|
123
|
+
|
|
124
|
+
- @walkeros/core@3.1.1
|
|
125
|
+
|
|
126
|
+
## 3.1.0
|
|
127
|
+
|
|
128
|
+
### Patch Changes
|
|
129
|
+
|
|
130
|
+
- Updated dependencies [dfc6738]
|
|
131
|
+
- Updated dependencies [966342b]
|
|
132
|
+
- Updated dependencies [bee8ba7]
|
|
133
|
+
- Updated dependencies [966342b]
|
|
134
|
+
- Updated dependencies [df990d4]
|
|
135
|
+
- @walkeros/core@3.1.0
|
|
136
|
+
|
|
137
|
+
## 3.0.2
|
|
138
|
+
|
|
139
|
+
### Patch Changes
|
|
140
|
+
|
|
141
|
+
- @walkeros/core@3.0.2
|
|
142
|
+
|
|
143
|
+
## 3.0.1
|
|
144
|
+
|
|
145
|
+
### Patch Changes
|
|
146
|
+
|
|
147
|
+
- @walkeros/core@3.0.1
|
|
148
|
+
|
|
149
|
+
## 3.0.0
|
|
150
|
+
|
|
151
|
+
### Minor Changes
|
|
152
|
+
|
|
153
|
+
- dd28898: Add filesystem store implementing the Store interface. Reads/writes
|
|
154
|
+
files relative to configurable basePath with path traversal protection.
|
|
155
|
+
|
|
156
|
+
### Patch Changes
|
|
157
|
+
|
|
158
|
+
- 499e27a: Add sideEffects declarations to all packages for bundler tree-shaking
|
|
159
|
+
support.
|
|
160
|
+
- Updated dependencies [2b259b6]
|
|
161
|
+
- Updated dependencies [2614014]
|
|
162
|
+
- Updated dependencies [6ae0ee3]
|
|
163
|
+
- Updated dependencies [37299a9]
|
|
164
|
+
- Updated dependencies [499e27a]
|
|
165
|
+
- Updated dependencies [0e5eede]
|
|
166
|
+
- Updated dependencies [d11f574]
|
|
167
|
+
- Updated dependencies [d11f574]
|
|
168
|
+
- Updated dependencies [1fe337a]
|
|
169
|
+
- Updated dependencies [5cb84c1]
|
|
170
|
+
- Updated dependencies [23f218a]
|
|
171
|
+
- Updated dependencies [499e27a]
|
|
172
|
+
- Updated dependencies [c83d909]
|
|
173
|
+
- Updated dependencies [b6c8fa8]
|
|
174
|
+
- @walkeros/core@3.0.0
|
package/README.md
CHANGED
|
@@ -1,113 +1,52 @@
|
|
|
1
|
+
<p align="left">
|
|
2
|
+
<a href="https://www.walkeros.io">
|
|
3
|
+
<img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
1
7
|
# @walkeros/server-store-fs
|
|
2
8
|
|
|
3
9
|
Local filesystem store for walkerOS server flows. Reads and writes files
|
|
4
10
|
relative to a base directory with path traversal protection.
|
|
5
11
|
|
|
12
|
+
[Documentation](https://www.walkeros.io/docs/stores/server/fs) •
|
|
13
|
+
[NPM Package](https://www.npmjs.com/package/@walkeros/server-store-fs) •
|
|
6
14
|
[Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/server/stores/fs)
|
|
7
|
-
| [NPM](https://www.npmjs.com/package/@walkeros/server-store-fs) |
|
|
8
|
-
[Documentation](https://www.walkeros.io/docs/stores/server/fs)
|
|
9
15
|
|
|
10
|
-
##
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @walkeros/server-store-fs
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
11
23
|
|
|
12
24
|
```json
|
|
13
25
|
{
|
|
14
|
-
"version":
|
|
26
|
+
"version": 4,
|
|
15
27
|
"flows": {
|
|
16
28
|
"default": {
|
|
17
|
-
"
|
|
29
|
+
"config": { "platform": "server" },
|
|
18
30
|
"stores": {
|
|
19
|
-
"assets": {
|
|
20
|
-
"package": "@walkeros/server-store-fs",
|
|
21
|
-
"config": {
|
|
22
|
-
"settings": {
|
|
23
|
-
"basePath": "./public"
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
"transformers": {
|
|
29
|
-
"file": {
|
|
30
|
-
"package": "@walkeros/server-transformer-file",
|
|
31
|
-
"config": { "settings": { "prefix": "/static" } },
|
|
32
|
-
"env": { "store": "$store.assets" }
|
|
33
|
-
}
|
|
31
|
+
"assets": { "package": "@walkeros/server-store-fs", "config": {} }
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
```
|
|
39
37
|
|
|
40
|
-
##
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
import { startFlow } from '@walkeros/collector';
|
|
44
|
-
import { storeFsInit } from '@walkeros/server-store-fs';
|
|
45
|
-
|
|
46
|
-
await startFlow({
|
|
47
|
-
stores: {
|
|
48
|
-
assets: {
|
|
49
|
-
code: storeFsInit,
|
|
50
|
-
config: {
|
|
51
|
-
settings: {
|
|
52
|
-
basePath: './public',
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Features
|
|
61
|
-
|
|
62
|
-
- **Path traversal protection**: Rejects `..`, absolute paths, and backslash
|
|
63
|
-
traversal
|
|
64
|
-
- **Base path scoping**: All operations restricted to the configured directory
|
|
65
|
-
- **Auto-create directories**: `set()` creates intermediate directories
|
|
66
|
-
automatically
|
|
67
|
-
- **Buffer output**: `get()` returns `Buffer` for file transformer compatibility
|
|
68
|
-
|
|
69
|
-
## Installation
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npm install @walkeros/server-store-fs
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Configuration
|
|
76
|
-
|
|
77
|
-
| Setting | Type | Required | Default | Description |
|
|
78
|
-
| ---------- | -------- | -------- | ------- | ---------------------------------- |
|
|
79
|
-
| `basePath` | `string` | Yes | — | Root directory for file operations |
|
|
80
|
-
|
|
81
|
-
## API
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
const file = await store.get('walker.js'); // Buffer | undefined
|
|
85
|
-
await store.set('data.json', Buffer.from('{}')); // void
|
|
86
|
-
await store.delete('old-file.txt'); // void
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Security
|
|
90
|
-
|
|
91
|
-
All keys are validated against path traversal attacks:
|
|
92
|
-
|
|
93
|
-
- `..` segments are rejected
|
|
94
|
-
- Absolute paths (`/etc/passwd`) are rejected
|
|
95
|
-
- Backslash traversal (`..\\`) is rejected
|
|
96
|
-
- Resolved paths must stay within `basePath`
|
|
38
|
+
## Documentation
|
|
97
39
|
|
|
98
|
-
|
|
99
|
-
|
|
40
|
+
Full configuration, mapping, and examples live in the docs:
|
|
41
|
+
**https://www.walkeros.io/docs/stores/server/fs**
|
|
100
42
|
|
|
101
|
-
##
|
|
43
|
+
## Contribute
|
|
102
44
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
45
|
+
Feel free to contribute by submitting an
|
|
46
|
+
[issue](https://github.com/elbwalker/walkerOS/issues), starting a
|
|
47
|
+
[discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
|
|
48
|
+
[contact](https://calendly.com/elb-alexander/30min).
|
|
107
49
|
|
|
108
|
-
##
|
|
50
|
+
## License
|
|
109
51
|
|
|
110
|
-
|
|
111
|
-
- [Stores overview](https://www.walkeros.io/docs/stores)
|
|
112
|
-
- [S3 store](https://www.walkeros.io/docs/stores/server/s3) — for cloud
|
|
113
|
-
deployments
|
|
52
|
+
MIT
|
package/dist/walkerOS.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/server-store-fs",
|
|
3
3
|
"description": "Filesystem store for walkerOS server - reads and writes files via the Store interface",
|
|
4
|
-
"version": "4.1.0
|
|
4
|
+
"version": "4.1.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"./walkerOS.json": "./dist/walkerOS.json"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
|
-
"dist/**"
|
|
23
|
+
"dist/**",
|
|
24
|
+
"CHANGELOG.md"
|
|
24
25
|
],
|
|
25
26
|
"scripts": {
|
|
26
27
|
"build": "tsup --silent",
|
|
@@ -32,10 +33,10 @@
|
|
|
32
33
|
"update": "npx npm-check-updates -u && npm update"
|
|
33
34
|
},
|
|
34
35
|
"dependencies": {
|
|
35
|
-
"@walkeros/core": "4.1.0
|
|
36
|
+
"@walkeros/core": "4.1.0"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
|
-
"@walkeros/core": "4.1.0
|
|
39
|
+
"@walkeros/core": "4.1.0"
|
|
39
40
|
},
|
|
40
41
|
"repository": {
|
|
41
42
|
"url": "git+https://github.com/elbwalker/walkerOS.git",
|