data-structure-typed 2.2.7 → 2.3.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.
Files changed (181) hide show
  1. package/.github/workflows/ci.yml +9 -0
  2. package/CHANGELOG.md +1 -1
  3. package/README.md +14 -3
  4. package/README_CN.md +119 -275
  5. package/benchmark/report.html +1 -1
  6. package/benchmark/report.json +20 -324
  7. package/dist/cjs/index.cjs +689 -182
  8. package/dist/cjs/index.cjs.map +1 -1
  9. package/dist/cjs-legacy/index.cjs +693 -185
  10. package/dist/cjs-legacy/index.cjs.map +1 -1
  11. package/dist/esm/index.mjs +689 -182
  12. package/dist/esm/index.mjs.map +1 -1
  13. package/dist/esm-legacy/index.mjs +693 -185
  14. package/dist/esm-legacy/index.mjs.map +1 -1
  15. package/dist/leetcode/avl-tree-counter.mjs +2957 -0
  16. package/dist/leetcode/avl-tree-multi-map.mjs +2889 -0
  17. package/dist/leetcode/avl-tree.mjs +2720 -0
  18. package/dist/leetcode/binary-tree.mjs +1594 -0
  19. package/dist/leetcode/bst.mjs +2398 -0
  20. package/dist/leetcode/deque.mjs +683 -0
  21. package/dist/leetcode/directed-graph.mjs +1733 -0
  22. package/dist/leetcode/doubly-linked-list.mjs +709 -0
  23. package/dist/leetcode/hash-map.mjs +493 -0
  24. package/dist/leetcode/heap.mjs +542 -0
  25. package/dist/leetcode/max-heap.mjs +375 -0
  26. package/dist/leetcode/max-priority-queue.mjs +383 -0
  27. package/dist/leetcode/min-heap.mjs +363 -0
  28. package/dist/leetcode/min-priority-queue.mjs +371 -0
  29. package/dist/leetcode/priority-queue.mjs +363 -0
  30. package/dist/leetcode/queue.mjs +943 -0
  31. package/dist/leetcode/red-black-tree.mjs +2765 -0
  32. package/dist/leetcode/singly-linked-list.mjs +754 -0
  33. package/dist/leetcode/stack.mjs +217 -0
  34. package/dist/leetcode/tree-counter.mjs +3039 -0
  35. package/dist/leetcode/tree-multi-map.mjs +2913 -0
  36. package/dist/leetcode/trie.mjs +413 -0
  37. package/dist/leetcode/undirected-graph.mjs +1650 -0
  38. package/dist/types/data-structures/base/linear-base.d.ts +6 -6
  39. package/dist/types/data-structures/binary-tree/avl-tree-counter.d.ts +1 -1
  40. package/dist/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +2 -2
  41. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +10 -10
  42. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +25 -27
  43. package/dist/types/data-structures/binary-tree/bst.d.ts +13 -12
  44. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +151 -21
  45. package/dist/types/data-structures/binary-tree/tree-counter.d.ts +4 -4
  46. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +2 -2
  47. package/dist/types/interfaces/binary-tree.d.ts +1 -1
  48. package/dist/umd/data-structure-typed.js +689 -181
  49. package/dist/umd/data-structure-typed.js.map +1 -1
  50. package/dist/umd/data-structure-typed.min.js +3 -3
  51. package/dist/umd/data-structure-typed.min.js.map +1 -1
  52. package/package.json +50 -172
  53. package/src/data-structures/base/linear-base.ts +2 -12
  54. package/src/data-structures/binary-tree/avl-tree-counter.ts +6 -6
  55. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +13 -13
  56. package/src/data-structures/binary-tree/avl-tree.ts +15 -15
  57. package/src/data-structures/binary-tree/binary-tree.ts +57 -60
  58. package/src/data-structures/binary-tree/bst.ts +100 -26
  59. package/src/data-structures/binary-tree/red-black-tree.ts +586 -76
  60. package/src/data-structures/binary-tree/tree-counter.ts +25 -13
  61. package/src/data-structures/binary-tree/tree-multi-map.ts +13 -13
  62. package/src/data-structures/queue/deque.ts +10 -0
  63. package/src/interfaces/binary-tree.ts +1 -1
  64. package/test/performance/data-structures/binary-tree/red-black-tree.test.ts +1 -2
  65. package/test/unit/data-structures/base/iterable-element-base.coverage.test.ts +106 -0
  66. package/test/unit/data-structures/base/iterable-element-base.more-branches.coverage.test.ts +61 -0
  67. package/test/unit/data-structures/base/linear-base.array.coverage.test.ts +168 -0
  68. package/test/unit/data-structures/base/linear-base.concat-else.coverage.test.ts +82 -0
  69. package/test/unit/data-structures/base/linear-base.coverage.test.ts +72 -0
  70. package/test/unit/data-structures/base/linear-base.more-branches.coverage.test.ts +417 -0
  71. package/test/unit/data-structures/binary-tree/avl-tree-counter.more-branches-3.coverage.test.ts +146 -0
  72. package/test/unit/data-structures/binary-tree/avl-tree-counter.more-branches.coverage.test.ts +93 -0
  73. package/test/unit/data-structures/binary-tree/avl-tree-counter.test.ts +30 -30
  74. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.coverage.test.ts +108 -0
  75. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.more-branches-2.coverage.test.ts +85 -0
  76. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +46 -46
  77. package/test/unit/data-structures/binary-tree/avl-tree-node.familyPosition-root-left.coverage.test.ts +17 -0
  78. package/test/unit/data-structures/binary-tree/avl-tree.more-branches-2.coverage.test.ts +99 -0
  79. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +43 -43
  80. package/test/unit/data-structures/binary-tree/binary-indexed-tree.more-branches.coverage.test.ts +18 -0
  81. package/test/unit/data-structures/binary-tree/binary-tree.more-branches.coverage.test.ts +56 -0
  82. package/test/unit/data-structures/binary-tree/binary-tree.remaining-branches.coverage.test.ts +229 -0
  83. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +151 -151
  84. package/test/unit/data-structures/binary-tree/bst.bound-by-predicate.coverage.test.ts +33 -0
  85. package/test/unit/data-structures/binary-tree/bst.coverage.test.ts +94 -0
  86. package/test/unit/data-structures/binary-tree/bst.deletebykey.coverage.test.ts +70 -0
  87. package/test/unit/data-structures/binary-tree/bst.deletewhere.coverage.test.ts +37 -0
  88. package/test/unit/data-structures/binary-tree/bst.floor-lower-predicate.coverage.test.ts +29 -0
  89. package/test/unit/data-structures/binary-tree/bst.floor-setmany.coverage.test.ts +72 -0
  90. package/test/unit/data-structures/binary-tree/bst.getnode.range-ensure.coverage.test.ts +22 -0
  91. package/test/unit/data-structures/binary-tree/bst.misc-branches.coverage.test.ts +100 -0
  92. package/test/unit/data-structures/binary-tree/bst.more-branches-2.coverage.test.ts +133 -0
  93. package/test/unit/data-structures/binary-tree/bst.more-branches-3.coverage.test.ts +45 -0
  94. package/test/unit/data-structures/binary-tree/bst.more-branches-4.coverage.test.ts +36 -0
  95. package/test/unit/data-structures/binary-tree/bst.more-branches-5.coverage.test.ts +40 -0
  96. package/test/unit/data-structures/binary-tree/bst.more.coverage.test.ts +39 -0
  97. package/test/unit/data-structures/binary-tree/bst.node-family.coverage.test.ts +29 -0
  98. package/test/unit/data-structures/binary-tree/bst.range-pruning.coverage.test.ts +43 -0
  99. package/test/unit/data-structures/binary-tree/bst.search-fastpath.coverage.test.ts +30 -0
  100. package/test/unit/data-structures/binary-tree/bst.test.ts +124 -154
  101. package/test/unit/data-structures/binary-tree/overall.test.ts +20 -20
  102. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-corruption-repair.coverage.test.ts +66 -0
  103. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-max-update.coverage.test.ts +18 -0
  104. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-null.coverage.test.ts +53 -0
  105. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-stale-cache.coverage.test.ts +25 -0
  106. package/test/unit/data-structures/binary-tree/red-black-tree.boundary-update.coverage.test.ts +23 -0
  107. package/test/unit/data-structures/binary-tree/red-black-tree.cache-delete.coverage.test.ts +49 -0
  108. package/test/unit/data-structures/binary-tree/red-black-tree.cache-edge.coverage.test.ts +37 -0
  109. package/test/unit/data-structures/binary-tree/red-black-tree.cache-stale-insert.coverage.test.ts +39 -0
  110. package/test/unit/data-structures/binary-tree/red-black-tree.coverage.test.ts +334 -0
  111. package/test/unit/data-structures/binary-tree/red-black-tree.delete-fixup.coverage.test.ts +68 -0
  112. package/test/unit/data-structures/binary-tree/red-black-tree.delete-successor.coverage.test.ts +75 -0
  113. package/test/unit/data-structures/binary-tree/red-black-tree.factories.coverage.test.ts +26 -0
  114. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-compare-update.coverage.test.ts +74 -0
  115. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-no-update.coverage.test.ts +44 -0
  116. package/test/unit/data-structures/binary-tree/red-black-tree.hint-cache-nullish.coverage.test.ts +61 -0
  117. package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-defined.coverage.test.ts +35 -0
  118. package/test/unit/data-structures/binary-tree/red-black-tree.hint-mapmode-undefined.coverage.test.ts +43 -0
  119. package/test/unit/data-structures/binary-tree/red-black-tree.hint-more.coverage.test.ts +99 -0
  120. package/test/unit/data-structures/binary-tree/red-black-tree.hint.coverage.test.ts +60 -0
  121. package/test/unit/data-structures/binary-tree/red-black-tree.insert-cache-nullish.coverage.test.ts +29 -0
  122. package/test/unit/data-structures/binary-tree/red-black-tree.insert-header-parent-nullish.coverage.test.ts +17 -0
  123. package/test/unit/data-structures/binary-tree/red-black-tree.internal-walk.coverage.test.ts +57 -0
  124. package/test/unit/data-structures/binary-tree/red-black-tree.minmax-cache.test.ts +65 -0
  125. package/test/unit/data-structures/binary-tree/red-black-tree.misc-inputs.coverage.test.ts +17 -0
  126. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-2.coverage.test.ts +121 -0
  127. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-3.coverage.test.ts +55 -0
  128. package/test/unit/data-structures/binary-tree/red-black-tree.more-branches-4.coverage.test.ts +44 -0
  129. package/test/unit/data-structures/binary-tree/red-black-tree.predsucc.coverage.test.ts +40 -0
  130. package/test/unit/data-structures/binary-tree/red-black-tree.remaining-branches.coverage.test.ts +123 -0
  131. package/test/unit/data-structures/binary-tree/red-black-tree.set-inputs.coverage.test.ts +64 -0
  132. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-parent-cache.coverage.test.ts +79 -0
  133. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-remaining.coverage.test.ts +44 -0
  134. package/test/unit/data-structures/binary-tree/red-black-tree.setkvnode-uncovered.coverage.test.ts +74 -0
  135. package/test/unit/data-structures/binary-tree/red-black-tree.test.ts +141 -141
  136. package/test/unit/data-structures/binary-tree/red-black-tree.update-branches.coverage.test.ts +30 -0
  137. package/test/unit/data-structures/binary-tree/segment-tree.more-branches.coverage.test.ts +31 -0
  138. package/test/unit/data-structures/binary-tree/tree-counter.coverage.test.ts +115 -0
  139. package/test/unit/data-structures/binary-tree/tree-counter.more-branches.coverage.test.ts +244 -0
  140. package/test/unit/data-structures/binary-tree/tree-counter.test.ts +41 -39
  141. package/test/unit/data-structures/binary-tree/tree-multi-map.coverage.test.ts +104 -0
  142. package/test/unit/data-structures/binary-tree/tree-multi-map.more-branches-2.coverage.test.ts +59 -0
  143. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +145 -145
  144. package/test/unit/data-structures/graph/abstract-graph.more-branches-2.coverage.test.ts +40 -0
  145. package/test/unit/data-structures/graph/abstract-graph.more-branches-3.coverage.test.ts +65 -0
  146. package/test/unit/data-structures/graph/abstract-graph.more-branches-4.coverage.test.ts +98 -0
  147. package/test/unit/data-structures/graph/abstract-graph.more-branches-5.coverage.test.ts +51 -0
  148. package/test/unit/data-structures/graph/abstract-graph.more-branches.coverage.test.ts +62 -0
  149. package/test/unit/data-structures/graph/directed-graph.more-branches-2.coverage.test.ts +38 -0
  150. package/test/unit/data-structures/graph/directed-graph.more-branches-3.coverage.test.ts +25 -0
  151. package/test/unit/data-structures/graph/directed-graph.more-branches.coverage.test.ts +82 -0
  152. package/test/unit/data-structures/graph/map-graph.more-branches.coverage.test.ts +22 -0
  153. package/test/unit/data-structures/graph/undirected-graph.more-branches-2.coverage.test.ts +35 -0
  154. package/test/unit/data-structures/graph/undirected-graph.more-branches.coverage.test.ts +87 -0
  155. package/test/unit/data-structures/hash/hash-map.more-branches.coverage.test.ts +64 -0
  156. package/test/unit/data-structures/hash/hash-map.toEntryFn-branch.coverage.test.ts +9 -0
  157. package/test/unit/data-structures/heap/heap.misc-branches.coverage.test.ts +110 -0
  158. package/test/unit/data-structures/heap/heap.remaining-branches.coverage.test.ts +22 -0
  159. package/test/unit/data-structures/heap/max-heap.coverage.test.ts +29 -0
  160. package/test/unit/data-structures/linked-list/doubly-linked-list.more-branches.coverage.test.ts +72 -0
  161. package/test/unit/data-structures/linked-list/linked-list.unshiftMany-else.coverage.test.ts +15 -0
  162. package/test/unit/data-structures/linked-list/singly-linked-list.coverage.test.ts +221 -0
  163. package/test/unit/data-structures/linked-list/singly-linked-list.more-branches.coverage.test.ts +86 -0
  164. package/test/unit/data-structures/linked-list/skip-linked-list.more-branches.coverage.test.ts +31 -0
  165. package/test/unit/data-structures/matrix/matrix.more-branches.coverage.test.ts +81 -0
  166. package/test/unit/data-structures/matrix/matrix.pivotElement-nullish.coverage.test.ts +28 -0
  167. package/test/unit/data-structures/priority-queue/max-priority-queue.more-branches.coverage.test.ts +10 -0
  168. package/test/unit/data-structures/priority-queue/priority-queue.coverage.test.ts +21 -0
  169. package/test/unit/data-structures/queue/deque.coverage.test.ts +173 -0
  170. package/test/unit/data-structures/queue/deque.more-branches-2.coverage.test.ts +39 -0
  171. package/test/unit/data-structures/queue/deque.more-branches-3.coverage.test.ts +9 -0
  172. package/test/unit/data-structures/queue/deque.more-branches.coverage.test.ts +95 -0
  173. package/test/unit/data-structures/queue/queue.coverage.test.ts +138 -0
  174. package/test/unit/data-structures/queue/queue.more-branches-2.coverage.test.ts +27 -0
  175. package/test/unit/data-structures/stack/stack.coverage.test.ts +112 -0
  176. package/test/unit/data-structures/tree/tree.more-branches.coverage.test.ts +9 -0
  177. package/test/unit/data-structures/trie/trie.more-branches-2.coverage.test.ts +51 -0
  178. package/test/utils/patch.ts +33 -0
  179. package/tsup.config.js +50 -21
  180. package/tsup.umd.config.js +29 -0
  181. package/tsup.node.config.js +0 -83
@@ -0,0 +1,51 @@
1
+ import { Trie } from '../../../../src';
2
+
3
+ describe('Trie additional branch coverage (batch 2)', () => {
4
+ it('getWords() default prefix arg and isAllWhenEmptyPrefix behavior', () => {
5
+ const t = new Trie();
6
+ t.add('a');
7
+ t.add('ab');
8
+
9
+ // prefix default arg (empty) should not collect unless isAllWhenEmptyPrefix=true
10
+ expect(t.getWords()).toEqual([]);
11
+ expect(t.getWords('', 10, true).sort()).toEqual(['a', 'ab']);
12
+ });
13
+
14
+ it('map() covers thisArg branch and non-string return TypeError branch', () => {
15
+ const t = new Trie();
16
+ t.add('a');
17
+
18
+ const ctx = { suf: 'x' };
19
+ const mapped = t.map(function (this: any, w: string) {
20
+ return w + this.suf;
21
+ }, undefined as any, ctx);
22
+ expect((mapped as any).has('ax')).toBe(true);
23
+
24
+ expect(() =>
25
+ t.map(() => 123 as any)
26
+ ).toThrow(/must return string/i);
27
+ });
28
+
29
+ it('mapSame covers both ternary arms and _spawnLike/_createLike default-arg branches', () => {
30
+ const t = new Trie();
31
+ t.add('a');
32
+
33
+ // thisArg === undefined arm
34
+ const t2 = t.mapSame(w => w + 'b');
35
+ expect(t2.has('ab')).toBe(true);
36
+
37
+ // thisArg provided arm
38
+ const ctx = { p: 'z' };
39
+ const t3 = t.mapSame(function (this: any, w: string) {
40
+ return this.p + w;
41
+ }, ctx);
42
+ expect(t3.has('za')).toBe(true);
43
+
44
+ // protected helpers default args
45
+ const like = (t as any)._createLike();
46
+ expect(like.size).toBe(0);
47
+
48
+ const spawned = (t as any)._spawnLike();
49
+ expect(spawned.size).toBe(0);
50
+ });
51
+ });
@@ -0,0 +1,33 @@
1
+ export async function withMutedConsole<T>(fn: () => T | Promise<T>): Promise<T> {
2
+ const originalLog = console.log;
3
+ const originalWarn = console.warn;
4
+ const originalError = console.error;
5
+
6
+ // Keep it minimal: silence during the callback, always restore.
7
+ console.log = (message?: any, ...optionalParams: any[]) => undefined;
8
+ console.warn = (message?: any, ...optionalParams: any[]) => undefined;
9
+ console.error = (message?: any, ...optionalParams: any[]) => undefined;
10
+
11
+ try {
12
+ return await fn();
13
+ } finally {
14
+ console.log = originalLog;
15
+ console.warn = originalWarn;
16
+ console.error = originalError;
17
+ }
18
+ }
19
+
20
+ export function withPatched<T extends object, K extends keyof T, R>(
21
+ obj: T,
22
+ key: K,
23
+ value: T[K],
24
+ fn: () => R
25
+ ): R {
26
+ const original = obj[key];
27
+ (obj as any)[key] = value;
28
+ try {
29
+ return fn();
30
+ } finally {
31
+ (obj as any)[key] = original;
32
+ }
33
+ }
package/tsup.config.js CHANGED
@@ -1,34 +1,63 @@
1
1
  import { defineConfig } from 'tsup';
2
2
 
3
+ const baseConfig = {
4
+ entry: { index: 'src/index.ts' },
5
+ splitting: false,
6
+ sourcemap: true,
7
+ minify: false,
8
+ keepNames: true,
9
+ treeshake: true,
10
+ esbuildOptions(options) {
11
+ options.drop = ['debugger'];
12
+ }
13
+ };
14
+
3
15
  export default defineConfig([
16
+ // ESM (modern) - ES2022
4
17
  {
5
- entry: { "data-structure-typed": "src/index.ts" },
6
- target: 'es2018',
7
- format: ["iife"],
18
+ ...baseConfig,
19
+ format: ['esm'],
20
+ outDir: 'dist/esm',
8
21
  clean: true,
9
- sourcemap: true,
10
- minify: true,
11
- outDir: "dist/umd",
12
- globalName: "dataStructureTyped",
13
- platform: "browser",
14
- outExtension: () => ({ js: '.min.js' }),
15
- esbuildOptions(options) {
16
- options.drop = ['debugger']
22
+ target: 'es2022',
23
+ outExtension() {
24
+ return { js: '.mjs' };
17
25
  }
18
26
  },
27
+
28
+ // ESM (legacy) - ES2018
19
29
  {
20
- entry: { "data-structure-typed": "src/index.ts" },
30
+ ...baseConfig,
31
+ format: ['esm'],
32
+ outDir: 'dist/esm-legacy',
33
+ clean: false,
21
34
  target: 'es2018',
22
- format: ["iife"],
35
+ outExtension() {
36
+ return { js: '.mjs' };
37
+ }
38
+ },
39
+
40
+ // CJS (modern) - ES2022
41
+ {
42
+ ...baseConfig,
43
+ format: ['cjs'],
44
+ outDir: 'dist/cjs',
23
45
  clean: false,
24
- sourcemap: true,
25
- minify: false,
26
- outDir: "dist/umd",
27
- globalName: "dataStructureTyped",
28
- platform: "browser",
29
- outExtension: () => ({ js: '.js' }),
30
- esbuildOptions(options) {
31
- options.drop = ['debugger']
46
+ target: 'es2022',
47
+ outExtension() {
48
+ return { js: '.cjs' };
49
+ }
50
+ },
51
+
52
+ // CJS (legacy) - ES2018
53
+ {
54
+ ...baseConfig,
55
+ format: ['cjs'],
56
+ outDir: 'dist/cjs-legacy',
57
+ clean: false,
58
+ target: 'es2018',
59
+ outExtension() {
60
+ return { js: '.cjs' };
32
61
  }
33
62
  }
34
63
  ]);
@@ -0,0 +1,29 @@
1
+ import { defineConfig } from 'tsup';
2
+
3
+ const baseConfig = {
4
+ entry: { 'data-structure-typed': 'src/index.ts' },
5
+ target: 'es2018',
6
+ format: ['iife'],
7
+ sourcemap: true,
8
+ outDir: 'dist/umd',
9
+ globalName: 'dataStructureTyped',
10
+ platform: 'browser',
11
+ esbuildOptions(options) {
12
+ options.drop = ['debugger'];
13
+ }
14
+ };
15
+
16
+ export default defineConfig([
17
+ {
18
+ ...baseConfig,
19
+ clean: true,
20
+ minify: true,
21
+ outExtension: () => ({ js: '.min.js' })
22
+ },
23
+ {
24
+ ...baseConfig,
25
+ clean: false,
26
+ minify: false,
27
+ outExtension: () => ({ js: '.js' })
28
+ }
29
+ ]);
@@ -1,83 +0,0 @@
1
- import { defineConfig } from "tsup";
2
-
3
- export default defineConfig([
4
- // ESM (modern) - ES2022
5
- {
6
- entry: { index: "src/index.ts" },
7
- format: ["esm"],
8
- outDir: "dist/esm",
9
- splitting: false,
10
- sourcemap: true,
11
- minify: false,
12
- keepNames: true,
13
- treeshake: true,
14
- clean: true,
15
- target: "es2022",
16
- outExtension() {
17
- return { js: ".mjs" };
18
- },
19
- esbuildOptions(options) {
20
- options.drop = ['debugger']
21
- }
22
- },
23
-
24
- // ESM (legacy) - ES2018
25
- {
26
- entry: { index: "src/index.ts" },
27
- format: ["esm"],
28
- outDir: "dist/esm-legacy",
29
- splitting: false,
30
- sourcemap: true,
31
- minify: false,
32
- keepNames: true,
33
- treeshake: true,
34
- clean: false,
35
- target: "es2018",
36
- outExtension() {
37
- return { js: ".mjs" };
38
- },
39
- esbuildOptions(options) {
40
- options.drop = ['debugger']
41
- }
42
- },
43
-
44
- // CJS (modern) - ES2022
45
- {
46
- entry: { index: "src/index.ts" },
47
- format: ["cjs"],
48
- outDir: "dist/cjs",
49
- splitting: false,
50
- sourcemap: true,
51
- minify: false,
52
- keepNames: true,
53
- treeshake: true,
54
- clean: false,
55
- target: "es2022",
56
- outExtension() {
57
- return { js: ".cjs" };
58
- },
59
- esbuildOptions(options) {
60
- options.drop = ['debugger']
61
- }
62
- },
63
-
64
- // CJS (legacy) - ES2018
65
- {
66
- entry: { index: "src/index.ts" },
67
- format: ["cjs"],
68
- outDir: "dist/cjs-legacy",
69
- splitting: false,
70
- sourcemap: true,
71
- minify: false,
72
- keepNames: true,
73
- treeshake: true,
74
- clean: false,
75
- target: "es2018",
76
- outExtension() {
77
- return { js: ".cjs" };
78
- },
79
- esbuildOptions(options) {
80
- options.drop = ['debugger']
81
- }
82
- }
83
- ]);