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 +7 -0
- package/lib/engine.mjs +4 -0
- package/lib/versions.mjs +2 -2
- package/package.json +4 -4
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.
|
|
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": "
|
|
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.
|
|
4
|
-
"description": "gemmein
|
|
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": "
|
|
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
|
+
}
|