bitwrench 2.0.16 → 2.0.17

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 (42) hide show
  1. package/dist/bitwrench-bccl.cjs.js +6 -2
  2. package/dist/bitwrench-bccl.cjs.min.js +3 -3
  3. package/dist/bitwrench-bccl.esm.js +6 -2
  4. package/dist/bitwrench-bccl.esm.min.js +3 -3
  5. package/dist/bitwrench-bccl.umd.js +6 -2
  6. package/dist/bitwrench-bccl.umd.min.js +2 -2
  7. package/dist/bitwrench-code-edit.cjs.js +1 -1
  8. package/dist/bitwrench-code-edit.cjs.min.js +1 -1
  9. package/dist/bitwrench-code-edit.es5.js +1 -1
  10. package/dist/bitwrench-code-edit.es5.min.js +1 -1
  11. package/dist/bitwrench-code-edit.esm.js +1 -1
  12. package/dist/bitwrench-code-edit.esm.min.js +1 -1
  13. package/dist/bitwrench-code-edit.umd.js +1 -1
  14. package/dist/bitwrench-code-edit.umd.min.js +1 -1
  15. package/dist/bitwrench-lean.cjs.js +506 -154
  16. package/dist/bitwrench-lean.cjs.min.js +7 -7
  17. package/dist/bitwrench-lean.es5.js +517 -155
  18. package/dist/bitwrench-lean.es5.min.js +5 -5
  19. package/dist/bitwrench-lean.esm.js +505 -154
  20. package/dist/bitwrench-lean.esm.min.js +6 -6
  21. package/dist/bitwrench-lean.umd.js +506 -154
  22. package/dist/bitwrench-lean.umd.min.js +7 -7
  23. package/dist/bitwrench.cjs.js +511 -155
  24. package/dist/bitwrench.cjs.min.js +8 -8
  25. package/dist/bitwrench.es5.js +525 -156
  26. package/dist/bitwrench.es5.min.js +6 -6
  27. package/dist/bitwrench.esm.js +510 -155
  28. package/dist/bitwrench.esm.min.js +8 -8
  29. package/dist/bitwrench.umd.js +511 -155
  30. package/dist/bitwrench.umd.min.js +8 -8
  31. package/dist/builds.json +82 -82
  32. package/dist/bwserve.cjs.js +16 -2
  33. package/dist/bwserve.esm.js +16 -2
  34. package/dist/sri.json +34 -34
  35. package/package.json +4 -2
  36. package/readme.html +1 -1
  37. package/src/bitwrench-bccl.js +5 -1
  38. package/src/bitwrench.js +502 -151
  39. package/src/bwserve/index.js +12 -1
  40. package/src/bwserve/shell.js +3 -0
  41. package/src/cli/layout-default.js +47 -32
  42. package/src/version.js +3 -3
package/dist/builds.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "2.0.16",
3
- "buildDate": "2026-03-12",
2
+ "version": "2.0.17",
3
+ "buildDate": "2026-03-13",
4
4
  "files": [
5
5
  {
6
6
  "file": "bitwrench-bccl.cjs.js",
@@ -8,10 +8,10 @@
8
8
  "ver": "2.x",
9
9
  "component": "bccl",
10
10
  "minified": false,
11
- "raw": 113954,
12
- "gzipped": 24538,
11
+ "raw": 114077,
12
+ "gzipped": 24586,
13
13
  "sourceMap": true,
14
- "integrity": "sha384-GwR2880Z60SZfdNaioTeRhUBXGyYoVU3MLylTyIPeUFxvodT/3Iet6V/WxyBMD/s"
14
+ "integrity": "sha384-JtHrGKdL2R+Np/4hJCUnnKa+gVhO1HMojkcUDQsnX4iyyf/CVq4SaTuCWQyz1q1q"
15
15
  },
16
16
  {
17
17
  "file": "bitwrench-code-edit.cjs.js",
@@ -22,7 +22,7 @@
22
22
  "raw": 23776,
23
23
  "gzipped": 6165,
24
24
  "sourceMap": true,
25
- "integrity": "sha384-khga6vBpxusqbLfrzDgaUuyCoXgpWq74miYSMk7qhkiQP3AfXuAEoZpQnf0DttiS"
25
+ "integrity": "sha384-pYMU67JSAuOzmvDIptwgJU9l1ATHRZVIKYIbmJtxJJiwmbTBF023aYxNYuU2kCFh"
26
26
  },
27
27
  {
28
28
  "file": "bitwrench-lean.cjs.js",
@@ -30,10 +30,10 @@
30
30
  "ver": "2.x",
31
31
  "component": "lean",
32
32
  "minified": false,
33
- "raw": 271041,
34
- "gzipped": 66170,
33
+ "raw": 284754,
34
+ "gzipped": 70789,
35
35
  "sourceMap": true,
36
- "integrity": "sha384-6G/GY13bZxw2fJnRYFTKMe5ID44pG00mI5fscEtcGOWsyXU66Z9x96tJ9gW2YFoJ"
36
+ "integrity": "sha384-XP0qyS4rfU2MUK93n0zgpIhOMjyTxEqMtTrErOopcsDRuYIsY0b4zeS/wa+6GEJn"
37
37
  },
38
38
  {
39
39
  "file": "bitwrench.cjs.js",
@@ -41,10 +41,10 @@
41
41
  "ver": "2.x",
42
42
  "component": "core",
43
43
  "minified": false,
44
- "raw": 382278,
45
- "gzipped": 89703,
44
+ "raw": 396099,
45
+ "gzipped": 94371,
46
46
  "sourceMap": true,
47
- "integrity": "sha384-Ew7bPhGDSA1Byb6Taso9W66aZo8H+/85RjHd1aH3uVfNz09qnPclOxbLAnHBhksT"
47
+ "integrity": "sha384-TjEj7ETG/CylzHHnyc3dbxjJ9A8CXoaCouPzBpdex/u6wU68YayPG+yXyt+Jcg83"
48
48
  },
49
49
  {
50
50
  "file": "bwserve.cjs.js",
@@ -52,10 +52,10 @@
52
52
  "ver": "2.x",
53
53
  "component": "bwserve",
54
54
  "minified": false,
55
- "raw": 19957,
56
- "gzipped": 6176,
55
+ "raw": 20397,
56
+ "gzipped": 6299,
57
57
  "sourceMap": true,
58
- "integrity": "sha384-0mM2vNKrqS6RjlakI/4hmnnNte8/tjhiCiXZ+h+6+/IbhuyEWp1+CGXXnX97ZRZO"
58
+ "integrity": "sha384-ShnkqIcaohORoeDTsw/KEij2kTbtuj6dFtZExUgLJdvgy3hWmHWVpktT9jhUczTg"
59
59
  },
60
60
  {
61
61
  "file": "bitwrench-bccl.cjs.min.js",
@@ -63,10 +63,10 @@
63
63
  "ver": "2.x",
64
64
  "component": "bccl",
65
65
  "minified": true,
66
- "raw": 34330,
67
- "gzipped": 10152,
66
+ "raw": 34397,
67
+ "gzipped": 10188,
68
68
  "sourceMap": true,
69
- "integrity": "sha384-Qwl5UPvUPdEYdMTcGKqPBJBsp8QhidEz8fk8yKfbS/3cqtMl5NaXbMJA2BoiwfKh"
69
+ "integrity": "sha384-gKYoqvlm7yhCh7//O/fkRZtdC6X2j7+cTrl85bAj6fNfB8DnZqvhqnXGPdKSthF7"
70
70
  },
71
71
  {
72
72
  "file": "bitwrench-code-edit.cjs.min.js",
@@ -77,7 +77,7 @@
77
77
  "raw": 12207,
78
78
  "gzipped": 4441,
79
79
  "sourceMap": true,
80
- "integrity": "sha384-hYMmfOiiw6x31dBGA2XuVxam6Z9hJlZrp+q3iti0kfSq3/BEDchNLF0y6VR7R4kX"
80
+ "integrity": "sha384-gyKZwcVfwGq+oJdbhzOrjROdtQUW9GR+m1iU69kh+ybPZ+OzSAH7cOx1Z3Cib0EM"
81
81
  },
82
82
  {
83
83
  "file": "bitwrench-lean.cjs.min.js",
@@ -85,10 +85,10 @@
85
85
  "ver": "2.x",
86
86
  "component": "lean",
87
87
  "minified": true,
88
- "raw": 117373,
89
- "gzipped": 31405,
88
+ "raw": 121179,
89
+ "gzipped": 33217,
90
90
  "sourceMap": true,
91
- "integrity": "sha384-jPRTwWe3KtSyw0Jeihuds2mt78akR8sJLrg6KsGpapYOQu4jBEDluhlBxeYTV924"
91
+ "integrity": "sha384-Aep5GOW8Qu0H5ZDbMXna4ku9QQQgrAAfpJFMBiRHY+XuglwZooFfgSTezhR1eftj"
92
92
  },
93
93
  {
94
94
  "file": "bitwrench.cjs.min.js",
@@ -96,10 +96,10 @@
96
96
  "ver": "2.x",
97
97
  "component": "core",
98
98
  "minified": true,
99
- "raw": 150634,
100
- "gzipped": 40415,
99
+ "raw": 154631,
100
+ "gzipped": 42224,
101
101
  "sourceMap": true,
102
- "integrity": "sha384-BdutYGxq7G9Tn/9J06jDSSCc1iK6aKEJ1KxjRbknZk8Et1gNmF0MomzELHmZfKQC"
102
+ "integrity": "sha384-w1Gl0tTOOSMBqXYVAKMudrFfXJ+nNf5va7q5GEPKMYtxVQQyDpDP4yL9+/uyZtTW"
103
103
  },
104
104
  {
105
105
  "file": "bitwrench.css",
@@ -132,7 +132,7 @@
132
132
  "raw": 28505,
133
133
  "gzipped": 6524,
134
134
  "sourceMap": true,
135
- "integrity": "sha384-Ck1ishImBFkM4fRKK7oi9zJky7DDeOmXgkK0bSbWgogCMeW7DRpkm47hQRLVVRJw"
135
+ "integrity": "sha384-i6eXPifX0VPfeKo4jI1JYD26PQJh2HxtDQblAFeeFC0k5y8jmOgLKtk86UPT14vs"
136
136
  },
137
137
  {
138
138
  "file": "bitwrench-lean.es5.js",
@@ -140,10 +140,10 @@
140
140
  "ver": "2.x",
141
141
  "component": "lean",
142
142
  "minified": false,
143
- "raw": 312437,
144
- "gzipped": 69850,
143
+ "raw": 327104,
144
+ "gzipped": 74579,
145
145
  "sourceMap": true,
146
- "integrity": "sha384-HALcGiNdWAwTXHOSWBIM5Z8HNLqEiZxKkpshXV8aQYQEmi7ExZk5wVUSFnszt4Gx"
146
+ "integrity": "sha384-bkwm+dTlJQ/DyPOz04TVSpDd0UqdCY7B6/y01N/P9pAnTlx/S94mkm8TQfzQW+gy"
147
147
  },
148
148
  {
149
149
  "file": "bitwrench.es5.js",
@@ -151,10 +151,10 @@
151
151
  "ver": "2.x",
152
152
  "component": "core",
153
153
  "minified": false,
154
- "raw": 453402,
155
- "gzipped": 96446,
154
+ "raw": 468209,
155
+ "gzipped": 101233,
156
156
  "sourceMap": true,
157
- "integrity": "sha384-gVwhjeTvWn5LhP1OqLAtS8sE/L8prV0zVV9KNJf+rKX3tJYdDAVNxLq1bvuXgggd"
157
+ "integrity": "sha384-FE2hzUIF9en6TGljWhEr1vKvofcNSLQJsjU6XlDiezwG3DgJgDKIafuSDu00NWfK"
158
158
  },
159
159
  {
160
160
  "file": "bitwrench-code-edit.es5.min.js",
@@ -165,7 +165,7 @@
165
165
  "raw": 12418,
166
166
  "gzipped": 4501,
167
167
  "sourceMap": true,
168
- "integrity": "sha384-u9ykQEvMQIafDdWpMU3ecIrmx56v4MUCCOMkuyrYgGqR9vwTZZ/+1e/RbsOlNRc5"
168
+ "integrity": "sha384-I2r5vCUHcQT/UqKdbMqLk5uhc7rqBKhP4qJzoItEHBcuLFdzMbfRrTj5l3lk15QJ"
169
169
  },
170
170
  {
171
171
  "file": "bitwrench-lean.es5.min.js",
@@ -173,10 +173,10 @@
173
173
  "ver": "2.x",
174
174
  "component": "lean",
175
175
  "minified": true,
176
- "raw": 123022,
177
- "gzipped": 32891,
176
+ "raw": 127256,
177
+ "gzipped": 34658,
178
178
  "sourceMap": true,
179
- "integrity": "sha384-SesnIRrNdnucw77WgRDRqGYBoUOxLNuSjAvp9PncwRNLOHvE8xqSwq8O7lUCoHB6"
179
+ "integrity": "sha384-+JD7oSIx3Gl1wsUNWXeSZqBz1mOLcjpI+ScQR1d0oFyhf62zyyWSl02KhC1vO46m"
180
180
  },
181
181
  {
182
182
  "file": "bitwrench.es5.min.js",
@@ -184,10 +184,10 @@
184
184
  "ver": "2.x",
185
185
  "component": "core",
186
186
  "minified": true,
187
- "raw": 162646,
188
- "gzipped": 42485,
187
+ "raw": 166928,
188
+ "gzipped": 44213,
189
189
  "sourceMap": true,
190
- "integrity": "sha384-T7NCr/fxfLL7stlgkfrwZGSIYVXIF21e9M8K5QcWdElNFCBIGWlT59usFIDLgyMm"
190
+ "integrity": "sha384-c3gOIHjeEUGSVtcv6M1N6KmGoWuOUz3H8hGbcIOh90dIZY7Xflx2SLdSaSl5yRWJ"
191
191
  },
192
192
  {
193
193
  "file": "bitwrench-bccl.esm.js",
@@ -195,10 +195,10 @@
195
195
  "ver": "2.x",
196
196
  "component": "bccl",
197
197
  "minified": false,
198
- "raw": 113874,
199
- "gzipped": 24522,
198
+ "raw": 113997,
199
+ "gzipped": 24570,
200
200
  "sourceMap": true,
201
- "integrity": "sha384-kHXaRUebkB7AJJjvfRyo55LwAljwnGo9QvTxdSAqbEqOYj+3X4O6IpNdKWBJHLcF"
201
+ "integrity": "sha384-go+h+i6cxCy1JnOTEQ3ukm9RCf5KwBInhSnofh++ktdhKAfqoWmB766VseRGCtXY"
202
202
  },
203
203
  {
204
204
  "file": "bitwrench-code-edit.esm.js",
@@ -209,7 +209,7 @@
209
209
  "raw": 23557,
210
210
  "gzipped": 6087,
211
211
  "sourceMap": true,
212
- "integrity": "sha384-E324MY+95O5lfS9pNSJo4INbAH19cW757B9nDcWAOtuna8TKMpYGV4ISB0fwOPDe"
212
+ "integrity": "sha384-CVdqruuHB4k6wehD26cio10tl8xCcQfdQmdMWlDuYFYF3R2re7ZjTZClz1TAvxlb"
213
213
  },
214
214
  {
215
215
  "file": "bitwrench-lean.esm.js",
@@ -217,10 +217,10 @@
217
217
  "ver": "2.x",
218
218
  "component": "lean",
219
219
  "minified": false,
220
- "raw": 271031,
221
- "gzipped": 66163,
220
+ "raw": 283891,
221
+ "gzipped": 70607,
222
222
  "sourceMap": true,
223
- "integrity": "sha384-nuPtftCDpQZkupIb1qenEZgKMZSzvvKtwRomD8zIK4hJTsGYnvxA7z/ZhcmnjvAz"
223
+ "integrity": "sha384-5lIJxbMwgIeJnNk9yNMvUf7PnIdt4e6b1QzQD3psRv46xDLDcTFRxXA1rloyAY1i"
224
224
  },
225
225
  {
226
226
  "file": "bitwrench.esm.js",
@@ -228,10 +228,10 @@
228
228
  "ver": "2.x",
229
229
  "component": "core",
230
230
  "minified": false,
231
- "raw": 382268,
232
- "gzipped": 89697,
231
+ "raw": 395251,
232
+ "gzipped": 94191,
233
233
  "sourceMap": true,
234
- "integrity": "sha384-9a7cFRy55OaBzng4m6ixCUiSYWb+FN+7RcG2NyboJVQF0j6SnR0WpYR3ur8Hh8PH"
234
+ "integrity": "sha384-08iatqu6LAtx8cZsgXkE34sK7FvN99nn+wXNx0YEEMMRuGRRq35uATUNKv7FcO5U"
235
235
  },
236
236
  {
237
237
  "file": "bwserve.esm.js",
@@ -239,10 +239,10 @@
239
239
  "ver": "2.x",
240
240
  "component": "bwserve",
241
241
  "minified": false,
242
- "raw": 19490,
243
- "gzipped": 6014,
242
+ "raw": 19919,
243
+ "gzipped": 6131,
244
244
  "sourceMap": true,
245
- "integrity": "sha384-dr2iHz8bI12AK7TMIzLc48Kvb4sIQ90w34isDil4EKtcasOeYg3Y5PjTGF3SWKqe"
245
+ "integrity": "sha384-Je3FPrcpT8TjizTUMW3tzlRgmJxKnLFabVV+eaCfZRnPDx5uJVARuS+TEXbnrWWt"
246
246
  },
247
247
  {
248
248
  "file": "bitwrench-bccl.esm.min.js",
@@ -250,10 +250,10 @@
250
250
  "ver": "2.x",
251
251
  "component": "bccl",
252
252
  "minified": true,
253
- "raw": 34305,
254
- "gzipped": 10149,
253
+ "raw": 34372,
254
+ "gzipped": 10185,
255
255
  "sourceMap": true,
256
- "integrity": "sha384-hcQjn5nawieZdF4y8RPH77VCeEFlIGNP+ZU6U/fYnxWfNEyO6d5ss2MRyQ5XFKyx"
256
+ "integrity": "sha384-zt2eb/zS5QAotiywhp3nZXmxwBRR4rb4R8A8mKo0IpZIXL3tWYTwSrr87k+aUOa5"
257
257
  },
258
258
  {
259
259
  "file": "bitwrench-code-edit.esm.min.js",
@@ -264,7 +264,7 @@
264
264
  "raw": 12106,
265
265
  "gzipped": 4401,
266
266
  "sourceMap": true,
267
- "integrity": "sha384-KHv/eyr8QgXCTX0aPVH8K6Yy89AJ/0Kw7furwi5GleEDRWXDIaM2TzAcvJC7BAAA"
267
+ "integrity": "sha384-kKtUe03iCRXxIV1bpLffhl1apf8JJeteXVSdfM2HS9HyKkvf5uiFN96CC2VzFt24"
268
268
  },
269
269
  {
270
270
  "file": "bitwrench-lean.esm.min.js",
@@ -272,10 +272,10 @@
272
272
  "ver": "2.x",
273
273
  "component": "lean",
274
274
  "minified": true,
275
- "raw": 117364,
276
- "gzipped": 31401,
275
+ "raw": 120598,
276
+ "gzipped": 33093,
277
277
  "sourceMap": true,
278
- "integrity": "sha384-96C4eWKwPY/T4/ZsVpoIldnThALDBRiE6RZ31U/gwyVVfoH2MZNAxzhH3IMPpqbf"
278
+ "integrity": "sha384-XLQK7n6rfH6mXKYJFWi0TlwDyE20YyzGtkuFffQRwKCLD7yMn1ZAHxQxwKP1MvuW"
279
279
  },
280
280
  {
281
281
  "file": "bitwrench.esm.min.js",
@@ -283,10 +283,10 @@
283
283
  "ver": "2.x",
284
284
  "component": "core",
285
285
  "minified": true,
286
- "raw": 150625,
287
- "gzipped": 40414,
286
+ "raw": 154067,
287
+ "gzipped": 42097,
288
288
  "sourceMap": true,
289
- "integrity": "sha384-XO2NYqeiOAvrmCZnFSPuC8yctfeZ6bfcPQhWMSbiDRwMDqqBwXyOpsVhUxjpflCo"
289
+ "integrity": "sha384-S/DNxHQzWvbbrszBTs9wc78m7NnO6Ml7iw18/V5mki40a7WKfckhLGmsFMKfQw+N"
290
290
  },
291
291
  {
292
292
  "file": "bitwrench-bccl.umd.js",
@@ -294,10 +294,10 @@
294
294
  "ver": "2.x",
295
295
  "component": "bccl",
296
296
  "minified": false,
297
- "raw": 121404,
298
- "gzipped": 25016,
297
+ "raw": 121535,
298
+ "gzipped": 25063,
299
299
  "sourceMap": true,
300
- "integrity": "sha384-ICOeQchsjmDw5JKGRiTpzOZQFTeHdws4wxVtA9DAo+UVG7OnndU2yUcA9l+FHwH6"
300
+ "integrity": "sha384-85C9Wud5azObw2tgX7KVS0zOo/+GhNSYldFZehW5f917xe86WR6ai28Yqb2bV7BG"
301
301
  },
302
302
  {
303
303
  "file": "bitwrench-code-edit.umd.js",
@@ -308,7 +308,7 @@
308
308
  "raw": 25364,
309
309
  "gzipped": 6342,
310
310
  "sourceMap": true,
311
- "integrity": "sha384-xXdbDll04ajtBsQX0axgamUFGN6QFMaJ2mRF+NltLk8W6DswOTcuTO3+HeUVowVr"
311
+ "integrity": "sha384-qzPZG4wK/7oBf+uXwbUBNNRA9zuOsxChJXXipoZBg8gt51e/uhmkiD5jVBDsXPNF"
312
312
  },
313
313
  {
314
314
  "file": "bitwrench-lean.umd.js",
@@ -316,10 +316,10 @@
316
316
  "ver": "2.x",
317
317
  "component": "lean",
318
318
  "minified": false,
319
- "raw": 285843,
320
- "gzipped": 67124,
319
+ "raw": 300471,
320
+ "gzipped": 71866,
321
321
  "sourceMap": true,
322
- "integrity": "sha384-HRRlhaZtoFpQ+OJDjgTwsSs1pOJYcounIAVWNG8JB6OigF0dd/WAYV/kYpdfz1Hj"
322
+ "integrity": "sha384-HHotDwMh/Ipq3JcDJzr2anOJcLynPS8XBJkPFsbUOz+Irbwd1LyEYZ7HkUCgmrJu"
323
323
  },
324
324
  {
325
325
  "file": "bitwrench.umd.js",
@@ -327,10 +327,10 @@
327
327
  "ver": "2.x",
328
328
  "component": "core",
329
329
  "minified": false,
330
- "raw": 404036,
331
- "gzipped": 91015,
330
+ "raw": 418780,
331
+ "gzipped": 95811,
332
332
  "sourceMap": true,
333
- "integrity": "sha384-SBGSd5W8l78ZzK8XUU5FeHLE2fBB+WDgHJPtt9LkKBGkvP0TPVmfTwxcsLYA4MFO"
333
+ "integrity": "sha384-8nLO+4nHEnvnbslfteLo04OfUqDTZcB/Q5uelctfeIuPU2MXP02BO3iE4Jsz3Bp5"
334
334
  },
335
335
  {
336
336
  "file": "bitwrench-bccl.umd.min.js",
@@ -338,10 +338,10 @@
338
338
  "ver": "2.x",
339
339
  "component": "bccl",
340
340
  "minified": true,
341
- "raw": 34602,
342
- "gzipped": 10187,
341
+ "raw": 34669,
342
+ "gzipped": 10222,
343
343
  "sourceMap": true,
344
- "integrity": "sha384-+v9FNivy9NRfWFRXRtkP6ZiEO9BMhazy+wzQtiQt1t2rE5CZW1vuOMNcJvBpzJHc"
344
+ "integrity": "sha384-MnURAnFgYO7gpv2AD/nSra7oCppx/LaeWr7Zhn++o66Grw+tfBcIjmbmTBzR8suQ"
345
345
  },
346
346
  {
347
347
  "file": "bitwrench-code-edit.umd.min.js",
@@ -352,7 +352,7 @@
352
352
  "raw": 12418,
353
353
  "gzipped": 4501,
354
354
  "sourceMap": true,
355
- "integrity": "sha384-rVetnnzXOSu1IUM3rQMdMUy4aPpbzDXZJ6edtYhaf14Wsc3qjsfV/oaE1D3/ic0J"
355
+ "integrity": "sha384-zEBjo8SgTdGymQQwRYva/iW2iCUjT0Tdtocik63xi00qE88OEFl8kejj5KCrxCNc"
356
356
  },
357
357
  {
358
358
  "file": "bitwrench-lean.umd.min.js",
@@ -360,10 +360,10 @@
360
360
  "ver": "2.x",
361
361
  "component": "lean",
362
362
  "minified": true,
363
- "raw": 117708,
364
- "gzipped": 31490,
363
+ "raw": 121733,
364
+ "gzipped": 33311,
365
365
  "sourceMap": true,
366
- "integrity": "sha384-F7r80Hn3REIH3VWG5YUtY+KujQE0cpGeQq833CJCfcaE5/c0dWoNvsNS1OGf2XE0"
366
+ "integrity": "sha384-G18BfqAXGt/2VzZ0oCTxpdZZSh/eriVzz8xlf0MxFrEDfj6NWLWn6Rqp9pHEtyHf"
367
367
  },
368
368
  {
369
369
  "file": "bitwrench.umd.min.js",
@@ -371,10 +371,10 @@
371
371
  "ver": "2.x",
372
372
  "component": "core",
373
373
  "minified": true,
374
- "raw": 151003,
375
- "gzipped": 40501,
374
+ "raw": 155219,
375
+ "gzipped": 42310,
376
376
  "sourceMap": true,
377
- "integrity": "sha384-jW9jzpLC07lcZ0KD7uXE8hi9J75zyCaogD5Goam0Dvmm4aofdJhy6iCVXe8Aj0jY"
377
+ "integrity": "sha384-y+l0IvKb1/9dBiradZkR1Alh6o0KtJgrkupdlYVLw/x4By7+tNtJcSu5D7N5u4IE"
378
378
  }
379
379
  ]
380
380
  }
@@ -1,4 +1,4 @@
1
- /*! bwserve v2.0.16 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
1
+ /*! bwserve v2.0.17 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -258,6 +258,9 @@ function generateShell(opts) {
258
258
  script.push(' var clientId = ' + JSON.stringify(clientId) + ';');
259
259
  script.push(' var conn = bw.clientConnect("/__bw/events/" + clientId, {');
260
260
  script.push(' actionUrl: "/__bw/action/" + clientId,');
261
+ if (opts.allowExec) {
262
+ script.push(' allowExec: true,');
263
+ }
261
264
  script.push(' onStatus: function(s) {');
262
265
  script.push(' if (typeof console !== "undefined") console.log("[bwserve] " + s);');
263
266
  script.push(' }');
@@ -316,7 +319,16 @@ function generateShell(opts) {
316
319
 
317
320
 
318
321
  var __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('bwserve.cjs.js', document.baseURI).href))));
322
+
323
+ // Resolve dist/ — try source layout (src/bwserve/), then npm install layout,
324
+ // then dist/ itself (when running from dist/bwserve.esm.js)
319
325
  var DIST_DIR = path.resolve(__dirname$1, '..', '..', 'dist');
326
+ if (!fs.existsSync(DIST_DIR)) {
327
+ DIST_DIR = path.resolve(__dirname$1, '..', 'dist');
328
+ }
329
+ if (!fs.existsSync(DIST_DIR)) {
330
+ DIST_DIR = __dirname$1;
331
+ }
320
332
 
321
333
  // MIME type lookup for static file serving
322
334
  var MIME_TYPES = {
@@ -363,6 +375,7 @@ class BwServeApp {
363
375
  this.staticDir = opts.static || null;
364
376
  this.injectBitwrench = opts.injectBitwrench !== false;
365
377
  this.theme = opts.theme || null;
378
+ this.allowExec = opts.allowExec || false;
366
379
  this.keepAliveInterval = opts.keepAliveInterval || 15000;
367
380
  this._pages = new Map();
368
381
  this._clients = new Map();
@@ -509,7 +522,8 @@ class BwServeApp {
509
522
  clientId: clientId2,
510
523
  title: this.title,
511
524
  theme: this.theme,
512
- injectBitwrench: this.injectBitwrench
525
+ injectBitwrench: this.injectBitwrench,
526
+ allowExec: this.allowExec
513
527
  });
514
528
  // Store the page path for this client so SSE knows which handler to call
515
529
  this._clients.set(clientId2, { pagePath: path$1, client: null });
@@ -1,4 +1,4 @@
1
- /*! bwserve v2.0.16 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
1
+ /*! bwserve v2.0.17 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
2
2
  import { fileURLToPath } from 'url';
3
3
  import { dirname, resolve, join, extname } from 'path';
4
4
  import { createServer } from 'http';
@@ -253,6 +253,9 @@ function generateShell(opts) {
253
253
  script.push(' var clientId = ' + JSON.stringify(clientId) + ';');
254
254
  script.push(' var conn = bw.clientConnect("/__bw/events/" + clientId, {');
255
255
  script.push(' actionUrl: "/__bw/action/" + clientId,');
256
+ if (opts.allowExec) {
257
+ script.push(' allowExec: true,');
258
+ }
256
259
  script.push(' onStatus: function(s) {');
257
260
  script.push(' if (typeof console !== "undefined") console.log("[bwserve] " + s);');
258
261
  script.push(' }');
@@ -311,7 +314,16 @@ function generateShell(opts) {
311
314
 
312
315
 
313
316
  var __dirname$1 = dirname(fileURLToPath(import.meta.url));
317
+
318
+ // Resolve dist/ — try source layout (src/bwserve/), then npm install layout,
319
+ // then dist/ itself (when running from dist/bwserve.esm.js)
314
320
  var DIST_DIR = resolve(__dirname$1, '..', '..', 'dist');
321
+ if (!existsSync(DIST_DIR)) {
322
+ DIST_DIR = resolve(__dirname$1, '..', 'dist');
323
+ }
324
+ if (!existsSync(DIST_DIR)) {
325
+ DIST_DIR = __dirname$1;
326
+ }
315
327
 
316
328
  // MIME type lookup for static file serving
317
329
  var MIME_TYPES = {
@@ -358,6 +370,7 @@ class BwServeApp {
358
370
  this.staticDir = opts.static || null;
359
371
  this.injectBitwrench = opts.injectBitwrench !== false;
360
372
  this.theme = opts.theme || null;
373
+ this.allowExec = opts.allowExec || false;
361
374
  this.keepAliveInterval = opts.keepAliveInterval || 15000;
362
375
  this._pages = new Map();
363
376
  this._clients = new Map();
@@ -504,7 +517,8 @@ class BwServeApp {
504
517
  clientId: clientId2,
505
518
  title: this.title,
506
519
  theme: this.theme,
507
- injectBitwrench: this.injectBitwrench
520
+ injectBitwrench: this.injectBitwrench,
521
+ allowExec: this.allowExec
508
522
  });
509
523
  // Store the page path for this client so SSE knows which handler to call
510
524
  this._clients.set(clientId2, { pagePath: path, client: null });
package/dist/sri.json CHANGED
@@ -1,41 +1,41 @@
1
1
  {
2
- "version": "2.0.16",
2
+ "version": "2.0.17",
3
3
  "algorithm": "sha384",
4
- "generated": "2026-03-12",
4
+ "generated": "2026-03-13",
5
5
  "files": {
6
- "bitwrench-bccl.cjs.js": "sha384-GwR2880Z60SZfdNaioTeRhUBXGyYoVU3MLylTyIPeUFxvodT/3Iet6V/WxyBMD/s",
7
- "bitwrench-bccl.cjs.min.js": "sha384-Qwl5UPvUPdEYdMTcGKqPBJBsp8QhidEz8fk8yKfbS/3cqtMl5NaXbMJA2BoiwfKh",
8
- "bitwrench-bccl.esm.js": "sha384-kHXaRUebkB7AJJjvfRyo55LwAljwnGo9QvTxdSAqbEqOYj+3X4O6IpNdKWBJHLcF",
9
- "bitwrench-bccl.esm.min.js": "sha384-hcQjn5nawieZdF4y8RPH77VCeEFlIGNP+ZU6U/fYnxWfNEyO6d5ss2MRyQ5XFKyx",
10
- "bitwrench-bccl.umd.js": "sha384-ICOeQchsjmDw5JKGRiTpzOZQFTeHdws4wxVtA9DAo+UVG7OnndU2yUcA9l+FHwH6",
11
- "bitwrench-bccl.umd.min.js": "sha384-+v9FNivy9NRfWFRXRtkP6ZiEO9BMhazy+wzQtiQt1t2rE5CZW1vuOMNcJvBpzJHc",
12
- "bitwrench-code-edit.cjs.js": "sha384-khga6vBpxusqbLfrzDgaUuyCoXgpWq74miYSMk7qhkiQP3AfXuAEoZpQnf0DttiS",
13
- "bitwrench-code-edit.cjs.min.js": "sha384-hYMmfOiiw6x31dBGA2XuVxam6Z9hJlZrp+q3iti0kfSq3/BEDchNLF0y6VR7R4kX",
14
- "bitwrench-code-edit.es5.js": "sha384-Ck1ishImBFkM4fRKK7oi9zJky7DDeOmXgkK0bSbWgogCMeW7DRpkm47hQRLVVRJw",
15
- "bitwrench-code-edit.es5.min.js": "sha384-u9ykQEvMQIafDdWpMU3ecIrmx56v4MUCCOMkuyrYgGqR9vwTZZ/+1e/RbsOlNRc5",
16
- "bitwrench-code-edit.esm.js": "sha384-E324MY+95O5lfS9pNSJo4INbAH19cW757B9nDcWAOtuna8TKMpYGV4ISB0fwOPDe",
17
- "bitwrench-code-edit.esm.min.js": "sha384-KHv/eyr8QgXCTX0aPVH8K6Yy89AJ/0Kw7furwi5GleEDRWXDIaM2TzAcvJC7BAAA",
18
- "bitwrench-code-edit.umd.js": "sha384-xXdbDll04ajtBsQX0axgamUFGN6QFMaJ2mRF+NltLk8W6DswOTcuTO3+HeUVowVr",
19
- "bitwrench-code-edit.umd.min.js": "sha384-rVetnnzXOSu1IUM3rQMdMUy4aPpbzDXZJ6edtYhaf14Wsc3qjsfV/oaE1D3/ic0J",
20
- "bitwrench-lean.cjs.js": "sha384-6G/GY13bZxw2fJnRYFTKMe5ID44pG00mI5fscEtcGOWsyXU66Z9x96tJ9gW2YFoJ",
21
- "bitwrench-lean.cjs.min.js": "sha384-jPRTwWe3KtSyw0Jeihuds2mt78akR8sJLrg6KsGpapYOQu4jBEDluhlBxeYTV924",
22
- "bitwrench-lean.es5.js": "sha384-HALcGiNdWAwTXHOSWBIM5Z8HNLqEiZxKkpshXV8aQYQEmi7ExZk5wVUSFnszt4Gx",
23
- "bitwrench-lean.es5.min.js": "sha384-SesnIRrNdnucw77WgRDRqGYBoUOxLNuSjAvp9PncwRNLOHvE8xqSwq8O7lUCoHB6",
24
- "bitwrench-lean.esm.js": "sha384-nuPtftCDpQZkupIb1qenEZgKMZSzvvKtwRomD8zIK4hJTsGYnvxA7z/ZhcmnjvAz",
25
- "bitwrench-lean.esm.min.js": "sha384-96C4eWKwPY/T4/ZsVpoIldnThALDBRiE6RZ31U/gwyVVfoH2MZNAxzhH3IMPpqbf",
26
- "bitwrench-lean.umd.js": "sha384-HRRlhaZtoFpQ+OJDjgTwsSs1pOJYcounIAVWNG8JB6OigF0dd/WAYV/kYpdfz1Hj",
27
- "bitwrench-lean.umd.min.js": "sha384-F7r80Hn3REIH3VWG5YUtY+KujQE0cpGeQq833CJCfcaE5/c0dWoNvsNS1OGf2XE0",
28
- "bitwrench.cjs.js": "sha384-Ew7bPhGDSA1Byb6Taso9W66aZo8H+/85RjHd1aH3uVfNz09qnPclOxbLAnHBhksT",
29
- "bitwrench.cjs.min.js": "sha384-BdutYGxq7G9Tn/9J06jDSSCc1iK6aKEJ1KxjRbknZk8Et1gNmF0MomzELHmZfKQC",
6
+ "bitwrench-bccl.cjs.js": "sha384-JtHrGKdL2R+Np/4hJCUnnKa+gVhO1HMojkcUDQsnX4iyyf/CVq4SaTuCWQyz1q1q",
7
+ "bitwrench-bccl.cjs.min.js": "sha384-gKYoqvlm7yhCh7//O/fkRZtdC6X2j7+cTrl85bAj6fNfB8DnZqvhqnXGPdKSthF7",
8
+ "bitwrench-bccl.esm.js": "sha384-go+h+i6cxCy1JnOTEQ3ukm9RCf5KwBInhSnofh++ktdhKAfqoWmB766VseRGCtXY",
9
+ "bitwrench-bccl.esm.min.js": "sha384-zt2eb/zS5QAotiywhp3nZXmxwBRR4rb4R8A8mKo0IpZIXL3tWYTwSrr87k+aUOa5",
10
+ "bitwrench-bccl.umd.js": "sha384-85C9Wud5azObw2tgX7KVS0zOo/+GhNSYldFZehW5f917xe86WR6ai28Yqb2bV7BG",
11
+ "bitwrench-bccl.umd.min.js": "sha384-MnURAnFgYO7gpv2AD/nSra7oCppx/LaeWr7Zhn++o66Grw+tfBcIjmbmTBzR8suQ",
12
+ "bitwrench-code-edit.cjs.js": "sha384-pYMU67JSAuOzmvDIptwgJU9l1ATHRZVIKYIbmJtxJJiwmbTBF023aYxNYuU2kCFh",
13
+ "bitwrench-code-edit.cjs.min.js": "sha384-gyKZwcVfwGq+oJdbhzOrjROdtQUW9GR+m1iU69kh+ybPZ+OzSAH7cOx1Z3Cib0EM",
14
+ "bitwrench-code-edit.es5.js": "sha384-i6eXPifX0VPfeKo4jI1JYD26PQJh2HxtDQblAFeeFC0k5y8jmOgLKtk86UPT14vs",
15
+ "bitwrench-code-edit.es5.min.js": "sha384-I2r5vCUHcQT/UqKdbMqLk5uhc7rqBKhP4qJzoItEHBcuLFdzMbfRrTj5l3lk15QJ",
16
+ "bitwrench-code-edit.esm.js": "sha384-CVdqruuHB4k6wehD26cio10tl8xCcQfdQmdMWlDuYFYF3R2re7ZjTZClz1TAvxlb",
17
+ "bitwrench-code-edit.esm.min.js": "sha384-kKtUe03iCRXxIV1bpLffhl1apf8JJeteXVSdfM2HS9HyKkvf5uiFN96CC2VzFt24",
18
+ "bitwrench-code-edit.umd.js": "sha384-qzPZG4wK/7oBf+uXwbUBNNRA9zuOsxChJXXipoZBg8gt51e/uhmkiD5jVBDsXPNF",
19
+ "bitwrench-code-edit.umd.min.js": "sha384-zEBjo8SgTdGymQQwRYva/iW2iCUjT0Tdtocik63xi00qE88OEFl8kejj5KCrxCNc",
20
+ "bitwrench-lean.cjs.js": "sha384-XP0qyS4rfU2MUK93n0zgpIhOMjyTxEqMtTrErOopcsDRuYIsY0b4zeS/wa+6GEJn",
21
+ "bitwrench-lean.cjs.min.js": "sha384-Aep5GOW8Qu0H5ZDbMXna4ku9QQQgrAAfpJFMBiRHY+XuglwZooFfgSTezhR1eftj",
22
+ "bitwrench-lean.es5.js": "sha384-bkwm+dTlJQ/DyPOz04TVSpDd0UqdCY7B6/y01N/P9pAnTlx/S94mkm8TQfzQW+gy",
23
+ "bitwrench-lean.es5.min.js": "sha384-+JD7oSIx3Gl1wsUNWXeSZqBz1mOLcjpI+ScQR1d0oFyhf62zyyWSl02KhC1vO46m",
24
+ "bitwrench-lean.esm.js": "sha384-5lIJxbMwgIeJnNk9yNMvUf7PnIdt4e6b1QzQD3psRv46xDLDcTFRxXA1rloyAY1i",
25
+ "bitwrench-lean.esm.min.js": "sha384-XLQK7n6rfH6mXKYJFWi0TlwDyE20YyzGtkuFffQRwKCLD7yMn1ZAHxQxwKP1MvuW",
26
+ "bitwrench-lean.umd.js": "sha384-HHotDwMh/Ipq3JcDJzr2anOJcLynPS8XBJkPFsbUOz+Irbwd1LyEYZ7HkUCgmrJu",
27
+ "bitwrench-lean.umd.min.js": "sha384-G18BfqAXGt/2VzZ0oCTxpdZZSh/eriVzz8xlf0MxFrEDfj6NWLWn6Rqp9pHEtyHf",
28
+ "bitwrench.cjs.js": "sha384-TjEj7ETG/CylzHHnyc3dbxjJ9A8CXoaCouPzBpdex/u6wU68YayPG+yXyt+Jcg83",
29
+ "bitwrench.cjs.min.js": "sha384-w1Gl0tTOOSMBqXYVAKMudrFfXJ+nNf5va7q5GEPKMYtxVQQyDpDP4yL9+/uyZtTW",
30
30
  "bitwrench.css": "sha384-TLf4tWABJynZ7cb9epG9VhRM1IvuK5k4VD5wHE2esbGXcuKzG6iArqimHPzZDLD2",
31
- "bitwrench.es5.js": "sha384-gVwhjeTvWn5LhP1OqLAtS8sE/L8prV0zVV9KNJf+rKX3tJYdDAVNxLq1bvuXgggd",
32
- "bitwrench.es5.min.js": "sha384-T7NCr/fxfLL7stlgkfrwZGSIYVXIF21e9M8K5QcWdElNFCBIGWlT59usFIDLgyMm",
33
- "bitwrench.esm.js": "sha384-9a7cFRy55OaBzng4m6ixCUiSYWb+FN+7RcG2NyboJVQF0j6SnR0WpYR3ur8Hh8PH",
34
- "bitwrench.esm.min.js": "sha384-XO2NYqeiOAvrmCZnFSPuC8yctfeZ6bfcPQhWMSbiDRwMDqqBwXyOpsVhUxjpflCo",
31
+ "bitwrench.es5.js": "sha384-FE2hzUIF9en6TGljWhEr1vKvofcNSLQJsjU6XlDiezwG3DgJgDKIafuSDu00NWfK",
32
+ "bitwrench.es5.min.js": "sha384-c3gOIHjeEUGSVtcv6M1N6KmGoWuOUz3H8hGbcIOh90dIZY7Xflx2SLdSaSl5yRWJ",
33
+ "bitwrench.esm.js": "sha384-08iatqu6LAtx8cZsgXkE34sK7FvN99nn+wXNx0YEEMMRuGRRq35uATUNKv7FcO5U",
34
+ "bitwrench.esm.min.js": "sha384-S/DNxHQzWvbbrszBTs9wc78m7NnO6Ml7iw18/V5mki40a7WKfckhLGmsFMKfQw+N",
35
35
  "bitwrench.min.css": "sha384-Sl7+BxWfINNnNdN+ZCL1s/p4Hn+5WeJPciWS9svNuzal8h9baX19xGeOJNzradRY",
36
- "bitwrench.umd.js": "sha384-SBGSd5W8l78ZzK8XUU5FeHLE2fBB+WDgHJPtt9LkKBGkvP0TPVmfTwxcsLYA4MFO",
37
- "bitwrench.umd.min.js": "sha384-jW9jzpLC07lcZ0KD7uXE8hi9J75zyCaogD5Goam0Dvmm4aofdJhy6iCVXe8Aj0jY",
38
- "bwserve.cjs.js": "sha384-0mM2vNKrqS6RjlakI/4hmnnNte8/tjhiCiXZ+h+6+/IbhuyEWp1+CGXXnX97ZRZO",
39
- "bwserve.esm.js": "sha384-dr2iHz8bI12AK7TMIzLc48Kvb4sIQ90w34isDil4EKtcasOeYg3Y5PjTGF3SWKqe"
36
+ "bitwrench.umd.js": "sha384-8nLO+4nHEnvnbslfteLo04OfUqDTZcB/Q5uelctfeIuPU2MXP02BO3iE4Jsz3Bp5",
37
+ "bitwrench.umd.min.js": "sha384-y+l0IvKb1/9dBiradZkR1Alh6o0KtJgrkupdlYVLw/x4By7+tNtJcSu5D7N5u4IE",
38
+ "bwserve.cjs.js": "sha384-ShnkqIcaohORoeDTsw/KEij2kTbtuj6dFtZExUgLJdvgy3hWmHWVpktT9jhUczTg",
39
+ "bwserve.esm.js": "sha384-Je3FPrcpT8TjizTUMW3tzlRgmJxKnLFabVV+eaCfZRnPDx5uJVARuS+TEXbnrWWt"
40
40
  }
41
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bitwrench",
3
- "version": "2.0.16",
3
+ "version": "2.0.17",
4
4
  "description": "A library for javascript UI functions.",
5
5
  "main": "./dist/bitwrench.umd.js",
6
6
  "repository": {
@@ -95,7 +95,7 @@
95
95
  "build_1_x": "./tools/update-bw-package.js package.json package.json && ./tools/export-bw-default-css.js bitwrench.css && uglifyjs bitwrench.js -o bitwrench.min.js && uglifyjs bitwrench_ESM.js -o bitwrench_ESM.min.js && ./tools/umd2ModuleHack.js && npm pack",
96
96
  "cleanbuild": "npm run clean && npm run build && npm run build:generated",
97
97
  "oldtest": "./node_modules/mocha/bin/mocha test/bitwrench_test.js --reporter spec",
98
- "test": "c8 --reporter=text mocha ./test/bitwrench_ci.js ./test/bitwrench_test_coverage.js ./test/bitwrench_test_pubsub.js ./test/bitwrench_test_theme.js ./test/bitwrench_test_nodemap.js ./test/bitwrench_test_components.js ./test/bitwrench_test_component_handle.js ./test/bitwrench_test_coverage_gaps.js ./test/bitwrench_test_bwserve.js -r jsdom-global/register",
98
+ "test": "c8 --reporter=text mocha ./test/bitwrench_ci.js ./test/bitwrench_test_coverage.js ./test/bitwrench_test_pubsub.js ./test/bitwrench_test_theme.js ./test/bitwrench_test_nodemap.js ./test/bitwrench_test_components.js ./test/bitwrench_test_component_handle.js ./test/bitwrench_test_coverage_gaps.js ./test/bitwrench_test_bwserve.js ./test/bitwrench_test_code_edit.js ./test/bitwrench_test_html_page.js -r jsdom-global/register",
99
99
  "test:bwserve": "mocha ./test/bitwrench_test_bwserve.js -r jsdom-global/register",
100
100
  "test:components": "mocha ./test/bitwrench_test_components.js -r jsdom-global/register",
101
101
  "test:v1": "c8 --reporter=text mocha ./test/bitwrench_test.js -r jsdom-global/",
@@ -111,6 +111,8 @@
111
111
  "generate-sri": "node tools/generate-sri.js",
112
112
  "test:nodemap": "mocha ./test/bitwrench_test_nodemap.js -r jsdom-global/register",
113
113
  "test:cli": "mocha ./test/bitwrench_test_cli.js",
114
+ "test:code-edit": "mocha ./test/bitwrench_test_code_edit.js -r jsdom-global/register",
115
+ "test:html-page": "mocha ./test/bitwrench_test_html_page.js -r jsdom-global/register",
114
116
  "test:e2e": "playwright test",
115
117
  "test:e2e:headed": "playwright test --headed",
116
118
  "test:e2e:debug": "playwright test --debug",
package/readme.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta name="generator" content="bitwrench v2.0.16">
6
+ <meta name="generator" content="bitwrench v2.0.17">
7
7
  <title>bitwrench.js - README</title>
8
8
  <link rel="icon" type="image/x-icon" href="images/favicon.ico">
9
9
  <script src="dist/bitwrench.umd.js"></script>
@@ -3610,5 +3610,9 @@ export var BCCL = {
3610
3610
  export function make(type, props) {
3611
3611
  var def = BCCL[type];
3612
3612
  if (!def) throw new Error('bw.make: unknown component type "' + type + '". Available: ' + Object.keys(BCCL).join(', '));
3613
- return def.make(props || {});
3613
+ var taco = def.make(props || {});
3614
+ if (taco && typeof taco === 'object') {
3615
+ taco._bwFactory = { type: type, props: props || {} };
3616
+ }
3617
+ return taco;
3614
3618
  }