@dereekb/dbx-cli 13.42.0 → 14.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/eslint/index.esm.js +2 -2
- package/eslint/package.json +7 -7
- package/firebase-api-manifest/main.js +22 -4
- package/firebase-api-manifest/package.json +5 -5
- package/firestore-query-manifest/main.js +9 -7
- package/firestore-query-manifest/package.json +4 -4
- package/generate-firestore-indexes/main.js +3 -3
- package/generate-firestore-indexes/package.json +3 -3
- package/generate-mcp-manifest/package.json +4 -4
- package/generate-route-manifest/main.js +1 -1
- package/generate-route-manifest/package.json +3 -3
- package/index.esm.js +2835 -2002
- package/lint-cache/package.json +3 -3
- package/manifest-extract/index.esm.js +6 -12
- package/manifest-extract/package.json +9 -10
- package/model-test/index.esm.js +61 -63
- package/model-test/package.json +3 -3
- package/package.json +14 -14
- package/route/package.json +7 -7
- package/src/lib/doctor/build-drift.check.d.ts +21 -0
- package/src/lib/doctor/doctor.command.factory.d.ts +21 -2
- package/src/lib/doctor/firestore-session.check.d.ts +7 -1
- package/src/lib/doctor/index.d.ts +1 -0
- package/src/lib/firestore/firestore.sdk-identity.d.ts +193 -0
- package/src/lib/firestore/index.d.ts +1 -0
- package/src/lib/manifest/types.d.ts +21 -0
- package/src/lib/mcp-scan/manifest/css-utilities-schema.d.ts +2 -2
- package/src/lib/mcp-scan/manifest/dbx-docs-ui-examples-schema.d.ts +2 -2
- package/src/lib/mcp-scan/manifest/ui-components-schema.d.ts +2 -2
- package/src/lib/mcp-scan/scan/dbx-docs-ui-examples-extract.d.ts +1 -1
- package/src/lib/mcp-scan/scan/ui-components-extract.d.ts +1 -1
- package/src/lib/runner/build-stamp.d.ts +138 -0
- package/src/lib/runner/index.d.ts +1 -0
- package/src/lib/runner/run.d.ts +13 -0
- package/test/index.esm.js +19 -22
- package/test/package.json +11 -11
- package/validate/index.js +1069 -76
- package/validate/package.json +4 -4
package/lint-cache/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-cli-lint-cache",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"devDependencies": {
|
|
7
7
|
"@types/yargs": "^17.0.35",
|
|
8
|
-
"eslint": "10.
|
|
8
|
+
"eslint": "10.9.1"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"@dereekb/util": "
|
|
11
|
+
"@dereekb/util": "14.0.0",
|
|
12
12
|
"yargs": "^18.0.0"
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -9,9 +9,7 @@ function _define_property$1(obj, key, value) {
|
|
|
9
9
|
configurable: true,
|
|
10
10
|
writable: true
|
|
11
11
|
});
|
|
12
|
-
} else
|
|
13
|
-
obj[key] = value;
|
|
14
|
-
}
|
|
12
|
+
} else obj[key] = value;
|
|
15
13
|
return obj;
|
|
16
14
|
}
|
|
17
15
|
function _object_spread$1(target) {
|
|
@@ -39,9 +37,8 @@ function ownKeys$1(object, enumerableOnly) {
|
|
|
39
37
|
}
|
|
40
38
|
function _object_spread_props$1(target, source) {
|
|
41
39
|
source = source != null ? source : {};
|
|
42
|
-
if (Object.getOwnPropertyDescriptors)
|
|
43
|
-
|
|
44
|
-
} else {
|
|
40
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
41
|
+
else {
|
|
45
42
|
ownKeys$1(Object(source)).forEach(function(key) {
|
|
46
43
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
47
44
|
});
|
|
@@ -652,9 +649,7 @@ function _define_property(obj, key, value) {
|
|
|
652
649
|
configurable: true,
|
|
653
650
|
writable: true
|
|
654
651
|
});
|
|
655
|
-
} else
|
|
656
|
-
obj[key] = value;
|
|
657
|
-
}
|
|
652
|
+
} else obj[key] = value;
|
|
658
653
|
return obj;
|
|
659
654
|
}
|
|
660
655
|
function _object_spread(target) {
|
|
@@ -682,9 +677,8 @@ function ownKeys(object, enumerableOnly) {
|
|
|
682
677
|
}
|
|
683
678
|
function _object_spread_props(target, source) {
|
|
684
679
|
source = source != null ? source : {};
|
|
685
|
-
if (Object.getOwnPropertyDescriptors)
|
|
686
|
-
|
|
687
|
-
} else {
|
|
680
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
681
|
+
else {
|
|
688
682
|
ownKeys(Object(source)).forEach(function(key) {
|
|
689
683
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
690
684
|
});
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-cli/manifest-extract",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
|
-
"@dereekb/date": "
|
|
8
|
-
"@dereekb/dbx-cli": "
|
|
9
|
-
"@dereekb/firebase": "
|
|
10
|
-
"@dereekb/model": "
|
|
11
|
-
"@dereekb/nestjs": "
|
|
12
|
-
"@dereekb/rxjs": "
|
|
13
|
-
"@dereekb/util": "
|
|
14
|
-
"
|
|
15
|
-
"ts-morph": "^21.0.0"
|
|
7
|
+
"@dereekb/date": "14.0.0",
|
|
8
|
+
"@dereekb/dbx-cli": "14.0.0",
|
|
9
|
+
"@dereekb/firebase": "14.0.0",
|
|
10
|
+
"@dereekb/model": "14.0.0",
|
|
11
|
+
"@dereekb/nestjs": "14.0.0",
|
|
12
|
+
"@dereekb/rxjs": "14.0.0",
|
|
13
|
+
"@dereekb/util": "14.0.0",
|
|
14
|
+
"ts-morph": "^28.0.0"
|
|
16
15
|
},
|
|
17
16
|
"exports": {
|
|
18
17
|
"./package.json": "./package.json",
|
package/model-test/index.esm.js
CHANGED
|
@@ -11,11 +11,8 @@ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
11
11
|
reject(error);
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
if (info.done)
|
|
15
|
-
|
|
16
|
-
} else {
|
|
17
|
-
Promise.resolve(value).then(_next, _throw);
|
|
18
|
-
}
|
|
14
|
+
if (info.done) resolve(value);
|
|
15
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
19
16
|
}
|
|
20
17
|
function _async_to_generator$3(fn) {
|
|
21
18
|
return function() {
|
|
@@ -2353,11 +2350,8 @@ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
2353
2350
|
reject(error);
|
|
2354
2351
|
return;
|
|
2355
2352
|
}
|
|
2356
|
-
if (info.done)
|
|
2357
|
-
|
|
2358
|
-
} else {
|
|
2359
|
-
Promise.resolve(value).then(_next, _throw);
|
|
2360
|
-
}
|
|
2353
|
+
if (info.done) resolve(value);
|
|
2354
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
2361
2355
|
}
|
|
2362
2356
|
function _async_to_generator$2(fn) {
|
|
2363
2357
|
return function() {
|
|
@@ -2517,11 +2511,8 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
2517
2511
|
reject(error);
|
|
2518
2512
|
return;
|
|
2519
2513
|
}
|
|
2520
|
-
if (info.done)
|
|
2521
|
-
|
|
2522
|
-
} else {
|
|
2523
|
-
Promise.resolve(value).then(_next, _throw);
|
|
2524
|
-
}
|
|
2514
|
+
if (info.done) resolve(value);
|
|
2515
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
2525
2516
|
}
|
|
2526
2517
|
function _async_to_generator$1(fn) {
|
|
2527
2518
|
return function() {
|
|
@@ -2722,7 +2713,9 @@ function _array_without_holes$4(arr) {
|
|
|
2722
2713
|
if (Array.isArray(arr)) return _array_like_to_array$4(arr);
|
|
2723
2714
|
}
|
|
2724
2715
|
function _iterable_to_array$4(iter) {
|
|
2725
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
2716
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
2717
|
+
return Array.from(iter);
|
|
2718
|
+
}
|
|
2726
2719
|
}
|
|
2727
2720
|
function _iterable_to_array_limit$2(arr, i) {
|
|
2728
2721
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
@@ -2749,10 +2742,10 @@ function _iterable_to_array_limit$2(arr, i) {
|
|
|
2749
2742
|
return _arr;
|
|
2750
2743
|
}
|
|
2751
2744
|
function _non_iterable_rest$2() {
|
|
2752
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance
|
|
2745
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2753
2746
|
}
|
|
2754
2747
|
function _non_iterable_spread$4() {
|
|
2755
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
2748
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2756
2749
|
}
|
|
2757
2750
|
function _sliced_to_array$2(arr, i) {
|
|
2758
2751
|
return _array_with_holes$2(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$4(arr, i) || _non_iterable_rest$2();
|
|
@@ -2979,11 +2972,8 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
2979
2972
|
reject(error);
|
|
2980
2973
|
return;
|
|
2981
2974
|
}
|
|
2982
|
-
if (info.done)
|
|
2983
|
-
|
|
2984
|
-
} else {
|
|
2985
|
-
Promise.resolve(value).then(_next, _throw);
|
|
2986
|
-
}
|
|
2975
|
+
if (info.done) resolve(value);
|
|
2976
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
2987
2977
|
}
|
|
2988
2978
|
function _async_to_generator(fn) {
|
|
2989
2979
|
return function() {
|
|
@@ -3001,22 +2991,16 @@ function _async_to_generator(fn) {
|
|
|
3001
2991
|
};
|
|
3002
2992
|
}
|
|
3003
2993
|
function _iterable_to_array$3(iter) {
|
|
3004
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
2994
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
2995
|
+
return Array.from(iter);
|
|
2996
|
+
}
|
|
3005
2997
|
}
|
|
3006
2998
|
function _non_iterable_spread$3() {
|
|
3007
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
2999
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3008
3000
|
}
|
|
3009
3001
|
function _to_consumable_array$3(arr) {
|
|
3010
3002
|
return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$3(arr) || _non_iterable_spread$3();
|
|
3011
3003
|
}
|
|
3012
|
-
function _unsupported_iterable_to_array$3(o, minLen) {
|
|
3013
|
-
if (!o) return;
|
|
3014
|
-
if (typeof o === "string") return _array_like_to_array$3(o, minLen);
|
|
3015
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
3016
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
3017
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
3018
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
|
|
3019
|
-
}
|
|
3020
3004
|
function _ts_generator(thisArg, body) {
|
|
3021
3005
|
var f, y, t, _ = {
|
|
3022
3006
|
label: 0,
|
|
@@ -3118,18 +3102,32 @@ function _ts_generator(thisArg, body) {
|
|
|
3118
3102
|
}
|
|
3119
3103
|
function _ts_values(o) {
|
|
3120
3104
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
3121
|
-
if (m)
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3105
|
+
if (m) {
|
|
3106
|
+
return m.call(o);
|
|
3107
|
+
}
|
|
3108
|
+
if (o && typeof o.length === "number") {
|
|
3109
|
+
return {
|
|
3110
|
+
next: function() {
|
|
3111
|
+
if (o && i >= o.length) {
|
|
3112
|
+
o = void 0;
|
|
3113
|
+
}
|
|
3114
|
+
return {
|
|
3115
|
+
value: o && o[i++],
|
|
3116
|
+
done: !o
|
|
3117
|
+
};
|
|
3118
|
+
}
|
|
3119
|
+
};
|
|
3120
|
+
}
|
|
3131
3121
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
3132
3122
|
}
|
|
3123
|
+
function _unsupported_iterable_to_array$3(o, minLen) {
|
|
3124
|
+
if (!o) return;
|
|
3125
|
+
if (typeof o === "string") return _array_like_to_array$3(o, minLen);
|
|
3126
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
3127
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
3128
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
3129
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$3(o, minLen);
|
|
3130
|
+
}
|
|
3133
3131
|
/**
|
|
3134
3132
|
* Finds the existing spec hotspots that reference a model's fixture (or its
|
|
3135
3133
|
* parents), or the default files to create when there are none.
|
|
@@ -3615,13 +3613,13 @@ function _define_property$1(obj, key, value) {
|
|
|
3615
3613
|
configurable: true,
|
|
3616
3614
|
writable: true
|
|
3617
3615
|
});
|
|
3618
|
-
} else
|
|
3619
|
-
obj[key] = value;
|
|
3620
|
-
}
|
|
3616
|
+
} else obj[key] = value;
|
|
3621
3617
|
return obj;
|
|
3622
3618
|
}
|
|
3623
3619
|
function _iterable_to_array$2(iter) {
|
|
3624
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
3620
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
3621
|
+
return Array.from(iter);
|
|
3622
|
+
}
|
|
3625
3623
|
}
|
|
3626
3624
|
function _iterable_to_array_limit$1(arr, i) {
|
|
3627
3625
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
@@ -3648,10 +3646,10 @@ function _iterable_to_array_limit$1(arr, i) {
|
|
|
3648
3646
|
return _arr;
|
|
3649
3647
|
}
|
|
3650
3648
|
function _non_iterable_rest$1() {
|
|
3651
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance
|
|
3649
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3652
3650
|
}
|
|
3653
3651
|
function _non_iterable_spread$2() {
|
|
3654
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
3652
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3655
3653
|
}
|
|
3656
3654
|
function _object_spread$1(target) {
|
|
3657
3655
|
for(var i = 1; i < arguments.length; i++){
|
|
@@ -3678,9 +3676,8 @@ function ownKeys$1(object, enumerableOnly) {
|
|
|
3678
3676
|
}
|
|
3679
3677
|
function _object_spread_props$1(target, source) {
|
|
3680
3678
|
source = source != null ? source : {};
|
|
3681
|
-
if (Object.getOwnPropertyDescriptors)
|
|
3682
|
-
|
|
3683
|
-
} else {
|
|
3679
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
3680
|
+
else {
|
|
3684
3681
|
ownKeys$1(Object(source)).forEach(function(key) {
|
|
3685
3682
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
3686
3683
|
});
|
|
@@ -4027,13 +4024,13 @@ function _define_property(obj, key, value) {
|
|
|
4027
4024
|
configurable: true,
|
|
4028
4025
|
writable: true
|
|
4029
4026
|
});
|
|
4030
|
-
} else
|
|
4031
|
-
obj[key] = value;
|
|
4032
|
-
}
|
|
4027
|
+
} else obj[key] = value;
|
|
4033
4028
|
return obj;
|
|
4034
4029
|
}
|
|
4035
4030
|
function _iterable_to_array$1(iter) {
|
|
4036
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
4031
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
4032
|
+
return Array.from(iter);
|
|
4033
|
+
}
|
|
4037
4034
|
}
|
|
4038
4035
|
function _iterable_to_array_limit(arr, i) {
|
|
4039
4036
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
@@ -4060,10 +4057,10 @@ function _iterable_to_array_limit(arr, i) {
|
|
|
4060
4057
|
return _arr;
|
|
4061
4058
|
}
|
|
4062
4059
|
function _non_iterable_rest() {
|
|
4063
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance
|
|
4060
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
4064
4061
|
}
|
|
4065
4062
|
function _non_iterable_spread$1() {
|
|
4066
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
4063
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
4067
4064
|
}
|
|
4068
4065
|
function _object_spread(target) {
|
|
4069
4066
|
for(var i = 1; i < arguments.length; i++){
|
|
@@ -4090,9 +4087,8 @@ function ownKeys(object, enumerableOnly) {
|
|
|
4090
4087
|
}
|
|
4091
4088
|
function _object_spread_props(target, source) {
|
|
4092
4089
|
source = source != null ? source : {};
|
|
4093
|
-
if (Object.getOwnPropertyDescriptors)
|
|
4094
|
-
|
|
4095
|
-
} else {
|
|
4090
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
4091
|
+
else {
|
|
4096
4092
|
ownKeys(Object(source)).forEach(function(key) {
|
|
4097
4093
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
4098
4094
|
});
|
|
@@ -5440,10 +5436,12 @@ function _array_without_holes(arr) {
|
|
|
5440
5436
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
5441
5437
|
}
|
|
5442
5438
|
function _iterable_to_array(iter) {
|
|
5443
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
5439
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
5440
|
+
return Array.from(iter);
|
|
5441
|
+
}
|
|
5444
5442
|
}
|
|
5445
5443
|
function _non_iterable_spread() {
|
|
5446
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
5444
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
5447
5445
|
}
|
|
5448
5446
|
function _to_consumable_array(arr) {
|
|
5449
5447
|
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
package/model-test/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-cli/model-test",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
|
-
"@dereekb/util": "
|
|
8
|
-
"ts-morph": "^
|
|
7
|
+
"@dereekb/util": "14.0.0",
|
|
8
|
+
"ts-morph": "^28.0.0"
|
|
9
9
|
},
|
|
10
10
|
"exports": {
|
|
11
11
|
"./package.json": "./package.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"bin": {
|
|
@@ -66,24 +66,24 @@
|
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@dereekb/date": "
|
|
70
|
-
"@dereekb/firebase": "
|
|
71
|
-
"@dereekb/model": "
|
|
72
|
-
"@dereekb/nestjs": "
|
|
73
|
-
"@dereekb/util": "
|
|
74
|
-
"@nestjs/common": "^
|
|
69
|
+
"@dereekb/date": "14.0.0",
|
|
70
|
+
"@dereekb/firebase": "14.0.0",
|
|
71
|
+
"@dereekb/model": "14.0.0",
|
|
72
|
+
"@dereekb/nestjs": "14.0.0",
|
|
73
|
+
"@dereekb/util": "14.0.0",
|
|
74
|
+
"@nestjs/common": "^12.0.1",
|
|
75
75
|
"arktype": "^2.2.0",
|
|
76
|
-
"firebase": "^12.
|
|
77
|
-
"jiti": "2.
|
|
78
|
-
"prettier": "3.
|
|
79
|
-
"ts-morph": "^
|
|
80
|
-
"vitest": "4.1.
|
|
76
|
+
"firebase": "^12.18.0",
|
|
77
|
+
"jiti": "2.7.0",
|
|
78
|
+
"prettier": "3.9.6",
|
|
79
|
+
"ts-morph": "^28.0.0",
|
|
80
|
+
"vitest": "4.1.11",
|
|
81
81
|
"yargs": "^18.0.0"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
|
-
"@angular/core": "
|
|
84
|
+
"@angular/core": "22.1.4",
|
|
85
85
|
"@types/yargs": "^17.0.35",
|
|
86
|
-
"eslint": "10.
|
|
86
|
+
"eslint": "10.9.1"
|
|
87
87
|
},
|
|
88
88
|
"module": "./index.esm.js",
|
|
89
89
|
"main": "./index.esm.js",
|
package/route/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-cli/route",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
|
-
"@dereekb/date": "
|
|
8
|
-
"@dereekb/dbx-cli": "
|
|
9
|
-
"@dereekb/firebase": "
|
|
10
|
-
"@dereekb/model": "
|
|
11
|
-
"@dereekb/nestjs": "
|
|
12
|
-
"@dereekb/util": "
|
|
7
|
+
"@dereekb/date": "14.0.0",
|
|
8
|
+
"@dereekb/dbx-cli": "14.0.0",
|
|
9
|
+
"@dereekb/firebase": "14.0.0",
|
|
10
|
+
"@dereekb/model": "14.0.0",
|
|
11
|
+
"@dereekb/nestjs": "14.0.0",
|
|
12
|
+
"@dereekb/util": "14.0.0"
|
|
13
13
|
},
|
|
14
14
|
"exports": {
|
|
15
15
|
"./package.json": "./package.json",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type InspectCliBuildDriftInput } from '../runner/build-stamp';
|
|
2
|
+
import { type DoctorCheck } from './doctor.command.factory';
|
|
3
|
+
/**
|
|
4
|
+
* Name reported by the check {@link createCliBuildDriftDoctorCheck} builds.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BUILD_DRIFT_DOCTOR_CHECK_NAME = "cli-build-not-stale";
|
|
7
|
+
/**
|
|
8
|
+
* Builds the doctor check that compares the running artifact against the `@dereekb/*` tree resolved
|
|
9
|
+
* at run time.
|
|
10
|
+
*
|
|
11
|
+
* Runs FIRST in the default check list, ahead of every network hop, because a stale artifact
|
|
12
|
+
* invalidates the answers those hops give: they exercise the framework that is loaded now, not the
|
|
13
|
+
* one the bundle was compiled against, so a green `token-refresh-round-trip` next to a red read is
|
|
14
|
+
* exactly the misleading report this check exists to pre-empt.
|
|
15
|
+
*
|
|
16
|
+
* @param input - Optional overrides forwarded to {@link inspectCliBuildDrift}; apps normally pass only
|
|
17
|
+
* `manifestGeneratorVersion`.
|
|
18
|
+
* @returns The {@link DoctorCheck}.
|
|
19
|
+
* @__NO_SIDE_EFFECTS__
|
|
20
|
+
*/
|
|
21
|
+
export declare function createCliBuildDriftDoctorCheck(input?: InspectCliBuildDriftInput): DoctorCheck;
|
|
@@ -16,11 +16,24 @@ export interface DoctorCheckResult {
|
|
|
16
16
|
}
|
|
17
17
|
export type DoctorCheck = (input: DoctorCheckInput) => Promise<DoctorCheckResult>;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Input for {@link defaultDoctorChecks}.
|
|
20
|
+
*/
|
|
21
|
+
export interface DefaultDoctorChecksInput {
|
|
22
|
+
/**
|
|
23
|
+
* The `@dereekb/dbx-cli` version that emitted the app's generated manifests
|
|
24
|
+
* (`<NAMESPACE>_STAMP.generatorVersion`). Forwarded to the build-drift check so a manifest produced
|
|
25
|
+
* by a different generator than the one running it is flagged.
|
|
26
|
+
*/
|
|
27
|
+
readonly manifestGeneratorVersion?: Maybe<string>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Built-in checks: build not stale, config file present, active env resolved, OIDC discovery, token
|
|
31
|
+
* refresh, API reachability.
|
|
20
32
|
*
|
|
33
|
+
* @param input - Optional configuration for the built-in checks.
|
|
21
34
|
* @returns The default {@link DoctorCheck} list, in execution order.
|
|
22
35
|
*/
|
|
23
|
-
export declare function defaultDoctorChecks(): DoctorCheck[];
|
|
36
|
+
export declare function defaultDoctorChecks(input?: DefaultDoctorChecksInput): DoctorCheck[];
|
|
24
37
|
export interface CreateDoctorCommandInput {
|
|
25
38
|
readonly cliName: string;
|
|
26
39
|
/**
|
|
@@ -32,6 +45,11 @@ export interface CreateDoctorCommandInput {
|
|
|
32
45
|
* doctor can run against an env that only stores overrides on top of a registered default.
|
|
33
46
|
*/
|
|
34
47
|
readonly defaultEnvs?: readonly CliEnvDefault[];
|
|
48
|
+
/**
|
|
49
|
+
* The generator version stamped into the app's generated manifests, forwarded to the built-in
|
|
50
|
+
* build-drift check.
|
|
51
|
+
*/
|
|
52
|
+
readonly manifestGeneratorVersion?: Maybe<string>;
|
|
35
53
|
}
|
|
36
54
|
/**
|
|
37
55
|
* Composable doctor command.
|
|
@@ -43,6 +61,7 @@ export interface CreateDoctorCommandInput {
|
|
|
43
61
|
* @param input.cliName - The CLI's binary name.
|
|
44
62
|
* @param input.checks - Additional checks to append after the default check list.
|
|
45
63
|
* @param input.defaultEnvs - Built-in env presets merged underneath the user's stored env when names match.
|
|
64
|
+
* @param input.manifestGeneratorVersion - The generator version stamped into the app's generated manifests.
|
|
46
65
|
* @returns A yargs `CommandModule` exposing the `doctor` command.
|
|
47
66
|
* @__NO_SIDE_EFFECTS__
|
|
48
67
|
*/
|
|
@@ -120,7 +120,13 @@ export declare function buildFirestoreSessionDoctorReadRouting(input: {
|
|
|
120
120
|
* 3. `GET /session/firestore` is reachable and mints a custom token (+ an App Check token when the
|
|
121
121
|
* API is configured with a web `appId`);
|
|
122
122
|
* 4. `signInWithCustomToken` succeeds against the configured project;
|
|
123
|
-
* 5. the
|
|
123
|
+
* 5. the session's Firestore handle is one the loaded client SDK accepts (`inspectCliFirestoreSdkIdentity`),
|
|
124
|
+
* reported as `stage: 'firestore-sdk-identity'`. Sits between the sign-in and the read because it
|
|
125
|
+
* is the hop whose failure otherwise MASQUERADES as the read's: the handshake returns a uid, and
|
|
126
|
+
* the read then dies on the SDK's `Expected first argument to collection() to be …` — a message
|
|
127
|
+
* that names neither the model nor the handle, and sends the operator to rules and App Check
|
|
128
|
+
* instead of to a duplicated SDK or a stale artifact;
|
|
129
|
+
* 6. the app-supplied {@link FirestoreSessionDoctorProbe} performs one rules-protected read.
|
|
124
130
|
*
|
|
125
131
|
* Doctor checks run PRE-AUTH — `DoctorCheckInput` is only `{ cliName, envName, env, config }`, with no
|
|
126
132
|
* token and no `CliContext` — so this loads credentials itself via `buildCliPaths` +
|