jsgui3-server 0.0.149 → 0.0.150

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 (98) hide show
  1. package/.github/agents/Mobile Developer.agent.md +89 -0
  2. package/AGENTS.md +4 -0
  3. package/README.md +130 -0
  4. package/admin-ui/client.js +73 -43
  5. package/admin-ui/v1/admin_auth_service.js +197 -0
  6. package/admin-ui/v1/admin_user_store.js +71 -0
  7. package/admin-ui/v1/client.js +17 -0
  8. package/admin-ui/v1/controls/admin_shell.js +1399 -0
  9. package/admin-ui/v1/controls/group_box.js +84 -0
  10. package/admin-ui/v1/controls/stat_card.js +125 -0
  11. package/admin-ui/v1/server.js +658 -0
  12. package/admin-ui/v1/utils/formatters.js +68 -0
  13. package/docs/admin-extension-guide.md +345 -0
  14. package/docs/books/adaptive-control-improvements/01-control-candidate-matrix.md +122 -0
  15. package/docs/books/adaptive-control-improvements/02-tier-1-layout-playbooks.md +207 -0
  16. package/docs/books/adaptive-control-improvements/03-tier-2-navigation-form-overlay.md +140 -0
  17. package/docs/books/adaptive-control-improvements/04-cross-cutting-platform-functionality.md +141 -0
  18. package/docs/books/adaptive-control-improvements/05-styling-theming-density-upgrades.md +114 -0
  19. package/docs/books/adaptive-control-improvements/06-testing-quality-gates.md +97 -0
  20. package/docs/books/adaptive-control-improvements/07-delivery-roadmap-and-ownership.md +137 -0
  21. package/docs/books/adaptive-control-improvements/08-appendix-tier1-acceptance-and-pr-templates.md +261 -0
  22. package/docs/books/adaptive-control-improvements/README.md +66 -0
  23. package/docs/books/admin-ui-authentication/01-threat-model-and-goals.md +124 -0
  24. package/docs/books/admin-ui-authentication/02-session-model-and-token-model.md +75 -0
  25. package/docs/books/admin-ui-authentication/03-auth-middleware-patterns.md +77 -0
  26. package/docs/books/admin-ui-authentication/README.md +25 -0
  27. package/docs/books/creating-a-new-admin-ui/01-introduction-and-vision.md +130 -0
  28. package/docs/books/creating-a-new-admin-ui/02-architecture-and-data-flow.md +298 -0
  29. package/docs/books/creating-a-new-admin-ui/03-server-introspection.md +381 -0
  30. package/docs/books/creating-a-new-admin-ui/04-admin-module-adapter-layer.md +592 -0
  31. package/docs/books/creating-a-new-admin-ui/05-domain-controls-stat-cards-and-gauges.md +513 -0
  32. package/docs/books/creating-a-new-admin-ui/06-domain-controls-process-manager.md +544 -0
  33. package/docs/books/creating-a-new-admin-ui/07-domain-controls-resource-pool-inspector.md +493 -0
  34. package/docs/books/creating-a-new-admin-ui/08-domain-controls-route-table-and-api-explorer.md +586 -0
  35. package/docs/books/creating-a-new-admin-ui/09-domain-controls-log-viewer-and-activity-feed.md +490 -0
  36. package/docs/books/creating-a-new-admin-ui/10-domain-controls-build-status-and-bundle-inspector.md +526 -0
  37. package/docs/books/creating-a-new-admin-ui/11-domain-controls-configuration-panel.md +808 -0
  38. package/docs/books/creating-a-new-admin-ui/12-admin-shell-layout-sidebar-navigation.md +210 -0
  39. package/docs/books/creating-a-new-admin-ui/13-telemetry-integration.md +556 -0
  40. package/docs/books/creating-a-new-admin-ui/14-realtime-sse-observable-integration.md +485 -0
  41. package/docs/books/creating-a-new-admin-ui/15-styling-theming-aero-design-system.md +521 -0
  42. package/docs/books/creating-a-new-admin-ui/16-testing-and-quality-assurance.md +147 -0
  43. package/docs/books/creating-a-new-admin-ui/17-next-steps-process-resource-roadmap.md +356 -0
  44. package/docs/books/creating-a-new-admin-ui/README.md +68 -0
  45. package/docs/books/device-adaptive-composition/01-platform-feature-audit.md +177 -0
  46. package/docs/books/device-adaptive-composition/02-responsive-composition-model.md +187 -0
  47. package/docs/books/device-adaptive-composition/03-data-model-vs-view-model.md +231 -0
  48. package/docs/books/device-adaptive-composition/04-styling-theme-breakpoints.md +234 -0
  49. package/docs/books/device-adaptive-composition/05-showcase-app-multi-device-assessment.md +193 -0
  50. package/docs/books/device-adaptive-composition/06-implementation-patterns-and-apis.md +346 -0
  51. package/docs/books/device-adaptive-composition/07-testing-harness-and-quality-gates.md +265 -0
  52. package/docs/books/device-adaptive-composition/08-roadmap-and-adoption-plan.md +250 -0
  53. package/docs/books/device-adaptive-composition/README.md +47 -0
  54. package/docs/comparison-report-express-plex-cpanel.md +549 -0
  55. package/docs/designs/server-admin-interface-aero.svg +611 -0
  56. package/docs/troubleshooting.md +84 -53
  57. package/module.js +16 -11
  58. package/package.json +1 -1
  59. package/serve-factory.js +1 -0
  60. package/server.js +199 -0
  61. package/tests/README.md +5 -0
  62. package/tests/admin-ui-jsgui-controls.test.js +581 -0
  63. package/tests/test-runner.js +1 -0
  64. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-071799b982906680f5fd699d.js +0 -40
  65. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-07352945ad5c92654fcb8b65.js +0 -39
  66. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-138a601fadb6191ea314c6fd.js +0 -39
  67. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-171f6c381c2cadf2e9fa7087.js +0 -39
  68. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-1d973388156b84a04373fac9.js +0 -39
  69. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-20e117bc8a10d2cd16234bbe.js +0 -40
  70. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-2b028a82b0e5efddba42425f.js +0 -39
  71. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-4518556cd5c7e059e82b22b8.js +0 -40
  72. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-5bac1aa0f213902f718ed74f.js +0 -40
  73. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-5f9996ac7822caf777d92f56.js +0 -39
  74. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-60a92c702e65fd9cf748e3ec.js +0 -39
  75. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-6164c1f8f738995c541895d2.js +0 -44
  76. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-6718a85eb9e5aa782dd47a05.js +0 -45
  77. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-69e280f14e37aee76a1d4675.js +0 -39
  78. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-7570d1b030d44b111ed59c4c.js +0 -39
  79. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-7798c9bbd55e510d5039f936.js +0 -42
  80. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-78cd511ea1ef18ecb03d1be5.js +0 -40
  81. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-7d482e0b95bcb5e3c543118b.js +0 -43
  82. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-80e9476d1127c55b40fdb36f.js +0 -40
  83. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-810ced55d5320a3088a05b13.js +0 -40
  84. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-8423565f1a40e329afc8c6cf.js +0 -40
  85. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-900bef783b8cee36506ec282.js +0 -39
  86. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-a1a37aff6416fdad74040ddf.js +0 -39
  87. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-ad48d5e8eda40f175b4df090.js +0 -39
  88. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-aec5a2d963015528c9099462.js +0 -39
  89. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-af9d34e0f1722fab9e28c269.js +0 -39
  90. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-b818e4015e2f1fe86280b5ab.js +0 -41
  91. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-bcb2541adc70b7aba61768c5.js +0 -44
  92. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-bfe89d2c78ed44f95ed7dd73.js +0 -40
  93. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-c06f04806a1e688e1187110c.js +0 -40
  94. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-c3f3adf904f585afc544b96a.js +0 -39
  95. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-d45acb873e1d8e32d5e60f2e.js +0 -39
  96. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-db06f132533706f4a0163b8c.js +0 -39
  97. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-f660f40d78b135fc8560a862.js +0 -39
  98. package/.jsgui3-server-cache/jsgui3-html-shims/jsgui3-html-controls-shim-f9dee4ec18a96e09bee06bae.js +0 -39
@@ -1,39 +0,0 @@
1
- const jsgui = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/html-core/html-core.js');
2
- jsgui.Router = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/router/router.js');
3
- jsgui.Resource = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/resource.js');
4
- jsgui.Resource_Pool = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/pool.js');
5
- jsgui.Resource.Data_KV = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-kv-resource.js');
6
- jsgui.Resource.Data_Transform = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-transform-resource.js');
7
- jsgui.Resource.Compilation = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compilation-resource.js');
8
- jsgui.Resource.Compiler = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compiler-resource.js');
9
- jsgui.gfx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/node_modules/jsgui3-gfx-core/core/gfx-core.js');
10
- jsgui.Resource.load_compiler = (name, jsfn, options) => {
11
- const compiler_name = name;
12
- const compiler_fn = jsfn;
13
- const compiler_options = options || {};
14
- if (typeof compiler_name !== 'string' || compiler_name.length === 0) {
15
- throw new Error('Resource.load_compiler(name, fn, options) requires a non-empty string name');
16
- }
17
- if (typeof compiler_fn !== 'function') {
18
- throw new Error('Resource.load_compiler(name, fn, options) requires a function compiler implementation');
19
- }
20
- const compiler_resource = new jsgui.Resource.Compiler({ name: compiler_name });
21
- compiler_resource.transform = (input, transform_options = {}) => {
22
- const merged_options = Object.assign({}, compiler_options, transform_options);
23
- return compiler_fn(input, merged_options);
24
- };
25
- jsgui.Resource.compilers = jsgui.Resource.compilers || {};
26
- jsgui.Resource.compilers[compiler_name] = compiler_resource;
27
- const pool = compiler_options.pool || compiler_options.resource_pool;
28
- if (pool && typeof pool.add === 'function') {
29
- pool.add(compiler_resource);
30
- }
31
- return compiler_resource;
32
- };
33
- jsgui.controls = jsgui.controls || {};
34
- Object.assign(jsgui.controls, {
35
- Window: require('/mnt/c/Users/james/Documents/repos/jsgui3-html/controls/organised/1-standard/6-layout/window')
36
- });
37
- Object.assign(jsgui, jsgui.controls);
38
- jsgui.mixins = jsgui.mx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/control_mixins/mx.js');
39
- module.exports = jsgui;
@@ -1,39 +0,0 @@
1
- const jsgui = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/html-core/html-core.js');
2
- jsgui.Router = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/router/router.js');
3
- jsgui.Resource = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/resource.js');
4
- jsgui.Resource_Pool = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/pool.js');
5
- jsgui.Resource.Data_KV = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-kv-resource.js');
6
- jsgui.Resource.Data_Transform = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-transform-resource.js');
7
- jsgui.Resource.Compilation = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compilation-resource.js');
8
- jsgui.Resource.Compiler = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compiler-resource.js');
9
- jsgui.gfx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/node_modules/jsgui3-gfx-core/core/gfx-core.js');
10
- jsgui.Resource.load_compiler = (name, jsfn, options) => {
11
- const compiler_name = name;
12
- const compiler_fn = jsfn;
13
- const compiler_options = options || {};
14
- if (typeof compiler_name !== 'string' || compiler_name.length === 0) {
15
- throw new Error('Resource.load_compiler(name, fn, options) requires a non-empty string name');
16
- }
17
- if (typeof compiler_fn !== 'function') {
18
- throw new Error('Resource.load_compiler(name, fn, options) requires a function compiler implementation');
19
- }
20
- const compiler_resource = new jsgui.Resource.Compiler({ name: compiler_name });
21
- compiler_resource.transform = (input, transform_options = {}) => {
22
- const merged_options = Object.assign({}, compiler_options, transform_options);
23
- return compiler_fn(input, merged_options);
24
- };
25
- jsgui.Resource.compilers = jsgui.Resource.compilers || {};
26
- jsgui.Resource.compilers[compiler_name] = compiler_resource;
27
- const pool = compiler_options.pool || compiler_options.resource_pool;
28
- if (pool && typeof pool.add === 'function') {
29
- pool.add(compiler_resource);
30
- }
31
- return compiler_resource;
32
- };
33
- jsgui.controls = jsgui.controls || {};
34
- Object.assign(jsgui.controls, {
35
-
36
- });
37
- Object.assign(jsgui, jsgui.controls);
38
- jsgui.mixins = jsgui.mx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/control_mixins/mx.js');
39
- module.exports = jsgui;
@@ -1,39 +0,0 @@
1
- const jsgui = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/html-core/html-core.js');
2
- jsgui.Router = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/router/router.js');
3
- jsgui.Resource = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/resource.js');
4
- jsgui.Resource_Pool = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/pool.js');
5
- jsgui.Resource.Data_KV = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-kv-resource.js');
6
- jsgui.Resource.Data_Transform = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-transform-resource.js');
7
- jsgui.Resource.Compilation = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compilation-resource.js');
8
- jsgui.Resource.Compiler = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compiler-resource.js');
9
- jsgui.gfx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/node_modules/jsgui3-gfx-core/core/gfx-core.js');
10
- jsgui.Resource.load_compiler = (name, jsfn, options) => {
11
- const compiler_name = name;
12
- const compiler_fn = jsfn;
13
- const compiler_options = options || {};
14
- if (typeof compiler_name !== 'string' || compiler_name.length === 0) {
15
- throw new Error('Resource.load_compiler(name, fn, options) requires a non-empty string name');
16
- }
17
- if (typeof compiler_fn !== 'function') {
18
- throw new Error('Resource.load_compiler(name, fn, options) requires a function compiler implementation');
19
- }
20
- const compiler_resource = new jsgui.Resource.Compiler({ name: compiler_name });
21
- compiler_resource.transform = (input, transform_options = {}) => {
22
- const merged_options = Object.assign({}, compiler_options, transform_options);
23
- return compiler_fn(input, merged_options);
24
- };
25
- jsgui.Resource.compilers = jsgui.Resource.compilers || {};
26
- jsgui.Resource.compilers[compiler_name] = compiler_resource;
27
- const pool = compiler_options.pool || compiler_options.resource_pool;
28
- if (pool && typeof pool.add === 'function') {
29
- pool.add(compiler_resource);
30
- }
31
- return compiler_resource;
32
- };
33
- jsgui.controls = jsgui.controls || {};
34
- Object.assign(jsgui.controls, {
35
-
36
- });
37
- Object.assign(jsgui, jsgui.controls);
38
- jsgui.mixins = jsgui.mx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/control_mixins/mx.js');
39
- module.exports = jsgui;
@@ -1,39 +0,0 @@
1
- const jsgui = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/html-core/html-core.js');
2
- jsgui.Router = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/router/router.js');
3
- jsgui.Resource = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/resource.js');
4
- jsgui.Resource_Pool = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/pool.js');
5
- jsgui.Resource.Data_KV = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-kv-resource.js');
6
- jsgui.Resource.Data_Transform = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-transform-resource.js');
7
- jsgui.Resource.Compilation = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compilation-resource.js');
8
- jsgui.Resource.Compiler = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compiler-resource.js');
9
- jsgui.gfx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/node_modules/jsgui3-gfx-core/core/gfx-core.js');
10
- jsgui.Resource.load_compiler = (name, jsfn, options) => {
11
- const compiler_name = name;
12
- const compiler_fn = jsfn;
13
- const compiler_options = options || {};
14
- if (typeof compiler_name !== 'string' || compiler_name.length === 0) {
15
- throw new Error('Resource.load_compiler(name, fn, options) requires a non-empty string name');
16
- }
17
- if (typeof compiler_fn !== 'function') {
18
- throw new Error('Resource.load_compiler(name, fn, options) requires a function compiler implementation');
19
- }
20
- const compiler_resource = new jsgui.Resource.Compiler({ name: compiler_name });
21
- compiler_resource.transform = (input, transform_options = {}) => {
22
- const merged_options = Object.assign({}, compiler_options, transform_options);
23
- return compiler_fn(input, merged_options);
24
- };
25
- jsgui.Resource.compilers = jsgui.Resource.compilers || {};
26
- jsgui.Resource.compilers[compiler_name] = compiler_resource;
27
- const pool = compiler_options.pool || compiler_options.resource_pool;
28
- if (pool && typeof pool.add === 'function') {
29
- pool.add(compiler_resource);
30
- }
31
- return compiler_resource;
32
- };
33
- jsgui.controls = jsgui.controls || {};
34
- Object.assign(jsgui.controls, {
35
-
36
- });
37
- Object.assign(jsgui, jsgui.controls);
38
- jsgui.mixins = jsgui.mx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/control_mixins/mx.js');
39
- module.exports = jsgui;
@@ -1,39 +0,0 @@
1
- const jsgui = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/html-core/html-core.js');
2
- jsgui.Router = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/router/router.js');
3
- jsgui.Resource = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/resource.js');
4
- jsgui.Resource_Pool = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/pool.js');
5
- jsgui.Resource.Data_KV = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-kv-resource.js');
6
- jsgui.Resource.Data_Transform = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/data-transform-resource.js');
7
- jsgui.Resource.Compilation = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compilation-resource.js');
8
- jsgui.Resource.Compiler = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/resource/compiler-resource.js');
9
- jsgui.gfx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/node_modules/jsgui3-gfx-core/core/gfx-core.js');
10
- jsgui.Resource.load_compiler = (name, jsfn, options) => {
11
- const compiler_name = name;
12
- const compiler_fn = jsfn;
13
- const compiler_options = options || {};
14
- if (typeof compiler_name !== 'string' || compiler_name.length === 0) {
15
- throw new Error('Resource.load_compiler(name, fn, options) requires a non-empty string name');
16
- }
17
- if (typeof compiler_fn !== 'function') {
18
- throw new Error('Resource.load_compiler(name, fn, options) requires a function compiler implementation');
19
- }
20
- const compiler_resource = new jsgui.Resource.Compiler({ name: compiler_name });
21
- compiler_resource.transform = (input, transform_options = {}) => {
22
- const merged_options = Object.assign({}, compiler_options, transform_options);
23
- return compiler_fn(input, merged_options);
24
- };
25
- jsgui.Resource.compilers = jsgui.Resource.compilers || {};
26
- jsgui.Resource.compilers[compiler_name] = compiler_resource;
27
- const pool = compiler_options.pool || compiler_options.resource_pool;
28
- if (pool && typeof pool.add === 'function') {
29
- pool.add(compiler_resource);
30
- }
31
- return compiler_resource;
32
- };
33
- jsgui.controls = jsgui.controls || {};
34
- Object.assign(jsgui.controls, {
35
- Window: require('/mnt/c/Users/james/Documents/repos/jsgui3-html/controls/organised/1-standard/6-layout/window')
36
- });
37
- Object.assign(jsgui, jsgui.controls);
38
- jsgui.mixins = jsgui.mx = require('/mnt/c/Users/james/Documents/repos/jsgui3-html/control_mixins/mx.js');
39
- module.exports = jsgui;