gemmein 0.1.0 → 0.1.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/bin/gemmein.mjs CHANGED
@@ -6,6 +6,13 @@
6
6
  import { ENGINE_VERSION, ENGINE_FILES, DOWNLOAD_BASE } from "../lib/versions.mjs";
7
7
  import { engineCached, fetchEngine, runEngine } from "../lib/engine.mjs";
8
8
 
9
+ const major = Number(process.versions.node.split(".")[0]);
10
+ if (major < 18) {
11
+ console.error(`\ngemmein needs Node 18 or newer (you're on ${process.versions.node}).`);
12
+ console.error(`Upgrade at nodejs.org, then run this again.\n`);
13
+ process.exit(1);
14
+ }
15
+
9
16
  const args = process.argv.slice(2);
10
17
 
11
18
  try {
package/lib/engine.mjs CHANGED
@@ -41,6 +41,10 @@ export async function fetchEngine(version, files, downloadBase, base) {
41
41
  }
42
42
  const dir = engineDir(version, base);
43
43
  mkdirSync(dir, { recursive: true });
44
+ // The engine is ESM; without a type marker Node reparses it every run and
45
+ // prints a MODULE_TYPELESS warning at the stranger. Not part of the hash
46
+ // set on purpose: it's cache furniture, not the artifact.
47
+ writeFileSync(join(dir, "package.json"), JSON.stringify({ type: "module" }) + "\n");
44
48
  for (const [name, expected] of Object.entries(files)) {
45
49
  const url = `${downloadBase}/${version}/${name}`;
46
50
  const res = await fetch(url);
package/lib/versions.mjs CHANGED
@@ -10,11 +10,11 @@
10
10
  // fails closed: the shim refuses to download anything until a real release
11
11
  // has been promoted.
12
12
 
13
- export const ENGINE_VERSION = "0.1.0";
13
+ export const ENGINE_VERSION = "0.1.2";
14
14
 
15
15
  /** file name -> hex sha256 */
16
16
  export const ENGINE_FILES = {
17
- "gemmein.js": "6dc0ad751f0f2023039d58f1f44a80824ec4b44d67bca57b44c097729a65936f",
17
+ "gemmein.js": "c0594178518eea5b20401312396982cee351afde4454132b638d58ead884d47a",
18
18
  "llms.txt": "1aa0989dd1624e93014122a451e22043659caa02e32a5b096da90d2b1cff6217",
19
19
  };
20
20
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "gemmein",
3
- "version": "0.1.0",
4
- "description": "gemmein \u2014 declare your business boundaries, prove them locally, ship. Thin launcher: downloads the Gemmein local engine, verifies it, runs it. What you read here is what runs.",
3
+ "version": "0.1.2",
4
+ "description": "gemmein declare your business boundaries, prove them locally, ship. Thin launcher: downloads the Gemmein local engine, verifies it, runs it. What you read here is what runs.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "bin": {
8
- "gemmein": "./bin/gemmein.mjs"
8
+ "gemmein": "bin/gemmein.mjs"
9
9
  },
10
10
  "files": [
11
11
  "bin",
@@ -34,4 +34,4 @@
34
34
  "bugs": {
35
35
  "email": "hello@gemmein.com"
36
36
  }
37
- }
37
+ }