@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.
Files changed (3) hide show
  1. package/README.md +38 -0
  2. package/datamitsu +0 -0
  3. 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datamitsu/datamitsu-linux-arm64",
3
- "version": "0.0.3-alpha-0",
3
+ "version": "0.0.3-alpha-2",
4
4
  "description": "The Linux ARM64 binary for datamitsu, configuration management and binary distribution tool",
5
5
  "repository": {
6
6
  "type": "git",