@ultimat3/cli 14.0.0 → 16.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/package.json +29 -29
- package/src/schema-drift.ts +13 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ultimat3/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"description": "The `x` binary: new, dev, build, verify, generate, db, mcp, doctor, deploy",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -37,34 +37,34 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/core": "^7.28.4",
|
|
40
|
-
"@ultimat3/action": "
|
|
41
|
-
"@ultimat3/admin": "
|
|
42
|
-
"@ultimat3/ai": "
|
|
43
|
-
"@ultimat3/auth": "
|
|
44
|
-
"@ultimat3/cache": "
|
|
45
|
-
"@ultimat3/core": "
|
|
46
|
-
"@ultimat3/db": "
|
|
47
|
-
"@ultimat3/entity": "
|
|
48
|
-
"@ultimat3/flags": "
|
|
49
|
-
"@ultimat3/http": "
|
|
50
|
-
"@ultimat3/i18n": "
|
|
51
|
-
"@ultimat3/jobs": "
|
|
52
|
-
"@ultimat3/mail": "
|
|
53
|
-
"@ultimat3/manifest": "
|
|
54
|
-
"@ultimat3/mcp": "
|
|
55
|
-
"@ultimat3/money": "
|
|
56
|
-
"@ultimat3/notify": "
|
|
57
|
-
"@ultimat3/policy": "
|
|
58
|
-
"@ultimat3/pwa": "
|
|
59
|
-
"@ultimat3/query": "
|
|
60
|
-
"@ultimat3/realtime": "
|
|
61
|
-
"@ultimat3/render": "
|
|
62
|
-
"@ultimat3/schema": "
|
|
63
|
-
"@ultimat3/scraping": "
|
|
64
|
-
"@ultimat3/seo": "
|
|
65
|
-
"@ultimat3/storage": "
|
|
66
|
-
"@ultimat3/testing": "
|
|
67
|
-
"@ultimat3/time": "
|
|
40
|
+
"@ultimat3/action": "16.0.0",
|
|
41
|
+
"@ultimat3/admin": "16.0.0",
|
|
42
|
+
"@ultimat3/ai": "16.0.0",
|
|
43
|
+
"@ultimat3/auth": "16.0.0",
|
|
44
|
+
"@ultimat3/cache": "16.0.0",
|
|
45
|
+
"@ultimat3/core": "16.0.0",
|
|
46
|
+
"@ultimat3/db": "16.0.0",
|
|
47
|
+
"@ultimat3/entity": "16.0.0",
|
|
48
|
+
"@ultimat3/flags": "16.0.0",
|
|
49
|
+
"@ultimat3/http": "16.0.0",
|
|
50
|
+
"@ultimat3/i18n": "16.0.0",
|
|
51
|
+
"@ultimat3/jobs": "16.0.0",
|
|
52
|
+
"@ultimat3/mail": "16.0.0",
|
|
53
|
+
"@ultimat3/manifest": "16.0.0",
|
|
54
|
+
"@ultimat3/mcp": "16.0.0",
|
|
55
|
+
"@ultimat3/money": "16.0.0",
|
|
56
|
+
"@ultimat3/notify": "16.0.0",
|
|
57
|
+
"@ultimat3/policy": "16.0.0",
|
|
58
|
+
"@ultimat3/pwa": "16.0.0",
|
|
59
|
+
"@ultimat3/query": "16.0.0",
|
|
60
|
+
"@ultimat3/realtime": "16.0.0",
|
|
61
|
+
"@ultimat3/render": "16.0.0",
|
|
62
|
+
"@ultimat3/schema": "16.0.0",
|
|
63
|
+
"@ultimat3/scraping": "16.0.0",
|
|
64
|
+
"@ultimat3/seo": "16.0.0",
|
|
65
|
+
"@ultimat3/storage": "16.0.0",
|
|
66
|
+
"@ultimat3/testing": "16.0.0",
|
|
67
|
+
"@ultimat3/time": "16.0.0",
|
|
68
68
|
"babel-preset-solid": "^1.9.15"
|
|
69
69
|
}
|
|
70
70
|
}
|
package/src/schema-drift.ts
CHANGED
|
@@ -61,8 +61,19 @@ function repairFix(
|
|
|
61
61
|
const named = unrendered.find(
|
|
62
62
|
(entry) => entry.table === difference.table && entry.name === difference.name,
|
|
63
63
|
);
|
|
64
|
-
|
|
65
|
-
if (
|
|
64
|
+
// The entry ABOUT this difference carries the edit that repairs it, so it is the whole answer.
|
|
65
|
+
if (named !== undefined) return named.fix;
|
|
66
|
+
// Otherwise `x db gen` is still unsafe — it would drop what the other entries name — but the
|
|
67
|
+
// reader must NOT be handed a different declaration's edit as the instruction for this one.
|
|
68
|
+
// Reading `unrendered[0]` did exactly that: a column default and an index each got
|
|
69
|
+
// `invariant('org_slug_shape', …)`, an edit in another file about another rule.
|
|
70
|
+
// No `x db gen` in this branch, and that is the point: while ANY declaration reaches no SQL,
|
|
71
|
+
// regenerating drops it, so the command is the wrong instruction for every difference in the
|
|
72
|
+
// app — not only for the one the entry names.
|
|
73
|
+
const blocker = unrendered[0];
|
|
74
|
+
if (blocker !== undefined) {
|
|
75
|
+
return `${blocker.fix} # ${blocker.table}.${blocker.name} reaches no SQL, so regenerating would drop it; repair that before recording ${difference.name}`;
|
|
76
|
+
}
|
|
66
77
|
// "record", not "add": one finding covers a declaration the migrations never carried AND one they
|
|
67
78
|
// carry differently, so `add` would be a wrong migration name for half of them. `undeclared` gets
|
|
68
79
|
// both branches, in the order they are safe — regenerating emits the DROP, and the declaration
|