@bemedev/decompose 0.2.1 → 0.3.1

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.
Files changed (45) hide show
  1. package/lib/constants/strings.cjs +2 -0
  2. package/lib/constants/strings.cjs.map +1 -1
  3. package/lib/constants/strings.d.ts +1 -0
  4. package/lib/constants/strings.d.ts.map +1 -1
  5. package/lib/constants/strings.js +2 -1
  6. package/lib/constants/strings.js.map +1 -1
  7. package/lib/decompose.cjs +15 -12
  8. package/lib/decompose.cjs.map +1 -1
  9. package/lib/decompose.d.ts +2 -2
  10. package/lib/decompose.d.ts.map +1 -1
  11. package/lib/decompose.js +15 -12
  12. package/lib/decompose.js.map +1 -1
  13. package/lib/decomposeSV.cjs +28 -0
  14. package/lib/decomposeSV.cjs.map +1 -0
  15. package/lib/decomposeSV.d.ts +3 -0
  16. package/lib/decomposeSV.d.ts.map +1 -0
  17. package/lib/decomposeSV.js +26 -0
  18. package/lib/decomposeSV.js.map +1 -0
  19. package/lib/helpers.cjs +12 -0
  20. package/lib/helpers.cjs.map +1 -0
  21. package/lib/helpers.d.ts +4 -0
  22. package/lib/helpers.d.ts.map +1 -0
  23. package/lib/helpers.js +10 -0
  24. package/lib/helpers.js.map +1 -0
  25. package/lib/index.cjs +5 -0
  26. package/lib/index.cjs.map +1 -1
  27. package/lib/index.d.ts +2 -0
  28. package/lib/index.d.ts.map +1 -1
  29. package/lib/index.js +2 -0
  30. package/lib/index.js.map +1 -1
  31. package/lib/recompose.cjs +34 -0
  32. package/lib/recompose.cjs.map +1 -0
  33. package/lib/recompose.d.ts +4 -0
  34. package/lib/recompose.d.ts.map +1 -0
  35. package/lib/recompose.js +31 -0
  36. package/lib/recompose.js.map +1 -0
  37. package/lib/sortMap.cjs +2 -7
  38. package/lib/sortMap.cjs.map +1 -1
  39. package/lib/sortMap.d.ts +1 -1
  40. package/lib/sortMap.d.ts.map +1 -1
  41. package/lib/sortMap.js +2 -7
  42. package/lib/sortMap.js.map +1 -1
  43. package/lib/types.d.ts +11 -6
  44. package/lib/types.d.ts.map +1 -1
  45. package/package.json +11 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recompose.d.ts","sourceRoot":"","sources":["../src/recompose.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAc5D;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,unns6BAQ/C"}
@@ -0,0 +1,31 @@
1
+ import { merge } from 'ts-deepmerge';
2
+ import { SEPARETOR } from './constants/strings.js';
3
+
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ function recomposeObjectUrl(shape, value) {
6
+ const obj = {};
7
+ if (shape.length <= 0)
8
+ return obj;
9
+ const keys = shape.split(SEPARETOR);
10
+ if (keys.length === 1) {
11
+ const key = keys.shift();
12
+ obj[key] = value;
13
+ }
14
+ else {
15
+ const key = keys.shift();
16
+ obj[key] = recomposeObjectUrl(keys.join(SEPARETOR), value);
17
+ }
18
+ return obj;
19
+ }
20
+ function recompose(shape) {
21
+ const entries = Object.entries(shape);
22
+ const arr = [];
23
+ entries.forEach(([key, value]) => {
24
+ arr.push(recomposeObjectUrl(key, value));
25
+ });
26
+ const output = merge(...arr);
27
+ return Object.freeze(output);
28
+ }
29
+
30
+ export { recompose, recomposeObjectUrl };
31
+ //# sourceMappingURL=recompose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recompose.js","sources":["../src/recompose.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { merge } from 'ts-deepmerge';\nimport { SEPARETOR } from './constants/strings';\nimport type { Recompose, Ru } from './types';\n\nexport function recomposeObjectUrl<T>(shape: string, value: T) {\n const obj: Ru = {};\n if (shape.length <= 0) return obj;\n\n const keys = shape.split(SEPARETOR);\n if (keys.length === 1) {\n const key = keys.shift();\n obj[key!] = value;\n } else {\n const key = keys.shift();\n obj[key!] = recomposeObjectUrl(keys.join(SEPARETOR), value);\n }\n\n return obj;\n}\n\nexport function recompose<T extends Ru>(shape: T) {\n const entries = Object.entries(shape);\n const arr: any[] = [];\n entries.forEach(([key, value]) => {\n arr.push(recomposeObjectUrl(key, value));\n });\n const output = merge(...arr);\n return Object.freeze(output) as Recompose<T>;\n}\n"],"names":[],"mappings":";;;AAAA;AAKgB,SAAA,kBAAkB,CAAI,KAAa,EAAE,KAAQ,EAAA;IAC3D,MAAM,GAAG,GAAO,EAAE,CAAC;AACnB,IAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC;IAElC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACpC,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACzB,QAAA,GAAG,CAAC,GAAI,CAAC,GAAG,KAAK,CAAC;KACnB;SAAM;AACL,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AACzB,QAAA,GAAG,CAAC,GAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;KAC7D;AAED,IAAA,OAAO,GAAG,CAAC;AACb,CAAC;AAEK,SAAU,SAAS,CAAe,KAAQ,EAAA;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAU,EAAE,CAAC;IACtB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QAC/B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,KAAC,CAAC,CAAC;AACH,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7B,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAC;AAC/C;;;;"}
package/lib/sortMap.cjs CHANGED
@@ -1,12 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var constants_strings = require('./constants/strings.cjs');
4
-
5
- function sortMap(delimiter = constants_strings.DELIMITER) {
6
- return (a, b) => {
7
- return (a.split(delimiter).length - b.split(delimiter).length ||
8
- a.localeCompare(b));
9
- };
3
+ function sortMap(a, b) {
4
+ return a.localeCompare(b);
10
5
  }
11
6
 
12
7
  exports.sortMap = sortMap;
@@ -1 +1 @@
1
- {"version":3,"file":"sortMap.cjs","sources":["../src/sortMap.ts"],"sourcesContent":["import { DELIMITER } from './constants/strings';\n\nexport function sortMap(\n delimiter: string = DELIMITER,\n): ((a: string, b: string) => number) | undefined {\n return (a, b) => {\n return (\n a.split(delimiter).length - b.split(delimiter).length ||\n a.localeCompare(b)\n );\n };\n}\n"],"names":["DELIMITER"],"mappings":";;;;AAEgB,SAAA,OAAO,CACrB,SAAA,GAAoBA,2BAAS,EAAA;AAE7B,IAAA,OAAO,CAAC,CAAC,EAAE,CAAC,KAAI;AACd,QAAA,QACE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;AACrD,YAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAClB;AACJ,KAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"sortMap.cjs","sources":["../src/sortMap.ts"],"sourcesContent":["export function sortMap(a: string, b: string) {\n return a.localeCompare(b);\n}\n"],"names":[],"mappings":";;AAAgB,SAAA,OAAO,CAAC,CAAS,EAAE,CAAS,EAAA;AAC1C,IAAA,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B;;;;"}
package/lib/sortMap.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare function sortMap(delimiter?: string): ((a: string, b: string) => number) | undefined;
1
+ export declare function sortMap(a: string, b: string): number;
2
2
  //# sourceMappingURL=sortMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortMap.d.ts","sourceRoot":"","sources":["../src/sortMap.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CACrB,SAAS,GAAE,MAAkB,GAC5B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAOhD"}
1
+ {"version":3,"file":"sortMap.d.ts","sourceRoot":"","sources":["../src/sortMap.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAE3C"}
package/lib/sortMap.js CHANGED
@@ -1,10 +1,5 @@
1
- import { DELIMITER } from './constants/strings.js';
2
-
3
- function sortMap(delimiter = DELIMITER) {
4
- return (a, b) => {
5
- return (a.split(delimiter).length - b.split(delimiter).length ||
6
- a.localeCompare(b));
7
- };
1
+ function sortMap(a, b) {
2
+ return a.localeCompare(b);
8
3
  }
9
4
 
10
5
  export { sortMap };
@@ -1 +1 @@
1
- {"version":3,"file":"sortMap.js","sources":["../src/sortMap.ts"],"sourcesContent":["import { DELIMITER } from './constants/strings';\n\nexport function sortMap(\n delimiter: string = DELIMITER,\n): ((a: string, b: string) => number) | undefined {\n return (a, b) => {\n return (\n a.split(delimiter).length - b.split(delimiter).length ||\n a.localeCompare(b)\n );\n };\n}\n"],"names":[],"mappings":";;AAEgB,SAAA,OAAO,CACrB,SAAA,GAAoB,SAAS,EAAA;AAE7B,IAAA,OAAO,CAAC,CAAC,EAAE,CAAC,KAAI;AACd,QAAA,QACE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM;AACrD,YAAA,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAClB;AACJ,KAAC,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"sortMap.js","sources":["../src/sortMap.ts"],"sourcesContent":["export function sortMap(a: string, b: string) {\n return a.localeCompare(b);\n}\n"],"names":[],"mappings":"AAAgB,SAAA,OAAO,CAAC,CAAS,EAAE,CAAS,EAAA;AAC1C,IAAA,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B;;;;"}
package/lib/types.d.ts CHANGED
@@ -1,17 +1,22 @@
1
- export type StateMatching<T extends Record<string, unknown> | string, Key = keyof T> = T extends Record<string, unknown> ? Key extends string ? T[Key] extends Record<string, unknown> ? `${Key}.${StateMatching<T[Key]>}` | (Key & string) : (Key & string) : never : T;
1
+ export type StateMatching<T extends Record<string, unknown> | string, Key = keyof T> = T extends Record<string, unknown> ? Key extends string ? T[Key] extends Record<string, unknown> ? `${Key}.${StateMatching<T[Key]>}` | (Key & string) : Key & string : never : T;
2
2
  export type LengthOf<T> = T extends ReadonlyArray<unknown> ? T['length'] : number;
3
3
  export type DecomposeOptions = {
4
4
  delimiter?: string;
5
5
  sorter?: (a: string, b: string) => number;
6
6
  };
7
- type _UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
8
- type _LastOf<T> = _UnionToIntersection<T extends unknown ? () => T : never> extends () => infer R ? R : never;
9
- type _Push<T extends unknown[], V> = [...T, V];
10
- type _TuplifyUnionBoolean<T> = [T] extends [never] ? true : false;
11
- export type TuplifyUnion<T> = true extends _TuplifyUnionBoolean<T> ? [] : _Push<TuplifyUnion<Exclude<T, _LastOf<T>>>, _LastOf<T>>;
12
7
  export type StateValue = string | StateValueMap;
13
8
  export interface StateValueMap {
14
9
  [key: string]: StateValue;
15
10
  }
11
+ export type Ru = Record<string, unknown>;
12
+ type _SplitString<T extends Ru> = {
13
+ [key in keyof T]: key extends `${string}.${infer A}` ? A extends `${string}.${string}` ? _SplitString<Record<A, T[key]>> : Record<A, T[key]> : T[key];
14
+ };
15
+ type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
16
+ type SplitSeparator<S extends string> = S extends `${infer A}.${string}` ? A : S;
17
+ type SplitKeys<T extends Ru> = {
18
+ [key in keyof T as SplitSeparator<key & string>]: T[key] extends Ru ? UnionToIntersection<SplitKeys<T[key]>> : T[key];
19
+ };
20
+ export type Recompose<T extends Ru> = SplitKeys<_SplitString<T>>;
16
21
  export {};
17
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAC1C,GAAG,GAAG,MAAM,CAAC,IAEb,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,GAAG,SAAS,MAAM,GAChB,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAClD,CAAC,GAAG,GAAG,MAAM,CAAC,GAChB,KAAK,GACP,CAAC,CAAC;AAER,MAAM,MAAM,QAAQ,CAAC,CAAC,IACpB,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAC7B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,OAAO,CAAC,CAAC,IACZ,oBAAoB,CAClB,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,CACpC,SAAS,MAAM,MAAM,CAAC,GACnB,CAAC,GACD,KAAK,CAAC;AAEZ,KAAK,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAGlE,MAAM,MAAM,YAAY,CAAC,CAAC,IACxB,IAAI,SAAS,oBAAoB,CAAC,CAAC,CAAC,GAChC,EAAE,GACF,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAI9D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAC1C,GAAG,GAAG,MAAM,CAAC,IAEb,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,GAAG,SAAS,MAAM,GAChB,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAClD,GAAG,GAAG,MAAM,GACd,KAAK,GACP,CAAC,CAAC;AAER,MAAM,MAAM,QAAQ,CAAC,CAAC,IACpB,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B;AAED,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAIzC,KAAK,YAAY,CAAC,CAAC,SAAS,EAAE,IAAI;KAC/B,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,EAAE,GAChD,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GAC7B,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GACnB,CAAC,CAAC,GAAG,CAAC;CACX,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAC5B,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GACpE,CAAC,GACD,CAAC,CAAC;AAEN,KAAK,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI;KAC5B,GAAG,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAC/D,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACtC,CAAC,CAAC,GAAG,CAAC;CACX,CAAC;AAGF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bemedev/decompose",
3
- "version": "0.2.1",
4
- "description": "Decompose object to string paths",
3
+ "version": "0.3.1",
4
+ "description": "Decompose object and so more",
5
5
  "author": {
6
6
  "email": "bri_lvi@icloud.com",
7
7
  "name": "chlbri",
@@ -14,7 +14,7 @@
14
14
  "license": "MIT",
15
15
  "type": "module",
16
16
  "main": "lib/index.js",
17
- "typings": "lib/index.d.ts",
17
+ "types": "lib/index.d.ts",
18
18
  "module": "lib/index.js",
19
19
  "keywords": [
20
20
  "For",
@@ -23,20 +23,20 @@
23
23
  "npm",
24
24
  "package"
25
25
  ],
26
+ "engines": {
27
+ "node": ">=20"
28
+ },
26
29
  "files": [
27
30
  "lib",
28
31
  "public"
29
32
  ],
30
- "engines": {
31
- "node": ">=20"
32
- },
33
33
  "scripts": {
34
34
  "config": "pnpm install",
35
35
  "config:off": "pnpm run config --offline",
36
36
  "ci": "pnpm run config:off && pnpm run lint && pnpm run test && pnpm run build",
37
37
  "ci:online": "pnpm run config && pnpm run lint && pnpm run test && pnpm run build",
38
38
  "ci:admin": "pnpm run rm && pnpm run ci:online",
39
- "rollup": "rollup -c",
39
+ "rollup": "NODE_OPTIONS=--max-old-space-size=7136 && rollup -c",
40
40
  "build": "rm -rf lib && pnpm run rollup",
41
41
  "rm": "rm -rf node_modules pnpm-lock.yaml",
42
42
  "rinit": "pnpm run rm && pnpm run config",
@@ -56,6 +56,7 @@
56
56
  "devDependencies": {
57
57
  "@bemedev/fsf": "^0.7.0",
58
58
  "@bemedev/vitest-alias": "^0.0.2",
59
+ "@bemedev/vitest-extended": "^0.3.3",
59
60
  "@types/deep-diff": "^1.0.5",
60
61
  "@types/node": "^20.12.8",
61
62
  "@typescript-eslint/eslint-plugin": "^7.7.1",
@@ -74,6 +75,7 @@
74
75
  "rollup": "^4.14.1",
75
76
  "rollup-plugin-tsc-alias": "^1.1.2",
76
77
  "rollup-plugin-typescript2": "^0.36.0",
78
+ "tsd": "^0.31.0",
77
79
  "tslib": "^2.6.2",
78
80
  "typescript": "^5.4.4",
79
81
  "vitest": "^1.5.2",
@@ -83,6 +85,7 @@
83
85
  "dependencies": {
84
86
  "@bemedev/decompose": "^0.1.6",
85
87
  "@bemedev/usefull-functions": "^0.1.1",
86
- "firebase": "^10.11.1"
88
+ "firebase": "^10.11.1",
89
+ "ts-deepmerge": "^7.0.0"
87
90
  }
88
91
  }