@datamitsu/datamitsu-linux-arm64 0.0.3-alpha-0 → 0.0.3-alpha-2
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/README.md +38 -0
- package/datamitsu +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,44 @@ MIT - See [LICENSE](LICENSE) for details
|
|
|
14
14
|
|
|
15
15
|
This project is in early development. Contribution guidelines will be established as the project matures.
|
|
16
16
|
|
|
17
|
+
## Configuration Loading
|
|
18
|
+
|
|
19
|
+
datamitsu loads configuration in layers, each receiving the previous layer's result as input:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
default (embedded config.js)
|
|
23
|
+
↓
|
|
24
|
+
--before-config flags (for library wrappers — runs before project config)
|
|
25
|
+
↓
|
|
26
|
+
auto-discovered datamitsu.config.js, datamitsu.config.mjs or datamitsu.config.ts at git root
|
|
27
|
+
↓
|
|
28
|
+
--config flags (for CI overrides — runs after project config)
|
|
29
|
+
↓
|
|
30
|
+
final merged Config
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Each layer calls `getConfig(prevConfig)` and returns a new config that extends or overrides the previous one.
|
|
34
|
+
|
|
35
|
+
### Remote configs (inheritance)
|
|
36
|
+
|
|
37
|
+
Any config file can declare upstream configs it inherits from:
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
export function getRemoteConfigs() {
|
|
41
|
+
return [{ url: "https://example.com/shared-base.ts", hash: "sha256:abcdef..." }];
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The `hash` field (SHA-256) is **required** — datamitsu will refuse to download any remote config without it. Remote configs are resolved **before** `getConfig` is called on the current file — they are parents, not children. Remote configs can themselves have `getRemoteConfigs`, so the resolution is recursive depth-first.
|
|
46
|
+
|
|
47
|
+
### Library/wrapper pattern
|
|
48
|
+
|
|
49
|
+
A library that wraps datamitsu passes its config via `--before-config`. The project's auto-discovered `datamitsu.config.ts` naturally overrides it:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
library-base.ts → project/datamitsu.config.ts → final Config
|
|
53
|
+
```
|
|
54
|
+
|
|
17
55
|
## Examples
|
|
18
56
|
|
|
19
57
|
Usage examples for runtime-managed apps (multi-version isolation, UV isolation, PNPM plugins) are in [examples/](examples/).
|
package/datamitsu
CHANGED
|
Binary file
|
package/package.json
CHANGED