hyperclayjs 1.0.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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +360 -0
  3. package/README.template.md +276 -0
  4. package/communication/behaviorCollector.js +230 -0
  5. package/communication/sendMessage.js +48 -0
  6. package/communication/uploadFile.js +348 -0
  7. package/core/adminContenteditable.js +36 -0
  8. package/core/adminInputs.js +58 -0
  9. package/core/adminOnClick.js +31 -0
  10. package/core/adminResources.js +33 -0
  11. package/core/adminSystem.js +15 -0
  12. package/core/editmode.js +8 -0
  13. package/core/editmodeSystem.js +18 -0
  14. package/core/enablePersistentFormInputValues.js +62 -0
  15. package/core/isAdminOfCurrentResource.js +13 -0
  16. package/core/optionVisibilityRuleGenerator.js +160 -0
  17. package/core/savePage.js +196 -0
  18. package/core/savePageCore.js +236 -0
  19. package/core/setPageTypeOnDocumentElement.js +23 -0
  20. package/custom-attributes/ajaxElements.js +94 -0
  21. package/custom-attributes/autosize.js +17 -0
  22. package/custom-attributes/domHelpers.js +175 -0
  23. package/custom-attributes/events.js +15 -0
  24. package/custom-attributes/inputHelpers.js +11 -0
  25. package/custom-attributes/onclickaway.js +27 -0
  26. package/custom-attributes/onclone.js +35 -0
  27. package/custom-attributes/onpagemutation.js +20 -0
  28. package/custom-attributes/onrender.js +30 -0
  29. package/custom-attributes/preventEnter.js +13 -0
  30. package/custom-attributes/sortable.js +76 -0
  31. package/dom-utilities/All.js +412 -0
  32. package/dom-utilities/getDataFromForm.js +60 -0
  33. package/dom-utilities/insertStyleTag.js +28 -0
  34. package/dom-utilities/onDomReady.js +7 -0
  35. package/dom-utilities/onLoad.js +7 -0
  36. package/hyperclay.js +465 -0
  37. package/module-dependency-graph.json +612 -0
  38. package/package.json +95 -0
  39. package/string-utilities/copy-to-clipboard.js +35 -0
  40. package/string-utilities/emmet-html.js +54 -0
  41. package/string-utilities/query.js +1 -0
  42. package/string-utilities/slugify.js +21 -0
  43. package/ui/info.js +39 -0
  44. package/ui/prompts.js +179 -0
  45. package/ui/theModal.js +677 -0
  46. package/ui/toast.js +273 -0
  47. package/utilities/cookie.js +45 -0
  48. package/utilities/debounce.js +12 -0
  49. package/utilities/mutation.js +403 -0
  50. package/utilities/nearest.js +97 -0
  51. package/utilities/pipe.js +1 -0
  52. package/utilities/throttle.js +21 -0
  53. package/vendor/Sortable.js +3351 -0
  54. package/vendor/idiomorph.min.js +8 -0
  55. package/vendor/tailwind-base.css +1471 -0
  56. package/vendor/tailwind-play.js +169 -0
@@ -0,0 +1,612 @@
1
+ {
2
+ "rawDependencies": {
3
+ "__tests__/All.test.js": [
4
+ "dom-utilities/All.js"
5
+ ],
6
+ "babel.config.js": [],
7
+ "build/build-loader.js": [],
8
+ "build/generate-dependency-graph.js": [],
9
+ "build/generate-readme.js": [],
10
+ "build/hyperclay.template.js": [],
11
+ "communication/behaviorCollector.js": [],
12
+ "communication/sendMessage.js": [
13
+ "communication/behaviorCollector.js",
14
+ "dom-utilities/getDataFromForm.js",
15
+ "ui/toast.js"
16
+ ],
17
+ "communication/uploadFile.js": [
18
+ "string-utilities/copy-to-clipboard.js",
19
+ "ui/toast.js",
20
+ "utilities/debounce.js"
21
+ ],
22
+ "core/adminContenteditable.js": [
23
+ "core/isAdminOfCurrentResource.js",
24
+ "core/savePage.js",
25
+ "dom-utilities/onDomReady.js"
26
+ ],
27
+ "core/adminInputs.js": [
28
+ "core/isAdminOfCurrentResource.js",
29
+ "core/savePage.js",
30
+ "dom-utilities/onDomReady.js"
31
+ ],
32
+ "core/adminOnClick.js": [
33
+ "core/isAdminOfCurrentResource.js",
34
+ "core/savePage.js",
35
+ "dom-utilities/onDomReady.js"
36
+ ],
37
+ "core/adminResources.js": [
38
+ "core/isAdminOfCurrentResource.js",
39
+ "core/savePage.js",
40
+ "dom-utilities/onDomReady.js"
41
+ ],
42
+ "core/adminSystem.js": [
43
+ "core/adminContenteditable.js",
44
+ "core/adminInputs.js",
45
+ "core/adminOnClick.js",
46
+ "core/adminResources.js"
47
+ ],
48
+ "core/editmode.js": [
49
+ "core/isAdminOfCurrentResource.js"
50
+ ],
51
+ "core/editmodeSystem.js": [
52
+ "core/editmode.js",
53
+ "core/setPageTypeOnDocumentElement.js"
54
+ ],
55
+ "core/enablePersistentFormInputValues.js": [
56
+ "core/savePage.js"
57
+ ],
58
+ "core/isAdminOfCurrentResource.js": [
59
+ "string-utilities/query.js",
60
+ "utilities/cookie.js"
61
+ ],
62
+ "core/optionVisibilityRuleGenerator.js": [
63
+ "utilities/mutation.js"
64
+ ],
65
+ "core/savePage.js": [
66
+ "core/isAdminOfCurrentResource.js",
67
+ "core/savePageCore.js",
68
+ "ui/toast.js",
69
+ "utilities/mutation.js",
70
+ "utilities/throttle.js"
71
+ ],
72
+ "core/savePageCore.js": [
73
+ "core/isAdminOfCurrentResource.js",
74
+ "utilities/cookie.js"
75
+ ],
76
+ "core/setPageTypeOnDocumentElement.js": [
77
+ "core/isAdminOfCurrentResource.js",
78
+ "core/savePage.js",
79
+ "dom-utilities/onDomReady.js"
80
+ ],
81
+ "coverage/lcov-report/block-navigation.js": [],
82
+ "coverage/lcov-report/prettify.js": [],
83
+ "coverage/lcov-report/sorter.js": [],
84
+ "custom-attributes/ajaxElements.js": [
85
+ "dom-utilities/getDataFromForm.js"
86
+ ],
87
+ "custom-attributes/autosize.js": [],
88
+ "custom-attributes/domHelpers.js": [
89
+ "utilities/nearest.js",
90
+ "utilities/pipe.js"
91
+ ],
92
+ "custom-attributes/events.js": [
93
+ "custom-attributes/onclickaway.js",
94
+ "custom-attributes/onclone.js",
95
+ "custom-attributes/onpagemutation.js",
96
+ "custom-attributes/onrender.js"
97
+ ],
98
+ "custom-attributes/inputHelpers.js": [
99
+ "custom-attributes/autosize.js",
100
+ "custom-attributes/preventEnter.js"
101
+ ],
102
+ "custom-attributes/onclickaway.js": [],
103
+ "custom-attributes/onclone.js": [],
104
+ "custom-attributes/onpagemutation.js": [
105
+ "utilities/mutation.js"
106
+ ],
107
+ "custom-attributes/onrender.js": [
108
+ "dom-utilities/onLoad.js",
109
+ "utilities/mutation.js"
110
+ ],
111
+ "custom-attributes/preventEnter.js": [],
112
+ "custom-attributes/sortable.js": [
113
+ "core/isAdminOfCurrentResource.js",
114
+ "utilities/mutation.js",
115
+ "vendor/Sortable.js"
116
+ ],
117
+ "dom-utilities/All.js": [],
118
+ "dom-utilities/getDataFromForm.js": [],
119
+ "dom-utilities/insertStyleTag.js": [],
120
+ "dom-utilities/onDomReady.js": [],
121
+ "dom-utilities/onLoad.js": [],
122
+ "hyperclay.js": [],
123
+ "jest.config.js": [],
124
+ "string-utilities/copy-to-clipboard.js": [],
125
+ "string-utilities/emmet-html.js": [],
126
+ "string-utilities/query.js": [],
127
+ "string-utilities/slugify.js": [],
128
+ "ui/info.js": [
129
+ "dom-utilities/onDomReady.js",
130
+ "ui/theModal.js"
131
+ ],
132
+ "ui/prompts.js": [
133
+ "dom-utilities/onDomReady.js",
134
+ "string-utilities/copy-to-clipboard.js",
135
+ "ui/theModal.js",
136
+ "ui/toast.js"
137
+ ],
138
+ "ui/theModal.js": [],
139
+ "ui/toast.js": [],
140
+ "utilities/cookie.js": [],
141
+ "utilities/debounce.js": [],
142
+ "utilities/mutation.js": [],
143
+ "utilities/nearest.js": [],
144
+ "utilities/pipe.js": [],
145
+ "utilities/throttle.js": [],
146
+ "vendor/Sortable.js": [],
147
+ "vendor/idiomorph.min.js": [],
148
+ "vendor/tailwind-play.js": [
149
+ "dom-utilities/insertStyleTag.js"
150
+ ]
151
+ },
152
+ "modules": {
153
+ "save-core": {
154
+ "name": "Save Core",
155
+ "category": "core",
156
+ "size": 5.9,
157
+ "files": [
158
+ "core/savePageCore.js"
159
+ ],
160
+ "description": "Basic save function only - hyperclay.savePage()"
161
+ },
162
+ "save": {
163
+ "name": "Save System",
164
+ "category": "core",
165
+ "size": 4.9,
166
+ "files": [
167
+ "core/savePage.js"
168
+ ],
169
+ "description": "Full save: save button, keyboard shortcut, auto-save, change tracking"
170
+ },
171
+ "admin": {
172
+ "name": "Admin Features",
173
+ "category": "core",
174
+ "size": 5.300000000000001,
175
+ "files": [
176
+ "core/adminSystem.js",
177
+ "core/adminContenteditable.js",
178
+ "core/adminInputs.js",
179
+ "core/adminOnClick.js",
180
+ "core/adminResources.js"
181
+ ],
182
+ "description": "Hides admin inputs, scripts, contenteditable, onclick for regular viewers"
183
+ },
184
+ "persist": {
185
+ "name": "Form Persistence",
186
+ "category": "core",
187
+ "size": 2.2,
188
+ "files": [
189
+ "core/enablePersistentFormInputValues.js"
190
+ ],
191
+ "description": "Persist form values to the DOM with [persist] attribute"
192
+ },
193
+ "options": {
194
+ "name": "Option Visibility",
195
+ "category": "core",
196
+ "size": 4.4,
197
+ "files": [
198
+ "core/optionVisibilityRuleGenerator.js"
199
+ ],
200
+ "description": "Dynamic show/hide based on page state with option:attribute=\"value\""
201
+ },
202
+ "editmode": {
203
+ "name": "Edit Mode",
204
+ "category": "core",
205
+ "size": 1.4,
206
+ "files": [
207
+ "core/editmodeSystem.js",
208
+ "core/editmode.js",
209
+ "core/setPageTypeOnDocumentElement.js"
210
+ ],
211
+ "description": "Toggle edit mode on/off"
212
+ },
213
+ "events": {
214
+ "name": "Event Attributes",
215
+ "category": "custom-attributes",
216
+ "size": 3.5,
217
+ "files": [
218
+ "custom-attributes/events.js",
219
+ "custom-attributes/onclickaway.js",
220
+ "custom-attributes/onclone.js",
221
+ "custom-attributes/onpagemutation.js",
222
+ "custom-attributes/onrender.js"
223
+ ],
224
+ "description": "[onclickaway], [onclone], [onpagemutation], [onrender]"
225
+ },
226
+ "ajax": {
227
+ "name": "AJAX Elements",
228
+ "category": "custom-attributes",
229
+ "size": 2.7,
230
+ "files": [
231
+ "custom-attributes/ajaxElements.js"
232
+ ],
233
+ "description": "[ajax-form], [ajax-button] for async form submissions"
234
+ },
235
+ "sortable": {
236
+ "name": "Sortable",
237
+ "category": "custom-attributes",
238
+ "size": 117.89999999999999,
239
+ "files": [
240
+ "custom-attributes/sortable.js",
241
+ "vendor/Sortable.js"
242
+ ],
243
+ "description": "Drag-drop sorting with [sortable] - includes Sortable.js vendor library"
244
+ },
245
+ "helpers": {
246
+ "name": "DOM Helpers",
247
+ "category": "custom-attributes",
248
+ "size": 5.4,
249
+ "files": [
250
+ "custom-attributes/domHelpers.js"
251
+ ],
252
+ "description": "el.nearest, el.val, el.text, el.exec, el.cycle"
253
+ },
254
+ "inputs": {
255
+ "name": "Input Helpers",
256
+ "category": "custom-attributes",
257
+ "size": 1.2,
258
+ "files": [
259
+ "custom-attributes/inputHelpers.js",
260
+ "custom-attributes/preventEnter.js",
261
+ "custom-attributes/autosize.js"
262
+ ],
263
+ "description": "[prevent-enter], [autosize] for textareas"
264
+ },
265
+ "prompts": {
266
+ "name": "Dialog Functions",
267
+ "category": "ui",
268
+ "size": 7.7,
269
+ "files": [
270
+ "ui/prompts.js"
271
+ ],
272
+ "description": "ask(), consent(), tell(), snippet() functions"
273
+ },
274
+ "toast": {
275
+ "name": "Toast Notifications",
276
+ "category": "ui",
277
+ "size": 7.3,
278
+ "files": [
279
+ "ui/toast.js"
280
+ ],
281
+ "description": "Success/error message notifications - toast(msg, msgType)"
282
+ },
283
+ "modals": {
284
+ "name": "Modal System",
285
+ "category": "ui",
286
+ "size": 18.4,
287
+ "files": [
288
+ "ui/theModal.js"
289
+ ],
290
+ "description": "Full modal window creation system - window.theModal"
291
+ },
292
+ "info": {
293
+ "name": "Info Dialog",
294
+ "category": "ui",
295
+ "size": 3.2,
296
+ "files": [
297
+ "ui/info.js"
298
+ ],
299
+ "description": "Info dialog component"
300
+ },
301
+ "tailwind-play": {
302
+ "name": "Tailwind Play",
303
+ "category": "ui",
304
+ "size": 362.3,
305
+ "files": [
306
+ "vendor/tailwind-play.js"
307
+ ],
308
+ "description": "Live Tailwind CSS editing - updates styles based on classes in your HTML"
309
+ },
310
+ "mutation": {
311
+ "name": "Mutation Observer",
312
+ "category": "utilities",
313
+ "size": 12.8,
314
+ "files": [
315
+ "utilities/mutation.js"
316
+ ],
317
+ "description": "DOM mutation observation (often auto-included)"
318
+ },
319
+ "nearest": {
320
+ "name": "Nearest Element",
321
+ "category": "utilities",
322
+ "size": 3.2,
323
+ "files": [
324
+ "utilities/nearest.js"
325
+ ],
326
+ "description": "Find nearest elements (often auto-included)"
327
+ },
328
+ "cookie": {
329
+ "name": "Cookie Helper",
330
+ "category": "utilities",
331
+ "size": 1.3,
332
+ "files": [
333
+ "utilities/cookie.js"
334
+ ],
335
+ "description": "Cookie management (often auto-included)"
336
+ },
337
+ "throttle": {
338
+ "name": "Throttle",
339
+ "category": "utilities",
340
+ "size": 0.6,
341
+ "files": [
342
+ "utilities/throttle.js"
343
+ ],
344
+ "description": "Function throttling"
345
+ },
346
+ "debounce": {
347
+ "name": "Debounce",
348
+ "category": "utilities",
349
+ "size": 0.2,
350
+ "files": [
351
+ "utilities/debounce.js"
352
+ ],
353
+ "description": "Function debouncing"
354
+ },
355
+ "dom-ready": {
356
+ "name": "DOM Ready",
357
+ "category": "dom-utilities",
358
+ "size": 0.2,
359
+ "files": [
360
+ "dom-utilities/onDomReady.js"
361
+ ],
362
+ "description": "DOM ready callback"
363
+ },
364
+ "window-load": {
365
+ "name": "Window Load",
366
+ "category": "dom-utilities",
367
+ "size": 0.2,
368
+ "files": [
369
+ "dom-utilities/onLoad.js"
370
+ ],
371
+ "description": "Window load callback"
372
+ },
373
+ "jquery-like": {
374
+ "name": "All.js (jQuery-like)",
375
+ "category": "dom-utilities",
376
+ "size": 13.8,
377
+ "files": [
378
+ "dom-utilities/All.js"
379
+ ],
380
+ "description": "Full DOM manipulation library"
381
+ },
382
+ "style-injection": {
383
+ "name": "Style Injection",
384
+ "category": "dom-utilities",
385
+ "size": 0.8,
386
+ "files": [
387
+ "dom-utilities/insertStyleTag.js"
388
+ ],
389
+ "description": "Dynamic stylesheet injection"
390
+ },
391
+ "dom-morphing": {
392
+ "name": "DOM Morphing",
393
+ "category": "vendor",
394
+ "size": 7.9,
395
+ "files": [
396
+ "vendor/idiomorph.min.js"
397
+ ],
398
+ "description": "Efficient DOM updates"
399
+ },
400
+ "slugify": {
401
+ "name": "Slugify",
402
+ "category": "string-utilities",
403
+ "size": 0.7,
404
+ "files": [
405
+ "string-utilities/slugify.js"
406
+ ],
407
+ "description": "URL-friendly slug generator"
408
+ },
409
+ "emmet-html": {
410
+ "name": "Emmet HTML",
411
+ "category": "string-utilities",
412
+ "size": 1.4,
413
+ "files": [
414
+ "string-utilities/emmet-html.js"
415
+ ],
416
+ "description": "Emmet-like HTML generation"
417
+ },
418
+ "copy-to-clipboard": {
419
+ "name": "Copy to Clipboard",
420
+ "category": "string-utilities",
421
+ "size": 0.9,
422
+ "files": [
423
+ "string-utilities/copy-to-clipboard.js"
424
+ ],
425
+ "description": "Clipboard utility"
426
+ },
427
+ "query-parser": {
428
+ "name": "URL Query Parser",
429
+ "category": "string-utilities",
430
+ "size": 0.1,
431
+ "files": [
432
+ "string-utilities/query.js"
433
+ ],
434
+ "description": "Parse URL search params"
435
+ },
436
+ "behavior-collector": {
437
+ "name": "Behavior Collector",
438
+ "category": "communication",
439
+ "size": 5.2,
440
+ "files": [
441
+ "communication/behaviorCollector.js"
442
+ ],
443
+ "description": "Tracks user interactions (mouse, scroll, keyboard)"
444
+ },
445
+ "send-message": {
446
+ "name": "Send Message to App Owner",
447
+ "category": "communication",
448
+ "size": 1.2,
449
+ "files": [
450
+ "communication/sendMessage.js"
451
+ ],
452
+ "description": "Message sending utility"
453
+ },
454
+ "file-upload": {
455
+ "name": "File Upload to App Owner",
456
+ "category": "communication",
457
+ "size": 10.4,
458
+ "files": [
459
+ "communication/uploadFile.js"
460
+ ],
461
+ "description": "File upload with progress"
462
+ }
463
+ },
464
+ "categories": {
465
+ "core": {
466
+ "name": "Core Features",
467
+ "description": "Essential functionality",
468
+ "modules": [
469
+ "save-core",
470
+ "save",
471
+ "admin",
472
+ "persist",
473
+ "options",
474
+ "editmode"
475
+ ]
476
+ },
477
+ "custom-attributes": {
478
+ "name": "Custom Attributes",
479
+ "description": "HTML enhancements",
480
+ "modules": [
481
+ "events",
482
+ "ajax",
483
+ "sortable",
484
+ "helpers",
485
+ "inputs"
486
+ ]
487
+ },
488
+ "ui": {
489
+ "name": "UI Components",
490
+ "description": "User interface elements",
491
+ "modules": [
492
+ "prompts",
493
+ "toast",
494
+ "modals",
495
+ "info",
496
+ "tailwind-play"
497
+ ]
498
+ },
499
+ "utilities": {
500
+ "name": "Utilities",
501
+ "description": "Core utilities (often auto-included)",
502
+ "modules": [
503
+ "mutation",
504
+ "nearest",
505
+ "cookie",
506
+ "throttle",
507
+ "debounce"
508
+ ]
509
+ },
510
+ "dom-utilities": {
511
+ "name": "DOM Utilities",
512
+ "description": "DOM manipulation helpers",
513
+ "modules": [
514
+ "dom-ready",
515
+ "window-load",
516
+ "jquery-like",
517
+ "style-injection"
518
+ ]
519
+ },
520
+ "string-utilities": {
521
+ "name": "String Utilities",
522
+ "description": "String manipulation helpers",
523
+ "modules": [
524
+ "slugify",
525
+ "emmet-html",
526
+ "copy-to-clipboard",
527
+ "query-parser"
528
+ ]
529
+ },
530
+ "communication": {
531
+ "name": "Communication & Files",
532
+ "description": "File handling and messaging",
533
+ "modules": [
534
+ "behavior-collector",
535
+ "send-message",
536
+ "file-upload"
537
+ ]
538
+ },
539
+ "vendor": {
540
+ "name": "Vendor Libraries",
541
+ "description": "Third-party libraries",
542
+ "modules": [
543
+ "dom-morphing"
544
+ ]
545
+ }
546
+ },
547
+ "presets": {
548
+ "minimal": {
549
+ "name": "Minimal",
550
+ "description": "Essential features for basic editing",
551
+ "modules": [
552
+ "save-core",
553
+ "save",
554
+ "admin",
555
+ "toast"
556
+ ]
557
+ },
558
+ "standard": {
559
+ "name": "Standard",
560
+ "description": "Standard feature set for most use cases",
561
+ "modules": [
562
+ "save-core",
563
+ "save",
564
+ "admin",
565
+ "persist",
566
+ "ajax",
567
+ "events",
568
+ "helpers",
569
+ "toast"
570
+ ]
571
+ },
572
+ "everything": {
573
+ "name": "Everything",
574
+ "description": "All available features",
575
+ "modules": [
576
+ "save-core",
577
+ "save",
578
+ "admin",
579
+ "persist",
580
+ "options",
581
+ "editmode",
582
+ "events",
583
+ "ajax",
584
+ "sortable",
585
+ "helpers",
586
+ "inputs",
587
+ "prompts",
588
+ "toast",
589
+ "modals",
590
+ "info",
591
+ "tailwind-play",
592
+ "mutation",
593
+ "nearest",
594
+ "cookie",
595
+ "throttle",
596
+ "debounce",
597
+ "dom-ready",
598
+ "window-load",
599
+ "jquery-like",
600
+ "style-injection",
601
+ "dom-morphing",
602
+ "slugify",
603
+ "emmet-html",
604
+ "copy-to-clipboard",
605
+ "query-parser",
606
+ "behavior-collector",
607
+ "send-message",
608
+ "file-upload"
609
+ ]
610
+ }
611
+ }
612
+ }
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "hyperclayjs",
3
+ "version": "1.0.0",
4
+ "description": "Modular JavaScript library for building interactive HTML applications with Hyperclay",
5
+ "type": "module",
6
+ "main": "hyperclay.js",
7
+ "module": "hyperclay.js",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./hyperclay.js",
11
+ "default": "./hyperclay.js"
12
+ },
13
+ "./core/*": "./core/*.js",
14
+ "./custom-attributes/*": "./custom-attributes/*.js",
15
+ "./ui/*": "./ui/*.js",
16
+ "./utilities/*": "./utilities/*.js",
17
+ "./dom-utilities/*": "./dom-utilities/*.js",
18
+ "./string-utilities/*": "./string-utilities/*.js",
19
+ "./communication/*": "./communication/*.js",
20
+ "./vendor/*": "./vendor/*.js"
21
+ },
22
+ "files": [
23
+ "core",
24
+ "custom-attributes",
25
+ "ui",
26
+ "utilities",
27
+ "dom-utilities",
28
+ "string-utilities",
29
+ "communication",
30
+ "vendor",
31
+ "hyperclay.js",
32
+ "module-dependency-graph.json"
33
+ ],
34
+ "scripts": {
35
+ "dev": "npm run build && http-server -p 3535 -o /index.html",
36
+ "build": "npm run generate:deps && npm run build:loader && npm run build:readme",
37
+ "generate:deps": "node build/generate-dependency-graph.js",
38
+ "build:loader": "node build/build-loader.js",
39
+ "build:readme": "node build/generate-readme.js",
40
+ "test": "jest",
41
+ "lint": "eslint .",
42
+ "format": "prettier --write .",
43
+ "prepublishOnly": "npm run build && npm test"
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/hyperclay/hyperclayjs.git"
48
+ },
49
+ "keywords": [
50
+ "hyperclay",
51
+ "html",
52
+ "interactive",
53
+ "save",
54
+ "admin",
55
+ "modular",
56
+ "frontend",
57
+ "dom",
58
+ "ui"
59
+ ],
60
+ "author": "Hyperclay",
61
+ "license": "MIT",
62
+ "bugs": {
63
+ "url": "https://github.com/hyperclay/hyperclayjs/issues"
64
+ },
65
+ "homepage": "https://github.com/hyperclay/hyperclayjs#readme",
66
+ "devDependencies": {
67
+ "@babel/core": "^7.28.5",
68
+ "@babel/preset-env": "^7.28.5",
69
+ "@jest/globals": "^30.2.0",
70
+ "@rollup/plugin-babel": "^6.0.0",
71
+ "@rollup/plugin-commonjs": "^25.0.0",
72
+ "@rollup/plugin-json": "^6.0.0",
73
+ "@rollup/plugin-node-resolve": "^15.2.0",
74
+ "@rollup/plugin-terser": "^0.4.0",
75
+ "babel-jest": "^30.2.0",
76
+ "eslint": "^8.50.0",
77
+ "http-server": "^14.1.1",
78
+ "jest": "^29.7.0",
79
+ "jest-environment-jsdom": "^30.2.0",
80
+ "jsdom": "^27.2.0",
81
+ "madge": "^8.0.0",
82
+ "open-cli": "^8.0.0",
83
+ "prettier": "^3.0.0",
84
+ "rollup": "^4.0.0"
85
+ },
86
+ "engines": {
87
+ "node": ">=14.0.0"
88
+ },
89
+ "browserslist": [
90
+ "Chrome >= 90",
91
+ "Firefox >= 88",
92
+ "Safari >= 14",
93
+ "Edge >= 90"
94
+ ]
95
+ }