pnpm 10.30.0 → 10.30.2

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 (59) hide show
  1. package/dist/node_modules/.modules.yaml +45 -45
  2. package/dist/node_modules/.pnpm/lock.yaml +29 -27
  3. package/dist/node_modules/.pnpm-workspace-state-v1.json +1 -1
  4. package/dist/node_modules/balanced-match/dist/commonjs/index.d.ts.map +1 -0
  5. package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  6. package/dist/node_modules/balanced-match/dist/commonjs/index.js.map +1 -0
  7. package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  8. package/dist/node_modules/balanced-match/dist/esm/index.d.ts.map +1 -0
  9. package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
  10. package/dist/node_modules/balanced-match/dist/esm/index.js.map +1 -0
  11. package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
  12. package/dist/node_modules/balanced-match/package.json +48 -28
  13. package/dist/node_modules/brace-expansion/LICENSE +3 -1
  14. package/dist/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
  15. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +199 -0
  16. package/dist/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
  17. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  18. package/dist/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
  19. package/dist/node_modules/brace-expansion/dist/esm/index.js +195 -0
  20. package/dist/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
  21. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  22. package/dist/node_modules/brace-expansion/package.json +51 -36
  23. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -1
  24. package/dist/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -1
  25. package/dist/node_modules/minimatch/dist/commonjs/ast.js +11 -4
  26. package/dist/node_modules/minimatch/dist/commonjs/ast.js.map +1 -1
  27. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -1
  28. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -1
  29. package/dist/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -1
  30. package/dist/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -1
  31. package/dist/node_modules/minimatch/dist/commonjs/index.js +2 -5
  32. package/dist/node_modules/minimatch/dist/commonjs/index.js.map +1 -1
  33. package/dist/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -1
  34. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -1
  35. package/dist/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -1
  36. package/dist/node_modules/minimatch/dist/esm/ast.js +11 -4
  37. package/dist/node_modules/minimatch/dist/esm/ast.js.map +1 -1
  38. package/dist/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -1
  39. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -1
  40. package/dist/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -1
  41. package/dist/node_modules/minimatch/dist/esm/index.d.ts.map +1 -1
  42. package/dist/node_modules/minimatch/dist/esm/index.js +1 -1
  43. package/dist/node_modules/minimatch/dist/esm/index.js.map +1 -1
  44. package/dist/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -1
  45. package/dist/node_modules/minimatch/package.json +13 -14
  46. package/dist/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -1
  47. package/dist/node_modules/minipass/dist/commonjs/index.js +13 -3
  48. package/dist/node_modules/minipass/dist/commonjs/index.js.map +1 -1
  49. package/dist/node_modules/minipass/dist/esm/index.d.ts.map +1 -1
  50. package/dist/node_modules/minipass/dist/esm/index.js +3 -1
  51. package/dist/node_modules/minipass/dist/esm/index.js.map +1 -1
  52. package/dist/node_modules/minipass/package.json +9 -14
  53. package/dist/pnpm.cjs +158 -145
  54. package/package.json +1 -1
  55. package/dist/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  56. package/dist/node_modules/balanced-match/index.js +0 -62
  57. package/dist/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  58. package/dist/node_modules/brace-expansion/index.js +0 -203
  59. package/dist/node_modules/minipass/LICENSE +0 -15
@@ -16,38 +16,38 @@
16
16
  "node-gyp@11.5.0": [
17
17
  "node_modules/node-gyp"
18
18
  ],
19
+ "nopt@8.1.0": [
20
+ "node_modules/nopt"
21
+ ],
19
22
  "tar@7.5.9": [
20
23
  "node_modules/tar"
21
24
  ],
22
- "nopt@8.1.0": [
23
- "node_modules/nopt"
25
+ "tinyglobby@0.2.15": [
26
+ "node_modules/tinyglobby"
24
27
  ],
25
- "exponential-backoff@3.1.3": [
26
- "node_modules/exponential-backoff"
28
+ "semver@7.7.4": [
29
+ "node_modules/semver"
27
30
  ],
28
31
  "env-paths@2.2.1": [
29
32
  "node_modules/env-paths"
30
33
  ],
31
- "tinyglobby@0.2.15": [
32
- "node_modules/tinyglobby"
33
- ],
34
34
  "proc-log@5.0.0": [
35
35
  "node_modules/proc-log"
36
36
  ],
37
+ "exponential-backoff@3.1.3": [
38
+ "node_modules/exponential-backoff"
39
+ ],
37
40
  "which@5.0.0": [
38
41
  "node_modules/which"
39
42
  ],
40
43
  "graceful-fs@4.2.11": [
41
44
  "node_modules/graceful-fs"
42
45
  ],
43
- "semver@7.7.4": [
44
- "node_modules/semver"
45
- ],
46
46
  "make-fetch-happen@14.0.3": [
47
47
  "node_modules/make-fetch-happen"
48
48
  ],
49
- "minizlib@3.1.0": [
50
- "node_modules/minizlib"
49
+ "abbrev@3.0.1": [
50
+ "node_modules/abbrev"
51
51
  ],
52
52
  "chownr@3.0.0": [
53
53
  "node_modules/chownr"
@@ -58,11 +58,11 @@
58
58
  "@isaacs/fs-minipass@4.0.1": [
59
59
  "node_modules/@isaacs/fs-minipass"
60
60
  ],
61
- "minipass@7.1.2": [
62
- "node_modules/minipass"
61
+ "minizlib@3.1.0": [
62
+ "node_modules/minizlib"
63
63
  ],
64
- "abbrev@3.0.1": [
65
- "node_modules/abbrev"
64
+ "minipass@7.1.3": [
65
+ "node_modules/minipass"
66
66
  ],
67
67
  "fdir@6.5.0(picomatch@4.0.3)": [
68
68
  "node_modules/fdir"
@@ -79,6 +79,9 @@
79
79
  "cacache@19.0.1": [
80
80
  "node_modules/cacache"
81
81
  ],
82
+ "negotiator@1.0.0": [
83
+ "node_modules/negotiator"
84
+ ],
82
85
  "minipass@3.3.6": [
83
86
  "node_modules/minipass-flush/node_modules/minipass",
84
87
  "node_modules/minipass-pipeline/node_modules/minipass",
@@ -89,27 +92,18 @@
89
92
  "node_modules/minipass-pipeline/node_modules/yallist",
90
93
  "node_modules/minipass-sized/node_modules/yallist"
91
94
  ],
92
- "http-cache-semantics@4.2.0": [
93
- "node_modules/http-cache-semantics"
94
- ],
95
- "negotiator@1.0.0": [
96
- "node_modules/negotiator"
97
- ],
98
95
  "promise-retry@2.0.1": [
99
96
  "node_modules/promise-retry"
100
97
  ],
101
98
  "minipass-fetch@4.0.1": [
102
99
  "node_modules/minipass-fetch"
103
100
  ],
101
+ "http-cache-semantics@4.2.0": [
102
+ "node_modules/http-cache-semantics"
103
+ ],
104
104
  "@npmcli/agent@3.0.0": [
105
105
  "node_modules/@npmcli/agent"
106
106
  ],
107
- "p-map@7.0.4": [
108
- "node_modules/p-map"
109
- ],
110
- "fs-minipass@3.0.3": [
111
- "node_modules/fs-minipass"
112
- ],
113
107
  "unique-filename@4.0.0": [
114
108
  "node_modules/unique-filename"
115
109
  ],
@@ -119,6 +113,12 @@
119
113
  "@npmcli/fs@4.0.0": [
120
114
  "node_modules/@npmcli/fs"
121
115
  ],
116
+ "fs-minipass@3.0.3": [
117
+ "node_modules/fs-minipass"
118
+ ],
119
+ "p-map@7.0.4": [
120
+ "node_modules/p-map"
121
+ ],
122
122
  "lru-cache@10.4.3": [
123
123
  "node_modules/lru-cache"
124
124
  ],
@@ -134,34 +134,34 @@
134
134
  "encoding@0.1.13": [
135
135
  "node_modules/encoding"
136
136
  ],
137
- "http-proxy-agent@7.0.2": [
138
- "node_modules/http-proxy-agent"
139
- ],
140
- "agent-base@7.1.4": [
141
- "node_modules/agent-base"
142
- ],
143
137
  "https-proxy-agent@7.0.6": [
144
138
  "node_modules/https-proxy-agent"
145
139
  ],
140
+ "http-proxy-agent@7.0.2": [
141
+ "node_modules/http-proxy-agent"
142
+ ],
146
143
  "socks-proxy-agent@8.0.5": [
147
144
  "node_modules/socks-proxy-agent"
148
145
  ],
146
+ "agent-base@7.1.4": [
147
+ "node_modules/agent-base"
148
+ ],
149
149
  "unique-slug@5.0.0": [
150
150
  "node_modules/unique-slug"
151
151
  ],
152
- "foreground-child@3.3.1": [
153
- "node_modules/foreground-child"
154
- ],
155
152
  "package-json-from-dist@1.0.1": [
156
153
  "node_modules/package-json-from-dist"
157
154
  ],
155
+ "foreground-child@3.3.1": [
156
+ "node_modules/foreground-child"
157
+ ],
158
158
  "jackspeak@3.4.3": [
159
159
  "node_modules/jackspeak"
160
160
  ],
161
161
  "path-scurry@1.11.1": [
162
162
  "node_modules/path-scurry"
163
163
  ],
164
- "minimatch@9.0.5": [
164
+ "minimatch@9.0.6": [
165
165
  "node_modules/minimatch"
166
166
  ],
167
167
  "iconv-lite@0.6.3": [
@@ -191,7 +191,7 @@
191
191
  "@pkgjs/parseargs@0.11.0": [
192
192
  "node_modules/@pkgjs/parseargs"
193
193
  ],
194
- "brace-expansion@2.0.2": [
194
+ "brace-expansion@5.0.3": [
195
195
  "node_modules/brace-expansion"
196
196
  ],
197
197
  "safer-buffer@2.1.2": [
@@ -242,7 +242,7 @@
242
242
  "string-width@5.1.2": [
243
243
  "node_modules/string-width"
244
244
  ],
245
- "balanced-match@1.0.2": [
245
+ "balanced-match@4.0.4": [
246
246
  "node_modules/balanced-match"
247
247
  ],
248
248
  "shebang-regex@3.0.0": [
@@ -260,12 +260,12 @@
260
260
  "ansi-regex@6.2.2": [
261
261
  "node_modules/ansi-regex"
262
262
  ],
263
- "emoji-regex@9.2.2": [
264
- "node_modules/emoji-regex"
265
- ],
266
263
  "eastasianwidth@0.2.0": [
267
264
  "node_modules/eastasianwidth"
268
265
  ],
266
+ "emoji-regex@9.2.2": [
267
+ "node_modules/emoji-regex"
268
+ ],
269
269
  "color-name@1.1.4": [
270
270
  "node_modules/color-name"
271
271
  ],
@@ -286,10 +286,10 @@
286
286
  ]
287
287
  },
288
288
  "nodeLinker": "hoisted",
289
- "packageManager": "pnpm@10.29.3",
289
+ "packageManager": "pnpm@10.30.1",
290
290
  "pendingBuilds": [],
291
291
  "publicHoistPattern": [],
292
- "prunedAt": "Tue, 17 Feb 2026 14:59:57 GMT",
292
+ "prunedAt": "Mon, 23 Feb 2026 23:54:27 GMT",
293
293
  "registries": {
294
294
  "default": "https://registry.npmjs.org/",
295
295
  "@jsr": "https://npm.jsr.io/"
@@ -19,7 +19,7 @@ overrides:
19
19
  isexe@3: 3.1.1
20
20
  istanbul-reports: npm:@zkochan/istanbul-reports
21
21
  js-yaml@<3.14.2: ^3.14.2
22
- js-yaml@^4.0.0: npm:@zkochan/js-yaml@0.0.9
22
+ js-yaml@^4.0.0: npm:@zkochan/js-yaml@0.0.11
23
23
  json5@<2.2.2: ^2.2.3
24
24
  jsonwebtoken@<=8.5.1: '>=9.0.0'
25
25
  jws@<3.2.3: ^3.2.3
@@ -97,11 +97,13 @@ packages:
97
97
  resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
98
98
  engines: {node: '>=12'}
99
99
 
100
- balanced-match@1.0.2:
101
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
100
+ balanced-match@4.0.4:
101
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
102
+ engines: {node: 18 || 20 || >=22}
102
103
 
103
- brace-expansion@2.0.2:
104
- resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
104
+ brace-expansion@5.0.3:
105
+ resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==}
106
+ engines: {node: 18 || 20 || >=22}
105
107
 
106
108
  cacache@19.0.1:
107
109
  resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==}
@@ -222,8 +224,8 @@ packages:
222
224
  resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==}
223
225
  engines: {node: ^18.17.0 || >=20.5.0}
224
226
 
225
- minimatch@9.0.5:
226
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
227
+ minimatch@9.0.6:
228
+ resolution: {integrity: sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==}
227
229
  engines: {node: '>=16 || 14 >=14.17'}
228
230
 
229
231
  minipass-collect@2.0.1:
@@ -250,8 +252,8 @@ packages:
250
252
  resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
251
253
  engines: {node: '>=8'}
252
254
 
253
- minipass@7.1.2:
254
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
255
+ minipass@7.1.3:
256
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
255
257
  engines: {node: '>=16 || 14 >=14.17'}
256
258
 
257
259
  minizlib@3.1.0:
@@ -416,7 +418,7 @@ snapshots:
416
418
 
417
419
  '@isaacs/fs-minipass@4.0.1':
418
420
  dependencies:
419
- minipass: 7.1.2
421
+ minipass: 7.1.3
420
422
  optional: true
421
423
 
422
424
  '@npmcli/agent@3.0.0':
@@ -458,12 +460,12 @@ snapshots:
458
460
  ansi-styles@6.2.3:
459
461
  optional: true
460
462
 
461
- balanced-match@1.0.2:
463
+ balanced-match@4.0.4:
462
464
  optional: true
463
465
 
464
- brace-expansion@2.0.2:
466
+ brace-expansion@5.0.3:
465
467
  dependencies:
466
- balanced-match: 1.0.2
468
+ balanced-match: 4.0.4
467
469
  optional: true
468
470
 
469
471
  cacache@19.0.1:
@@ -472,7 +474,7 @@ snapshots:
472
474
  fs-minipass: 3.0.3
473
475
  glob: 10.5.0
474
476
  lru-cache: 10.4.3
475
- minipass: 7.1.2
477
+ minipass: 7.1.3
476
478
  minipass-collect: 2.0.1
477
479
  minipass-flush: 1.0.5
478
480
  minipass-pipeline: 1.2.4
@@ -541,15 +543,15 @@ snapshots:
541
543
 
542
544
  fs-minipass@3.0.3:
543
545
  dependencies:
544
- minipass: 7.1.2
546
+ minipass: 7.1.3
545
547
  optional: true
546
548
 
547
549
  glob@10.5.0:
548
550
  dependencies:
549
551
  foreground-child: 3.3.1
550
552
  jackspeak: 3.4.3
551
- minimatch: 9.0.5
552
- minipass: 7.1.2
553
+ minimatch: 9.0.6
554
+ minipass: 7.1.3
553
555
  package-json-from-dist: 1.0.1
554
556
  path-scurry: 1.11.1
555
557
  optional: true
@@ -611,7 +613,7 @@ snapshots:
611
613
  '@npmcli/agent': 3.0.0
612
614
  cacache: 19.0.1
613
615
  http-cache-semantics: 4.2.0
614
- minipass: 7.1.2
616
+ minipass: 7.1.3
615
617
  minipass-fetch: 4.0.1
616
618
  minipass-flush: 1.0.5
617
619
  minipass-pipeline: 1.2.4
@@ -623,19 +625,19 @@ snapshots:
623
625
  - supports-color
624
626
  optional: true
625
627
 
626
- minimatch@9.0.5:
628
+ minimatch@9.0.6:
627
629
  dependencies:
628
- brace-expansion: 2.0.2
630
+ brace-expansion: 5.0.3
629
631
  optional: true
630
632
 
631
633
  minipass-collect@2.0.1:
632
634
  dependencies:
633
- minipass: 7.1.2
635
+ minipass: 7.1.3
634
636
  optional: true
635
637
 
636
638
  minipass-fetch@4.0.1:
637
639
  dependencies:
638
- minipass: 7.1.2
640
+ minipass: 7.1.3
639
641
  minipass-sized: 1.0.3
640
642
  minizlib: 3.1.0
641
643
  optionalDependencies:
@@ -662,12 +664,12 @@ snapshots:
662
664
  yallist: 4.0.0
663
665
  optional: true
664
666
 
665
- minipass@7.1.2:
667
+ minipass@7.1.3:
666
668
  optional: true
667
669
 
668
670
  minizlib@3.1.0:
669
671
  dependencies:
670
- minipass: 7.1.2
672
+ minipass: 7.1.3
671
673
  optional: true
672
674
 
673
675
  ms@2.1.3:
@@ -709,7 +711,7 @@ snapshots:
709
711
  path-scurry@1.11.1:
710
712
  dependencies:
711
713
  lru-cache: 10.4.3
712
- minipass: 7.1.2
714
+ minipass: 7.1.3
713
715
  optional: true
714
716
 
715
717
  picomatch@4.0.3:
@@ -764,7 +766,7 @@ snapshots:
764
766
 
765
767
  ssri@12.0.0:
766
768
  dependencies:
767
- minipass: 7.1.2
769
+ minipass: 7.1.3
768
770
  optional: true
769
771
 
770
772
  string-width@4.2.3:
@@ -795,7 +797,7 @@ snapshots:
795
797
  dependencies:
796
798
  '@isaacs/fs-minipass': 4.0.1
797
799
  chownr: 3.0.0
798
- minipass: 7.1.2
800
+ minipass: 7.1.3
799
801
  minizlib: 3.1.0
800
802
  yallist: 5.0.0
801
803
  optional: true
@@ -1,5 +1,5 @@
1
1
  {
2
- "lastValidatedTimestamp": 1771340397107,
2
+ "lastValidatedTimestamp": 1771890867810,
3
3
  "projects": {},
4
4
  "pnpmfiles": [],
5
5
  "settings": {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GACnB,GAAG,MAAM,GAAG,MAAM,EAClB,GAAG,MAAM,GAAG,MAAM,EAClB,KAAK,MAAM;;;;;;aAgBZ,CAAA;AAOD,eAAO,MAAM,KAAK,GAChB,GAAG,MAAM,EACT,GAAG,MAAM,EACT,KAAK,MAAM,KACV,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CA2C7B,CAAA"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.range = exports.balanced = void 0;
4
+ const balanced = (a, b, str) => {
5
+ const ma = a instanceof RegExp ? maybeMatch(a, str) : a;
6
+ const mb = b instanceof RegExp ? maybeMatch(b, str) : b;
7
+ const r = ma !== null && mb != null && (0, exports.range)(ma, mb, str);
8
+ return (r && {
9
+ start: r[0],
10
+ end: r[1],
11
+ pre: str.slice(0, r[0]),
12
+ body: str.slice(r[0] + ma.length, r[1]),
13
+ post: str.slice(r[1] + mb.length),
14
+ });
15
+ };
16
+ exports.balanced = balanced;
17
+ const maybeMatch = (reg, str) => {
18
+ const m = str.match(reg);
19
+ return m ? m[0] : null;
20
+ };
21
+ const range = (a, b, str) => {
22
+ let begs, beg, left, right = undefined, result;
23
+ let ai = str.indexOf(a);
24
+ let bi = str.indexOf(b, ai + 1);
25
+ let i = ai;
26
+ if (ai >= 0 && bi > 0) {
27
+ if (a === b) {
28
+ return [ai, bi];
29
+ }
30
+ begs = [];
31
+ left = str.length;
32
+ while (i >= 0 && !result) {
33
+ if (i === ai) {
34
+ begs.push(i);
35
+ ai = str.indexOf(a, i + 1);
36
+ }
37
+ else if (begs.length === 1) {
38
+ const r = begs.pop();
39
+ if (r !== undefined)
40
+ result = [r, bi];
41
+ }
42
+ else {
43
+ beg = begs.pop();
44
+ if (beg !== undefined && beg < left) {
45
+ left = beg;
46
+ right = bi;
47
+ }
48
+ bi = str.indexOf(b, i + 1);
49
+ }
50
+ i = ai < bi && ai >= 0 ? ai : bi;
51
+ }
52
+ if (begs.length && right !== undefined) {
53
+ result = [left, right];
54
+ }
55
+ }
56
+ return result;
57
+ };
58
+ exports.range = range;
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export const balanced = (\n a: string | RegExp,\n b: string | RegExp,\n str: string,\n) => {\n const ma = a instanceof RegExp ? maybeMatch(a, str) : a\n const mb = b instanceof RegExp ? maybeMatch(b, str) : b\n\n const r = ma !== null && mb != null && range(ma, mb, str)\n\n return (\n r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + ma.length, r[1]),\n post: str.slice(r[1] + mb.length),\n }\n )\n}\n\nconst maybeMatch = (reg: RegExp, str: string) => {\n const m = str.match(reg)\n return m ? m[0] : null\n}\n\nexport const range = (\n a: string,\n b: string,\n str: string,\n): undefined | [number, number] => {\n let begs: number[],\n beg: number | undefined,\n left: number,\n right: number | undefined = undefined,\n result: undefined | [number, number]\n let ai = str.indexOf(a)\n let bi = str.indexOf(b, ai + 1)\n let i = ai\n\n if (ai >= 0 && bi > 0) {\n if (a === b) {\n return [ai, bi]\n }\n begs = []\n left = str.length\n\n while (i >= 0 && !result) {\n if (i === ai) {\n begs.push(i)\n ai = str.indexOf(a, i + 1)\n } else if (begs.length === 1) {\n const r = begs.pop()\n if (r !== undefined) result = [r, bi]\n } else {\n beg = begs.pop()\n if (beg !== undefined && beg < left) {\n left = beg\n right = bi\n }\n\n bi = str.indexOf(b, i + 1)\n }\n\n i = ai < bi && ai >= 0 ? ai : bi\n }\n\n if (begs.length && right !== undefined) {\n result = [left, right]\n }\n }\n\n return result\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GACnB,GAAG,MAAM,GAAG,MAAM,EAClB,GAAG,MAAM,GAAG,MAAM,EAClB,KAAK,MAAM;;;;;;aAgBZ,CAAA;AAOD,eAAO,MAAM,KAAK,GAChB,GAAG,MAAM,EACT,GAAG,MAAM,EACT,KAAK,MAAM,KACV,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CA2C7B,CAAA"}
@@ -0,0 +1,54 @@
1
+ export const balanced = (a, b, str) => {
2
+ const ma = a instanceof RegExp ? maybeMatch(a, str) : a;
3
+ const mb = b instanceof RegExp ? maybeMatch(b, str) : b;
4
+ const r = ma !== null && mb != null && range(ma, mb, str);
5
+ return (r && {
6
+ start: r[0],
7
+ end: r[1],
8
+ pre: str.slice(0, r[0]),
9
+ body: str.slice(r[0] + ma.length, r[1]),
10
+ post: str.slice(r[1] + mb.length),
11
+ });
12
+ };
13
+ const maybeMatch = (reg, str) => {
14
+ const m = str.match(reg);
15
+ return m ? m[0] : null;
16
+ };
17
+ export const range = (a, b, str) => {
18
+ let begs, beg, left, right = undefined, result;
19
+ let ai = str.indexOf(a);
20
+ let bi = str.indexOf(b, ai + 1);
21
+ let i = ai;
22
+ if (ai >= 0 && bi > 0) {
23
+ if (a === b) {
24
+ return [ai, bi];
25
+ }
26
+ begs = [];
27
+ left = str.length;
28
+ while (i >= 0 && !result) {
29
+ if (i === ai) {
30
+ begs.push(i);
31
+ ai = str.indexOf(a, i + 1);
32
+ }
33
+ else if (begs.length === 1) {
34
+ const r = begs.pop();
35
+ if (r !== undefined)
36
+ result = [r, bi];
37
+ }
38
+ else {
39
+ beg = begs.pop();
40
+ if (beg !== undefined && beg < left) {
41
+ left = beg;
42
+ right = bi;
43
+ }
44
+ bi = str.indexOf(b, i + 1);
45
+ }
46
+ i = ai < bi && ai >= 0 ? ai : bi;
47
+ }
48
+ if (begs.length && right !== undefined) {
49
+ result = [left, right];
50
+ }
51
+ }
52
+ return result;
53
+ };
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export const balanced = (\n a: string | RegExp,\n b: string | RegExp,\n str: string,\n) => {\n const ma = a instanceof RegExp ? maybeMatch(a, str) : a\n const mb = b instanceof RegExp ? maybeMatch(b, str) : b\n\n const r = ma !== null && mb != null && range(ma, mb, str)\n\n return (\n r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + ma.length, r[1]),\n post: str.slice(r[1] + mb.length),\n }\n )\n}\n\nconst maybeMatch = (reg: RegExp, str: string) => {\n const m = str.match(reg)\n return m ? m[0] : null\n}\n\nexport const range = (\n a: string,\n b: string,\n str: string,\n): undefined | [number, number] => {\n let begs: number[],\n beg: number | undefined,\n left: number,\n right: number | undefined = undefined,\n result: undefined | [number, number]\n let ai = str.indexOf(a)\n let bi = str.indexOf(b, ai + 1)\n let i = ai\n\n if (ai >= 0 && bi > 0) {\n if (a === b) {\n return [ai, bi]\n }\n begs = []\n left = str.length\n\n while (i >= 0 && !result) {\n if (i === ai) {\n begs.push(i)\n ai = str.indexOf(a, i + 1)\n } else if (begs.length === 1) {\n const r = begs.pop()\n if (r !== undefined) result = [r, bi]\n } else {\n beg = begs.pop()\n if (beg !== undefined && beg < left) {\n left = beg\n right = bi\n }\n\n bi = str.indexOf(b, i + 1)\n }\n\n i = ai < bi && ai >= 0 ? ai : bi\n }\n\n if (begs.length && right !== undefined) {\n result = [left, right]\n }\n }\n\n return result\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -1,20 +1,49 @@
1
1
  {
2
2
  "name": "balanced-match",
3
3
  "description": "Match balanced character pairs, like \"{\" and \"}\"",
4
- "version": "1.0.2",
4
+ "version": "4.0.4",
5
+ "files": [
6
+ "dist"
7
+ ],
5
8
  "repository": {
6
9
  "type": "git",
7
10
  "url": "git://github.com/juliangruber/balanced-match.git"
8
11
  },
9
- "homepage": "https://github.com/juliangruber/balanced-match",
10
- "main": "index.js",
12
+ "exports": {
13
+ "./package.json": "./package.json",
14
+ ".": {
15
+ "import": {
16
+ "types": "./dist/esm/index.d.ts",
17
+ "default": "./dist/esm/index.js"
18
+ },
19
+ "require": {
20
+ "types": "./dist/commonjs/index.d.ts",
21
+ "default": "./dist/commonjs/index.js"
22
+ }
23
+ }
24
+ },
25
+ "type": "module",
11
26
  "scripts": {
12
- "test": "tape test/test.js",
13
- "bench": "matcha test/bench.js"
27
+ "preversion": "npm test",
28
+ "postversion": "npm publish",
29
+ "prepublishOnly": "git push origin --follow-tags",
30
+ "prepare": "tshy",
31
+ "pretest": "npm run prepare",
32
+ "presnap": "npm run prepare",
33
+ "test": "tap",
34
+ "snap": "tap",
35
+ "format": "prettier --write .",
36
+ "benchmark": "node benchmark/index.js",
37
+ "typedoc": "typedoc --tsconfig .tshy/esm.json ./src/*.ts"
14
38
  },
15
39
  "devDependencies": {
16
- "matcha": "^0.7.0",
17
- "tape": "^4.6.0"
40
+ "@types/brace-expansion": "^1.1.2",
41
+ "@types/node": "^25.2.1",
42
+ "mkdirp": "^3.0.1",
43
+ "prettier": "^3.3.2",
44
+ "tap": "^21.6.2",
45
+ "tshy": "^3.0.2",
46
+ "typedoc": "^0.28.5"
18
47
  },
19
48
  "keywords": [
20
49
  "match",
@@ -23,26 +52,17 @@
23
52
  "balanced",
24
53
  "parse"
25
54
  ],
26
- "author": {
27
- "name": "Julian Gruber",
28
- "email": "mail@juliangruber.com",
29
- "url": "http://juliangruber.com"
30
- },
31
55
  "license": "MIT",
32
- "testling": {
33
- "files": "test/*.js",
34
- "browsers": [
35
- "ie/8..latest",
36
- "firefox/20..latest",
37
- "firefox/nightly",
38
- "chrome/25..latest",
39
- "chrome/canary",
40
- "opera/12..latest",
41
- "opera/next",
42
- "safari/5.1..latest",
43
- "ipad/6.0..latest",
44
- "iphone/6.0..latest",
45
- "android-browser/4.2..latest"
46
- ]
47
- }
56
+ "engines": {
57
+ "node": "18 || 20 || >=22"
58
+ },
59
+ "tshy": {
60
+ "exports": {
61
+ "./package.json": "./package.json",
62
+ ".": "./src/index.ts"
63
+ }
64
+ },
65
+ "main": "./dist/commonjs/index.js",
66
+ "types": "./dist/commonjs/index.d.ts",
67
+ "module": "./dist/esm/index.js"
48
68
  }
@@ -1,6 +1,8 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
3
+ Copyright Julian Gruber <julian@juliangruber.com>
4
+
5
+ TypeScript port Copyright Isaac Z. Schlueter <i@izs.me>
4
6
 
5
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
8
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,aAAa,SAAU,CAAA;AAwDpC,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,YAkBtE"}