@thinair/factory 0.1.128 → 0.1.129

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 (2) hide show
  1. package/cli/load.ts +4 -1
  2. package/package.json +1 -1
package/cli/load.ts CHANGED
@@ -320,7 +320,10 @@ export const loadFactory = Effect.fn("factory.load")(function* (input: Readonly<
320
320
  yield* timed(steps, "shape", Effect.sync(() => {
321
321
  for (const problem of appShapeProblems(snapshot.paths)) findings.push(finding("shape", problem.message, { file: problem.path }));
322
322
  const pin = dependencies["@thinair/factory"];
323
- if (pin !== undefined && /^\d+\.\d+\.\d+/u.test(pin) && compareVersions(pin, framework) > 0)
323
+ // Source builds have no published SDK number. Their content digest owns the cache identity;
324
+ // the full checker and evaluator below establish compatibility with their actual SDK sources.
325
+ const sourceBuild = /^0\.0\.0-source\.[a-f0-9]{64}$/u.test(framework);
326
+ if (!sourceBuild && pin !== undefined && /^\d+\.\d+\.\d+/u.test(pin) && compareVersions(pin, framework) > 0)
324
327
  findings.push(finding("framework", `This factory needs @thinair/factory ${pin}; this loader is ${framework}. It loads when the newer framework runs here.`, { file: "package.json" }));
325
328
  if (!installed) findings.push(finding("shape", "Its packages are not installed: run bun install in the factory folder.", { file: "package.json" }));
326
329
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinair/factory",
3
- "version": "0.1.128",
3
+ "version": "0.1.129",
4
4
  "description": "The Thinair factory SDK: the language a factory's code is written in, and the loader that checks it.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",