trie-typed 2.1.2 → 2.2.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/dist/cjs/index.cjs +30 -28
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +795 -0
- package/dist/cjs-legacy/index.cjs.map +1 -0
- package/dist/esm/index.mjs +30 -28
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +790 -0
- package/dist/esm-legacy/index.mjs.map +1 -0
- package/dist/types/data-structures/binary-tree/avl-tree-counter.d.ts +57 -3
- package/dist/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +65 -3
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +58 -4
- package/dist/types/data-structures/binary-tree/bst.d.ts +57 -3
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +58 -4
- package/dist/types/data-structures/binary-tree/tree-counter.d.ts +57 -3
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +65 -3
- package/package.json +20 -2
- package/src/data-structures/binary-tree/avl-tree-counter.ts +102 -11
- package/src/data-structures/binary-tree/avl-tree-multi-map.ts +115 -11
- package/src/data-structures/binary-tree/avl-tree.ts +105 -14
- package/src/data-structures/binary-tree/bst.ts +102 -11
- package/src/data-structures/binary-tree/red-black-tree.ts +108 -18
- package/src/data-structures/binary-tree/tree-counter.ts +101 -10
- package/src/data-structures/binary-tree/tree-multi-map.ts +122 -11
- package/src/data-structures/graph/abstract-graph.ts +5 -5
- package/src/data-structures/graph/directed-graph.ts +5 -5
- package/src/data-structures/graph/undirected-graph.ts +5 -5
- package/tsup.node.config.js +40 -6
|
@@ -11,6 +11,7 @@ import type {
|
|
|
11
11
|
BinaryTreeOptions,
|
|
12
12
|
BSTNOptKeyOrNode,
|
|
13
13
|
EntryCallback,
|
|
14
|
+
FamilyPosition,
|
|
14
15
|
IterationType,
|
|
15
16
|
OptNode,
|
|
16
17
|
RBTNColor,
|
|
@@ -19,7 +20,7 @@ import type {
|
|
|
19
20
|
import { BSTOptions } from '../../types';
|
|
20
21
|
import { BSTNode } from './bst';
|
|
21
22
|
import { IBinaryTree } from '../../interfaces';
|
|
22
|
-
import { RedBlackTree
|
|
23
|
+
import { RedBlackTree } from './red-black-tree';
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
26
|
* RB-tree node with an extra 'count' field; keeps parent/child links.
|
|
@@ -27,8 +28,10 @@ import { RedBlackTree, RedBlackTreeNode } from './red-black-tree';
|
|
|
27
28
|
* @template K
|
|
28
29
|
* @template V
|
|
29
30
|
*/
|
|
30
|
-
export class TreeCounterNode<K = any, V = any>
|
|
31
|
-
|
|
31
|
+
export class TreeCounterNode<K = any, V = any> {
|
|
32
|
+
key: K;
|
|
33
|
+
value?: V;
|
|
34
|
+
parent?: TreeCounterNode<K, V> = undefined;
|
|
32
35
|
|
|
33
36
|
/**
|
|
34
37
|
* Create a tree counter node.
|
|
@@ -40,18 +43,20 @@ export class TreeCounterNode<K = any, V = any> extends RedBlackTreeNode<K, V> {
|
|
|
40
43
|
* @returns New TreeCounterNode instance.
|
|
41
44
|
*/
|
|
42
45
|
constructor(key: K, value?: V, count = 1, color: RBTNColor = 'BLACK') {
|
|
43
|
-
|
|
46
|
+
this.key = key;
|
|
47
|
+
this.value = value;
|
|
48
|
+
this.color = color;
|
|
44
49
|
this.count = count;
|
|
45
50
|
}
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
_left?: TreeCounterNode<K, V> | null | undefined = undefined;
|
|
48
53
|
|
|
49
54
|
/**
|
|
50
55
|
* Get the left child pointer.
|
|
51
56
|
* @remarks Time O(1), Space O(1)
|
|
52
57
|
* @returns Left child node, or null/undefined.
|
|
53
58
|
*/
|
|
54
|
-
|
|
59
|
+
get left(): TreeCounterNode<K, V> | null | undefined {
|
|
55
60
|
return this._left;
|
|
56
61
|
}
|
|
57
62
|
|
|
@@ -61,21 +66,21 @@ export class TreeCounterNode<K = any, V = any> extends RedBlackTreeNode<K, V> {
|
|
|
61
66
|
* @param v - New left child node, or null/undefined.
|
|
62
67
|
* @returns void
|
|
63
68
|
*/
|
|
64
|
-
|
|
69
|
+
set left(v: TreeCounterNode<K, V> | null | undefined) {
|
|
65
70
|
if (v) {
|
|
66
71
|
v.parent = this;
|
|
67
72
|
}
|
|
68
73
|
this._left = v;
|
|
69
74
|
}
|
|
70
75
|
|
|
71
|
-
|
|
76
|
+
_right?: TreeCounterNode<K, V> | null | undefined = undefined;
|
|
72
77
|
|
|
73
78
|
/**
|
|
74
79
|
* Get the right child pointer.
|
|
75
80
|
* @remarks Time O(1), Space O(1)
|
|
76
81
|
* @returns Right child node, or null/undefined.
|
|
77
82
|
*/
|
|
78
|
-
|
|
83
|
+
get right(): TreeCounterNode<K, V> | null | undefined {
|
|
79
84
|
return this._right;
|
|
80
85
|
}
|
|
81
86
|
|
|
@@ -85,12 +90,98 @@ export class TreeCounterNode<K = any, V = any> extends RedBlackTreeNode<K, V> {
|
|
|
85
90
|
* @param v - New right child node, or null/undefined.
|
|
86
91
|
* @returns void
|
|
87
92
|
*/
|
|
88
|
-
|
|
93
|
+
set right(v: TreeCounterNode<K, V> | null | undefined) {
|
|
89
94
|
if (v) {
|
|
90
95
|
v.parent = this;
|
|
91
96
|
}
|
|
92
97
|
this._right = v;
|
|
93
98
|
}
|
|
99
|
+
|
|
100
|
+
_height: number = 0;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Gets the height of the node (used in self-balancing trees).
|
|
104
|
+
* @remarks Time O(1), Space O(1)
|
|
105
|
+
*
|
|
106
|
+
* @returns The height.
|
|
107
|
+
*/
|
|
108
|
+
get height(): number {
|
|
109
|
+
return this._height;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Sets the height of the node.
|
|
114
|
+
* @remarks Time O(1), Space O(1)
|
|
115
|
+
*
|
|
116
|
+
* @param value - The new height.
|
|
117
|
+
*/
|
|
118
|
+
set height(value: number) {
|
|
119
|
+
this._height = value;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
_color: RBTNColor = 'BLACK';
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Gets the color of the node (used in Red-Black trees).
|
|
126
|
+
* @remarks Time O(1), Space O(1)
|
|
127
|
+
*
|
|
128
|
+
* @returns The node's color.
|
|
129
|
+
*/
|
|
130
|
+
get color(): RBTNColor {
|
|
131
|
+
return this._color;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Sets the color of the node.
|
|
136
|
+
* @remarks Time O(1), Space O(1)
|
|
137
|
+
*
|
|
138
|
+
* @param value - The new color.
|
|
139
|
+
*/
|
|
140
|
+
set color(value: RBTNColor) {
|
|
141
|
+
this._color = value;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
_count: number = 1;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Gets the count of nodes in the subtree rooted at this node (used in order-statistic trees).
|
|
148
|
+
* @remarks Time O(1), Space O(1)
|
|
149
|
+
*
|
|
150
|
+
* @returns The subtree node count.
|
|
151
|
+
*/
|
|
152
|
+
get count(): number {
|
|
153
|
+
return this._count;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Sets the count of nodes in the subtree.
|
|
158
|
+
* @remarks Time O(1), Space O(1)
|
|
159
|
+
*
|
|
160
|
+
* @param value - The new count.
|
|
161
|
+
*/
|
|
162
|
+
set count(value: number) {
|
|
163
|
+
this._count = value;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Gets the position of the node relative to its parent.
|
|
168
|
+
* @remarks Time O(1), Space O(1)
|
|
169
|
+
*
|
|
170
|
+
* @returns The family position (e.g., 'ROOT', 'LEFT', 'RIGHT').
|
|
171
|
+
*/
|
|
172
|
+
get familyPosition(): FamilyPosition {
|
|
173
|
+
if (!this.parent) {
|
|
174
|
+
return this.left || this.right ? 'ROOT' : 'ISOLATED';
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (this.parent.left === this) {
|
|
178
|
+
return this.left || this.right ? 'ROOT_LEFT' : 'LEFT';
|
|
179
|
+
} else if (this.parent.right === this) {
|
|
180
|
+
return this.left || this.right ? 'ROOT_RIGHT' : 'RIGHT';
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return 'MAL_NODE';
|
|
184
|
+
}
|
|
94
185
|
}
|
|
95
186
|
|
|
96
187
|
/**
|
|
@@ -6,7 +6,15 @@
|
|
|
6
6
|
* @license MIT License
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
9
|
+
import type {
|
|
10
|
+
BTNOptKeyOrNull,
|
|
11
|
+
ElemOf,
|
|
12
|
+
EntryCallback,
|
|
13
|
+
FamilyPosition,
|
|
14
|
+
RBTNColor,
|
|
15
|
+
RedBlackTreeOptions,
|
|
16
|
+
TreeMultiMapOptions
|
|
17
|
+
} from '../../types';
|
|
10
18
|
import { RedBlackTree, RedBlackTreeNode } from './red-black-tree';
|
|
11
19
|
import { IBinaryTree } from '../../interfaces';
|
|
12
20
|
|
|
@@ -16,8 +24,10 @@ import { IBinaryTree } from '../../interfaces';
|
|
|
16
24
|
* @template K
|
|
17
25
|
* @template V
|
|
18
26
|
*/
|
|
19
|
-
export class TreeMultiMapNode<K = any, V = any>
|
|
20
|
-
|
|
27
|
+
export class TreeMultiMapNode<K = any, V = any> {
|
|
28
|
+
key: K;
|
|
29
|
+
value?: V[];
|
|
30
|
+
parent?: TreeMultiMapNode<K, V> = undefined;
|
|
21
31
|
|
|
22
32
|
/**
|
|
23
33
|
* Create a TreeMultiMap node with an optional value bucket.
|
|
@@ -26,18 +36,20 @@ export class TreeMultiMapNode<K = any, V = any> extends RedBlackTreeNode<K, V[]>
|
|
|
26
36
|
* @param [value] - Initial array of values.
|
|
27
37
|
* @returns New TreeMultiMapNode instance.
|
|
28
38
|
*/
|
|
29
|
-
constructor(key: K, value
|
|
30
|
-
|
|
39
|
+
constructor(key: K, value: V[] = [], color: RBTNColor = 'BLACK') {
|
|
40
|
+
this.key = key;
|
|
41
|
+
this.value = value;
|
|
42
|
+
this.color = color;
|
|
31
43
|
}
|
|
32
44
|
|
|
33
|
-
|
|
45
|
+
_left?: TreeMultiMapNode<K, V> | null | undefined = undefined;
|
|
34
46
|
|
|
35
47
|
/**
|
|
36
48
|
* Get the left child pointer.
|
|
37
49
|
* @remarks Time O(1), Space O(1)
|
|
38
50
|
* @returns Left child node, or null/undefined.
|
|
39
51
|
*/
|
|
40
|
-
|
|
52
|
+
get left(): TreeMultiMapNode<K, V> | null | undefined {
|
|
41
53
|
return this._left;
|
|
42
54
|
}
|
|
43
55
|
|
|
@@ -47,21 +59,21 @@ export class TreeMultiMapNode<K = any, V = any> extends RedBlackTreeNode<K, V[]>
|
|
|
47
59
|
* @param v - New left child node, or null/undefined.
|
|
48
60
|
* @returns void
|
|
49
61
|
*/
|
|
50
|
-
|
|
62
|
+
set left(v: TreeMultiMapNode<K, V> | null | undefined) {
|
|
51
63
|
if (v) {
|
|
52
64
|
v.parent = this;
|
|
53
65
|
}
|
|
54
66
|
this._left = v;
|
|
55
67
|
}
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
_right?: TreeMultiMapNode<K, V> | null | undefined = undefined;
|
|
58
70
|
|
|
59
71
|
/**
|
|
60
72
|
* Get the right child pointer.
|
|
61
73
|
* @remarks Time O(1), Space O(1)
|
|
62
74
|
* @returns Right child node, or null/undefined.
|
|
63
75
|
*/
|
|
64
|
-
|
|
76
|
+
get right(): TreeMultiMapNode<K, V> | null | undefined {
|
|
65
77
|
return this._right;
|
|
66
78
|
}
|
|
67
79
|
|
|
@@ -71,12 +83,98 @@ export class TreeMultiMapNode<K = any, V = any> extends RedBlackTreeNode<K, V[]>
|
|
|
71
83
|
* @param v - New right child node, or null/undefined.
|
|
72
84
|
* @returns void
|
|
73
85
|
*/
|
|
74
|
-
|
|
86
|
+
set right(v: TreeMultiMapNode<K, V> | null | undefined) {
|
|
75
87
|
if (v) {
|
|
76
88
|
v.parent = this;
|
|
77
89
|
}
|
|
78
90
|
this._right = v;
|
|
79
91
|
}
|
|
92
|
+
|
|
93
|
+
_height: number = 0;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Gets the height of the node (used in self-balancing trees).
|
|
97
|
+
* @remarks Time O(1), Space O(1)
|
|
98
|
+
*
|
|
99
|
+
* @returns The height.
|
|
100
|
+
*/
|
|
101
|
+
get height(): number {
|
|
102
|
+
return this._height;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Sets the height of the node.
|
|
107
|
+
* @remarks Time O(1), Space O(1)
|
|
108
|
+
*
|
|
109
|
+
* @param value - The new height.
|
|
110
|
+
*/
|
|
111
|
+
set height(value: number) {
|
|
112
|
+
this._height = value;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
_color: RBTNColor = 'BLACK';
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Gets the color of the node (used in Red-Black trees).
|
|
119
|
+
* @remarks Time O(1), Space O(1)
|
|
120
|
+
*
|
|
121
|
+
* @returns The node's color.
|
|
122
|
+
*/
|
|
123
|
+
get color(): RBTNColor {
|
|
124
|
+
return this._color;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Sets the color of the node.
|
|
129
|
+
* @remarks Time O(1), Space O(1)
|
|
130
|
+
*
|
|
131
|
+
* @param value - The new color.
|
|
132
|
+
*/
|
|
133
|
+
set color(value: RBTNColor) {
|
|
134
|
+
this._color = value;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
_count: number = 1;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Gets the count of nodes in the subtree rooted at this node (used in order-statistic trees).
|
|
141
|
+
* @remarks Time O(1), Space O(1)
|
|
142
|
+
*
|
|
143
|
+
* @returns The subtree node count.
|
|
144
|
+
*/
|
|
145
|
+
get count(): number {
|
|
146
|
+
return this._count;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Sets the count of nodes in the subtree.
|
|
151
|
+
* @remarks Time O(1), Space O(1)
|
|
152
|
+
*
|
|
153
|
+
* @param value - The new count.
|
|
154
|
+
*/
|
|
155
|
+
set count(value: number) {
|
|
156
|
+
this._count = value;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Gets the position of the node relative to its parent.
|
|
161
|
+
* @remarks Time O(1), Space O(1)
|
|
162
|
+
*
|
|
163
|
+
* @returns The family position (e.g., 'ROOT', 'LEFT', 'RIGHT').
|
|
164
|
+
*/
|
|
165
|
+
get familyPosition(): FamilyPosition {
|
|
166
|
+
if (!this.parent) {
|
|
167
|
+
return this.left || this.right ? 'ROOT' : 'ISOLATED';
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (this.parent.left === this) {
|
|
171
|
+
return this.left || this.right ? 'ROOT_LEFT' : 'LEFT';
|
|
172
|
+
} else if (this.parent.right === this) {
|
|
173
|
+
return this.left || this.right ? 'ROOT_RIGHT' : 'RIGHT';
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return 'MAL_NODE';
|
|
177
|
+
}
|
|
80
178
|
}
|
|
81
179
|
|
|
82
180
|
/**
|
|
@@ -274,6 +372,19 @@ export class TreeMultiMap<K = any, V = any, R = any> extends RedBlackTree<K, V[]
|
|
|
274
372
|
return new TreeMultiMapNode<K, V>(key, this._isMapMode ? [] : value);
|
|
275
373
|
}
|
|
276
374
|
|
|
375
|
+
/**
|
|
376
|
+
* Checks if the given item is a `TreeMultiMapNode` instance.
|
|
377
|
+
* @remarks Time O(1), Space O(1)
|
|
378
|
+
*
|
|
379
|
+
* @param keyNodeOrEntry - The item to check.
|
|
380
|
+
* @returns True if it's a TreeMultiMapNode, false otherwise.
|
|
381
|
+
*/
|
|
382
|
+
override isNode(
|
|
383
|
+
keyNodeOrEntry: K | TreeMultiMapNode<K, V> | [K | null | undefined, V[] | undefined] | null | undefined
|
|
384
|
+
): keyNodeOrEntry is TreeMultiMapNode<K, V> {
|
|
385
|
+
return keyNodeOrEntry instanceof TreeMultiMapNode;
|
|
386
|
+
}
|
|
387
|
+
|
|
277
388
|
override add(
|
|
278
389
|
keyNodeOrEntry: K | TreeMultiMapNode<K, V> | [K | null | undefined, V[] | undefined] | null | undefined
|
|
279
390
|
): boolean;
|
|
@@ -50,11 +50,11 @@ export abstract class AbstractEdge<E = any> {
|
|
|
50
50
|
* @example examples will be generated by unit test
|
|
51
51
|
*/
|
|
52
52
|
export abstract class AbstractGraph<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
V = any,
|
|
54
|
+
E = any,
|
|
55
|
+
VO extends AbstractVertex<V> = AbstractVertex<V>,
|
|
56
|
+
EO extends AbstractEdge<E> = AbstractEdge<E>
|
|
57
|
+
>
|
|
58
58
|
extends IterableEntryBase<VertexKey, V | undefined>
|
|
59
59
|
implements IGraph<V, E, VO, EO>
|
|
60
60
|
{
|
|
@@ -38,11 +38,11 @@ export class DirectedEdge<E = any> extends AbstractEdge<E> {
|
|
|
38
38
|
* @example examples will be generated by unit test
|
|
39
39
|
*/
|
|
40
40
|
export class DirectedGraph<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
V = any,
|
|
42
|
+
E = any,
|
|
43
|
+
VO extends DirectedVertex<V> = DirectedVertex<V>,
|
|
44
|
+
EO extends DirectedEdge<E> = DirectedEdge<E>
|
|
45
|
+
>
|
|
46
46
|
extends AbstractGraph<V, E, VO, EO>
|
|
47
47
|
implements IGraph<V, E, VO, EO>
|
|
48
48
|
{
|
|
@@ -36,11 +36,11 @@ export class UndirectedEdge<E = number> extends AbstractEdge<E> {
|
|
|
36
36
|
* @example examples will be generated by unit test
|
|
37
37
|
*/
|
|
38
38
|
export class UndirectedGraph<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
V = any,
|
|
40
|
+
E = any,
|
|
41
|
+
VO extends UndirectedVertex<V> = UndirectedVertex<V>,
|
|
42
|
+
EO extends UndirectedEdge<E> = UndirectedEdge<E>
|
|
43
|
+
>
|
|
44
44
|
extends AbstractGraph<V, E, VO, EO>
|
|
45
45
|
implements IGraph<V, E, VO, EO>
|
|
46
46
|
{
|
package/tsup.node.config.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineConfig } from "tsup";
|
|
2
2
|
|
|
3
3
|
export default defineConfig([
|
|
4
|
-
// ESM
|
|
4
|
+
// ESM (modern) - ES2022
|
|
5
5
|
{
|
|
6
6
|
entry: { index: "src/index.ts" },
|
|
7
7
|
format: ["esm"],
|
|
@@ -12,13 +12,30 @@ export default defineConfig([
|
|
|
12
12
|
keepNames: true,
|
|
13
13
|
treeshake: true,
|
|
14
14
|
clean: true,
|
|
15
|
+
target: "es2022",
|
|
16
|
+
outExtension() {
|
|
17
|
+
return { js: ".mjs" };
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
// ESM (legacy) - ES2018
|
|
22
|
+
{
|
|
23
|
+
entry: { index: "src/index.ts" },
|
|
24
|
+
format: ["esm"],
|
|
25
|
+
outDir: "dist/esm-legacy",
|
|
26
|
+
splitting: false,
|
|
27
|
+
sourcemap: true,
|
|
28
|
+
minify: false,
|
|
29
|
+
keepNames: true,
|
|
30
|
+
treeshake: true,
|
|
31
|
+
clean: false,
|
|
15
32
|
target: "es2018",
|
|
16
33
|
outExtension() {
|
|
17
|
-
return { js: ".mjs" }
|
|
18
|
-
}
|
|
34
|
+
return { js: ".mjs" };
|
|
35
|
+
}
|
|
19
36
|
},
|
|
20
37
|
|
|
21
|
-
// CJS
|
|
38
|
+
// CJS (modern) - ES2022
|
|
22
39
|
{
|
|
23
40
|
entry: { index: "src/index.ts" },
|
|
24
41
|
format: ["cjs"],
|
|
@@ -29,9 +46,26 @@ export default defineConfig([
|
|
|
29
46
|
keepNames: true,
|
|
30
47
|
treeshake: true,
|
|
31
48
|
clean: false,
|
|
32
|
-
target: "
|
|
49
|
+
target: "es2022",
|
|
33
50
|
outExtension() {
|
|
34
51
|
return { js: ".cjs" };
|
|
35
|
-
}
|
|
52
|
+
}
|
|
36
53
|
},
|
|
54
|
+
|
|
55
|
+
// CJS (legacy) - ES2018
|
|
56
|
+
{
|
|
57
|
+
entry: { index: "src/index.ts" },
|
|
58
|
+
format: ["cjs"],
|
|
59
|
+
outDir: "dist/cjs-legacy",
|
|
60
|
+
splitting: false,
|
|
61
|
+
sourcemap: true,
|
|
62
|
+
minify: false,
|
|
63
|
+
keepNames: true,
|
|
64
|
+
treeshake: true,
|
|
65
|
+
clean: false,
|
|
66
|
+
target: "es2018",
|
|
67
|
+
outExtension() {
|
|
68
|
+
return { js: ".cjs" };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
37
71
|
]);
|