@farthershore/product 0.2.0 → 0.2.1
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 +22 -13
- package/dist/bin.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Product-as-Code SDK for Farther Shore. Builder repos use this package from
|
|
4
4
|
`product/product.config.ts` to declare product contracts in TypeScript. Builders
|
|
5
|
-
author and export a `Business`;
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
author and export a `Business`; Farther Shore compiles that program to
|
|
6
|
+
backend-owned IR, validates it, and applies it through Core. Every product is
|
|
7
|
+
created with a GitHub repo that contains the editable `frontend/` starter and
|
|
8
|
+
the Product SDK entrypoint; connecting GitHub is a product-creation
|
|
9
|
+
precondition.
|
|
8
10
|
|
|
9
11
|
## Install
|
|
10
12
|
|
|
@@ -31,10 +33,11 @@ frontend/
|
|
|
31
33
|
...
|
|
32
34
|
```
|
|
33
35
|
|
|
34
|
-
`product/` is authored Product SDK code
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
`product/` is authored Product SDK code and may be split into any imported files
|
|
37
|
+
the builder wants. `frontend/` is the generated editable starter app and is built
|
|
38
|
+
by the frontend pipeline only. Runtime state, accepted specs, compilation
|
|
39
|
+
records, deployment runs, and compiled IR are not checked into the builder repo;
|
|
40
|
+
Farther Shore stores them in Core.
|
|
38
41
|
|
|
39
42
|
## Example
|
|
40
43
|
|
|
@@ -80,10 +83,10 @@ export const configurePlans: ProductModule = (product) => {
|
|
|
80
83
|
};
|
|
81
84
|
```
|
|
82
85
|
|
|
83
|
-
##
|
|
86
|
+
## Lifecycle apply paths
|
|
84
87
|
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
Generated product repos use GitHub as the required automation and frontend
|
|
89
|
+
workspace:
|
|
87
90
|
|
|
88
91
|
1. Loads `product/product.config.ts`.
|
|
89
92
|
2. Requires the default export to be the `Business` returned by
|
|
@@ -93,9 +96,15 @@ owns that workflow:
|
|
|
93
96
|
4. Validates the result against the deployed platform contract.
|
|
94
97
|
5. Publishes the accepted release through Core so edge artifacts propagate.
|
|
95
98
|
|
|
96
|
-
The
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
The same IR can also be applied to an already repo-backed product through
|
|
100
|
+
trusted Core APIs, for example `farthershore build --apply <product>`. That path
|
|
101
|
+
is useful for local validation/apply loops, but it is not a replacement for the
|
|
102
|
+
product repo. The repo remains the required frontend customization workspace
|
|
103
|
+
because `frontend/` is where the starter UI and all custom React code live.
|
|
104
|
+
|
|
105
|
+
The bundled `farthershore-manifest-build` binary is shared by the bot,
|
|
106
|
+
build-runner, and CLI. It emits the deterministic Manifest IR envelope that Core
|
|
107
|
+
accepts; Core, not the user repo, remains the lifecycle authority.
|
|
99
108
|
|
|
100
109
|
## Public API
|
|
101
110
|
|
package/dist/bin.js
CHANGED
|
@@ -2360,7 +2360,7 @@ function hashIr(ir) {
|
|
|
2360
2360
|
}
|
|
2361
2361
|
|
|
2362
2362
|
// src/version.ts
|
|
2363
|
-
var SDK_VERSION = true ? "0.2.
|
|
2363
|
+
var SDK_VERSION = true ? "0.2.1" : "0.0.0-dev";
|
|
2364
2364
|
|
|
2365
2365
|
// src/business.ts
|
|
2366
2366
|
var BUSINESS_BRAND = Symbol.for("farthershore.product.business");
|
package/dist/index.js
CHANGED
|
@@ -2355,7 +2355,7 @@ function canonicalIrJson(ir) {
|
|
|
2355
2355
|
}
|
|
2356
2356
|
|
|
2357
2357
|
// src/version.ts
|
|
2358
|
-
var SDK_VERSION = true ? "0.2.
|
|
2358
|
+
var SDK_VERSION = true ? "0.2.1" : "0.0.0-dev";
|
|
2359
2359
|
|
|
2360
2360
|
// src/business.ts
|
|
2361
2361
|
var BUSINESS_BRAND = Symbol.for("farthershore.product.business");
|