geonosis 2.12.0 → 3.0.0
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/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/dist/index.d.ts +1 -46
- package/dist/index.js +8 -52
- package/dist/toolchain.d.ts +44 -0
- package/dist/toolchain.js +59 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# geonosis
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [1e38e4e]
|
|
8
|
+
- @geonosis/cli@3.0.0
|
|
9
|
+
|
|
10
|
+
## 2.13.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [f422aea]
|
|
15
|
+
- @geonosis/cli@2.13.0
|
|
16
|
+
|
|
3
17
|
## 2.12.0
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ for everyone, whatever it is called.
|
|
|
26
26
|
|---|---|---|
|
|
27
27
|
| `playwright` | `@geonosis/walk` | `pnpm add -D playwright` · `bun add -d playwright` |
|
|
28
28
|
| `posthog-node` | `@geonosis/observability` | `pnpm add -D posthog-node` · `bun add -d posthog-node` |
|
|
29
|
-
| `squawk-cli` | `@geonosis/release` (postgres, mikro-orm-ts) | `pnpm add -D squawk-cli@2.
|
|
29
|
+
| `squawk-cli` | `@geonosis/release` (postgres, mikro-orm-ts) | `pnpm add -D squawk-cli@2.66.0` |
|
|
30
30
|
|
|
31
31
|
The peers everybody does pay for are `oxlint`, because every gate lints and oxlint is what loads the
|
|
32
32
|
plugin, and `zod` and `better-result`, because `@geonosis/review` and `@geonosis/observability`
|
package/dist/index.d.ts
CHANGED
|
@@ -1,46 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* What `geonosis` in a manifest actually brings, as data.
|
|
3
|
-
*
|
|
4
|
-
* The list is checked against the workspace by this package's own test rather than remembered,
|
|
5
|
-
* because a metapackage is the one place where "we added a package and nobody updated the list" is
|
|
6
|
-
* invisible from the outside: it installs whatever its dependency happens to depend on.
|
|
7
|
-
*/
|
|
8
|
-
declare const TOOLCHAIN: string[];
|
|
9
|
-
/**
|
|
10
|
-
* Published in the same fixed group and NOT installed by this one line: libraries a repo imports
|
|
11
|
-
* from its own source, and the scaffolder, which is run with `npm create` rather than depended on.
|
|
12
|
-
* They move on the same version, so `geonosis@1.4.0` still tells you which one to add.
|
|
13
|
-
*
|
|
14
|
-
* A FLOOR package is not here and cannot be: `@geonosis/events` versions on a line of its own
|
|
15
|
-
* (D-053), so this number says nothing about which one to install.
|
|
16
|
-
*/
|
|
17
|
-
declare const BY_NAME: string[];
|
|
18
|
-
/**
|
|
19
|
-
* A peer everybody pays for, and the reason. Anything not here is optional, and a command that
|
|
20
|
-
* needs it refuses at run time with the install line rather than making every consumer carry it.
|
|
21
|
-
*
|
|
22
|
-
* Measured while this package was written, on a scratch consumer against a local registry: **bun
|
|
23
|
-
* 1.4.0 installs a non-optional peer without being asked**, pnpm 11.8.0 does not. On the bun
|
|
24
|
-
* consumer a required peer IS a dependency for everyone — which is what makes this list a cost and
|
|
25
|
-
* not a note.
|
|
26
|
-
*/
|
|
27
|
-
declare const REQUIRED_PEERS: Record<string, string>;
|
|
28
|
-
type OptionalBinary = {
|
|
29
|
-
/** The install line, in both managers' spellings. */
|
|
30
|
-
install: string;
|
|
31
|
-
name: string;
|
|
32
|
-
/** The package that refuses without it, at run time, naming this line. */
|
|
33
|
-
needs: string;
|
|
34
|
-
why: string;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* #73 — `@geonosis/release` brought a pinned `squawk-cli` with platform binaries for three
|
|
38
|
-
* architectures, and a Medusa storefront's lockfile grew 395 lines for a Postgres linter it had no
|
|
39
|
-
* dialect for. One manifest line multiplies that by the whole group, so every binary that only some
|
|
40
|
-
* consumers need is an OPTIONAL peer here and the command that wants it prints this line.
|
|
41
|
-
*/
|
|
42
|
-
declare const OPTIONAL_BINARIES: OptionalBinary[];
|
|
43
|
-
/** The line to print when a command refuses for want of a binary nobody was made to install. */
|
|
44
|
-
declare const installLineFor: (name: string) => string | undefined;
|
|
45
|
-
|
|
46
|
-
export { BY_NAME, OPTIONAL_BINARIES, type OptionalBinary, REQUIRED_PEERS, TOOLCHAIN, installLineFor };
|
|
1
|
+
export { BY_NAME, installLineFor, OPTIONAL_BINARIES, type OptionalBinary, REQUIRED_PEERS, TOOLCHAIN } from './toolchain.js';
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,11 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"@geonosis/ratchet",
|
|
10
|
-
"@geonosis/release",
|
|
11
|
-
"@geonosis/review",
|
|
12
|
-
"@geonosis/testbed",
|
|
13
|
-
"@geonosis/verify",
|
|
14
|
-
"@geonosis/verify-arch",
|
|
15
|
-
"@geonosis/visual-diff",
|
|
16
|
-
"@geonosis/walk"
|
|
17
|
-
];
|
|
18
|
-
var BY_NAME = [
|
|
19
|
-
"@geonosis/evals",
|
|
20
|
-
"@geonosis/integrations",
|
|
21
|
-
"@geonosis/mcp",
|
|
22
|
-
"@geonosis/policy",
|
|
23
|
-
"@geonosis/rails",
|
|
24
|
-
"@geonosis/themekit",
|
|
25
|
-
"create-geonosis"
|
|
26
|
-
];
|
|
27
|
-
var REQUIRED_PEERS = {
|
|
28
|
-
"better-result": "it is in the RETURN TYPE of every observability port \u2014 a consumer cannot call the package without it",
|
|
29
|
-
oxlint: "every gate in the kit lints, and the plugin is loaded by oxlint itself",
|
|
30
|
-
zod: "the schema every command input and every registry entry is parsed with"
|
|
31
|
-
};
|
|
32
|
-
var OPTIONAL_BINARIES = [
|
|
33
|
-
{
|
|
34
|
-
install: "pnpm add -D playwright \xB7 bun add -d playwright",
|
|
35
|
-
name: "playwright",
|
|
36
|
-
needs: "@geonosis/walk",
|
|
37
|
-
why: "a browser is 150 MB, and a repo that walks its own pages already has one on the version its own tests are pinned to"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
install: "pnpm add -D posthog-node \xB7 bun add -d posthog-node",
|
|
41
|
-
name: "posthog-node",
|
|
42
|
-
needs: "@geonosis/observability",
|
|
43
|
-
why: "the sink is one exporter among several, and a repo with no sink configured should not carry its client"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
install: "pnpm add -D squawk-cli@2.63.0 \xB7 bun add -d squawk-cli@2.63.0",
|
|
47
|
-
name: "squawk-cli",
|
|
48
|
-
needs: "@geonosis/release",
|
|
49
|
-
why: "the postgres and mikro-orm-ts migration dialects need it; a repo whose release.migrations names only sqlite needs none of it"
|
|
50
|
-
}
|
|
51
|
-
];
|
|
52
|
-
var installLineFor = (name) => OPTIONAL_BINARIES.find((one) => one.name === name)?.install;
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import {
|
|
3
|
+
BY_NAME,
|
|
4
|
+
installLineFor,
|
|
5
|
+
OPTIONAL_BINARIES,
|
|
6
|
+
REQUIRED_PEERS,
|
|
7
|
+
TOOLCHAIN
|
|
8
|
+
} from "./toolchain.js";
|
|
53
9
|
export {
|
|
54
10
|
BY_NAME,
|
|
55
11
|
OPTIONAL_BINARIES,
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What `geonosis` in a manifest actually brings, as data.
|
|
3
|
+
*
|
|
4
|
+
* The list is checked against the workspace by this package's own test rather than remembered,
|
|
5
|
+
* because a metapackage is the one place where "we added a package and nobody updated the list" is
|
|
6
|
+
* invisible from the outside: it installs whatever its dependency happens to depend on.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TOOLCHAIN: string[];
|
|
9
|
+
/**
|
|
10
|
+
* Published in the same fixed group and NOT installed by this one line: libraries a repo imports
|
|
11
|
+
* from its own source, and the scaffolder, which is run with `npm create` rather than depended on.
|
|
12
|
+
* They move on the same version, so `geonosis@1.4.0` still tells you which one to add.
|
|
13
|
+
*
|
|
14
|
+
* A FLOOR package is not here and cannot be: `@geonosis/events` versions on a line of its own
|
|
15
|
+
* (D-053), so this number says nothing about which one to install.
|
|
16
|
+
*/
|
|
17
|
+
export declare const BY_NAME: string[];
|
|
18
|
+
/**
|
|
19
|
+
* A peer everybody pays for, and the reason. Anything not here is optional, and a command that
|
|
20
|
+
* needs it refuses at run time with the install line rather than making every consumer carry it.
|
|
21
|
+
*
|
|
22
|
+
* Measured while this package was written, on a scratch consumer against a local registry: **bun
|
|
23
|
+
* 1.4.0 installs a non-optional peer without being asked**, pnpm 11.8.0 does not. On the bun
|
|
24
|
+
* consumer a required peer IS a dependency for everyone — which is what makes this list a cost and
|
|
25
|
+
* not a note.
|
|
26
|
+
*/
|
|
27
|
+
export declare const REQUIRED_PEERS: Record<string, string>;
|
|
28
|
+
export type OptionalBinary = {
|
|
29
|
+
/** The install line, in both managers' spellings. */
|
|
30
|
+
install: string;
|
|
31
|
+
name: string;
|
|
32
|
+
/** The package that refuses without it, at run time, naming this line. */
|
|
33
|
+
needs: string;
|
|
34
|
+
why: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* #73 — `@geonosis/release` brought a pinned `squawk-cli` with platform binaries for three
|
|
38
|
+
* architectures, and a Medusa storefront's lockfile grew 395 lines for a Postgres linter it had no
|
|
39
|
+
* dialect for. One manifest line multiplies that by the whole group, so every binary that only some
|
|
40
|
+
* consumers need is an OPTIONAL peer here and the command that wants it prints this line.
|
|
41
|
+
*/
|
|
42
|
+
export declare const OPTIONAL_BINARIES: OptionalBinary[];
|
|
43
|
+
/** The line to print when a command refuses for want of a binary nobody was made to install. */
|
|
44
|
+
export declare const installLineFor: (name: string) => string | undefined;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// src/toolchain.ts
|
|
2
|
+
var TOOLCHAIN = [
|
|
3
|
+
"@geonosis/cli",
|
|
4
|
+
"@geonosis/doctor",
|
|
5
|
+
"@geonosis/ledger",
|
|
6
|
+
"@geonosis/lint-parity",
|
|
7
|
+
"@geonosis/observability",
|
|
8
|
+
"@geonosis/oxlint-plugin-biological-architecture",
|
|
9
|
+
"@geonosis/ratchet",
|
|
10
|
+
"@geonosis/release",
|
|
11
|
+
"@geonosis/review",
|
|
12
|
+
"@geonosis/testbed",
|
|
13
|
+
"@geonosis/verify",
|
|
14
|
+
"@geonosis/verify-arch",
|
|
15
|
+
"@geonosis/visual-diff",
|
|
16
|
+
"@geonosis/walk"
|
|
17
|
+
];
|
|
18
|
+
var BY_NAME = [
|
|
19
|
+
"@geonosis/evals",
|
|
20
|
+
"@geonosis/integrations",
|
|
21
|
+
"@geonosis/mcp",
|
|
22
|
+
"@geonosis/policy",
|
|
23
|
+
"@geonosis/rails",
|
|
24
|
+
"@geonosis/themekit",
|
|
25
|
+
"create-geonosis"
|
|
26
|
+
];
|
|
27
|
+
var REQUIRED_PEERS = {
|
|
28
|
+
"better-result": "it is in the RETURN TYPE of every observability port — a consumer cannot call the package without it",
|
|
29
|
+
oxlint: "every gate in the kit lints, and the plugin is loaded by oxlint itself",
|
|
30
|
+
zod: "the schema every command input and every registry entry is parsed with"
|
|
31
|
+
};
|
|
32
|
+
var OPTIONAL_BINARIES = [
|
|
33
|
+
{
|
|
34
|
+
install: "pnpm add -D playwright · bun add -d playwright",
|
|
35
|
+
name: "playwright",
|
|
36
|
+
needs: "@geonosis/walk",
|
|
37
|
+
why: "a browser is 150 MB, and a repo that walks its own pages already has one on the version its own tests are pinned to"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
install: "pnpm add -D posthog-node · bun add -d posthog-node",
|
|
41
|
+
name: "posthog-node",
|
|
42
|
+
needs: "@geonosis/observability",
|
|
43
|
+
why: "the sink is one exporter among several, and a repo with no sink configured should not carry its client"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
install: "pnpm add -D squawk-cli@2.66.0 · bun add -d squawk-cli@2.66.0",
|
|
47
|
+
name: "squawk-cli",
|
|
48
|
+
needs: "@geonosis/release",
|
|
49
|
+
why: "the postgres and mikro-orm-ts migration dialects need it; a repo whose release.migrations names only sqlite needs none of it"
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
var installLineFor = (name) => OPTIONAL_BINARIES.find((one) => one.name === name)?.install;
|
|
53
|
+
export {
|
|
54
|
+
BY_NAME,
|
|
55
|
+
OPTIONAL_BINARIES,
|
|
56
|
+
REQUIRED_PEERS,
|
|
57
|
+
TOOLCHAIN,
|
|
58
|
+
installLineFor
|
|
59
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geonosis",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"types": "./dist/index.d.ts",
|
|
5
5
|
"description": "One manifest line pins the whole toolchain: the geonosis CLI and every gate it runs, on one version.",
|
|
6
6
|
"keywords": [
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"dist"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@geonosis/cli": "
|
|
35
|
+
"@geonosis/cli": "3.0.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"oxlint": ">=1.77",
|
|
39
39
|
"playwright": ">=1.40.0",
|
|
40
40
|
"posthog-node": ">=5.49.0",
|
|
41
|
-
"squawk-cli": "2.
|
|
41
|
+
"squawk-cli": "2.66.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"playwright": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
|
-
"build": "
|
|
61
|
+
"build": "bun ../../tooling/build-step.ts bun ../../tooling/bundle.ts",
|
|
62
62
|
"typecheck": "tsc --noEmit",
|
|
63
63
|
"lint": "oxlint --config ../../.oxlintrc.json .",
|
|
64
64
|
"test:unit": "vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"",
|