jsgui3-server 0.0.85 → 0.0.86
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.
- package/bundler/bundle.js +8 -0
- package/bundler/css-bundler.js +147 -5
- package/bundler/js-bundler.js +13 -1
- package/bundler/webpage-bundler.js +408 -164
- package/examples/square_box.js +4 -0
- package/examples/square_box_client.js +3 -1
- package/package.json +2 -2
- package/publishing/http-website-publisher.js +209 -64
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.0-Type.js +2 -0
- package/resources/jsbuilder/babel/babel_consts.js +14 -1
- package/resources/jsbuilder/babel/deep_iterate/deep_iterate_babel.js +254 -1
- package/server.js +22 -8
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
const {each} = require('lang-mini');
|
|
12
|
+
//const babel_node_tools = require('../babel_node_tools');
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
// deep_iterate_babel_super_node
|
|
@@ -53,6 +54,10 @@ const deep_iterate_babel_object_method_node = (babel_node, depth, path, common,
|
|
|
53
54
|
// deep_iterate_object_method_node
|
|
54
55
|
const deep_iterate_this_expression_node = (babel_node, depth, path, common, callback) => {
|
|
55
56
|
|
|
57
|
+
// Maybe no further iteration to do???
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
//throw 'stop';
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
// const deep_iterate_array_pattern_node
|
|
@@ -273,7 +278,11 @@ const deep_iterate_babel_member_expression_node = (babel_node, depth, path, comm
|
|
|
273
278
|
|
|
274
279
|
|
|
275
280
|
if (extra) {
|
|
276
|
-
|
|
281
|
+
|
|
282
|
+
//console.log('babel_node', babel_node);
|
|
283
|
+
//console.log('extra', extra);
|
|
284
|
+
|
|
285
|
+
//throw 'NYI'
|
|
277
286
|
};
|
|
278
287
|
deep_iterate_babel_node_$INTERNAL(object, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
279
288
|
deep_iterate_babel_node_$INTERNAL(property, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
@@ -370,6 +379,18 @@ const deep_iterate_babel_block_statement_node = (babel_node, depth, path, common
|
|
|
370
379
|
});
|
|
371
380
|
}
|
|
372
381
|
|
|
382
|
+
const deep_iterate_babel_function_declaration_node = (babel_node, depth, path, common, callback) => {
|
|
383
|
+
const {extra, id, generator, async, params, body} = babel_node;
|
|
384
|
+
|
|
385
|
+
let sibling_number = 0;
|
|
386
|
+
|
|
387
|
+
deep_iterate_babel_node_$INTERNAL(id, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
388
|
+
each(params, param => deep_iterate_babel_node_$INTERNAL(param, depth + 1, path + sibling_number++ + '/', common, callback));
|
|
389
|
+
deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
}
|
|
393
|
+
|
|
373
394
|
const deep_iterate_babel_arrow_function_expression_node = (babel_node, depth, path, common, callback) => {
|
|
374
395
|
//console.log('deep_iterate_babel_arrow_function_expression_node', babel_node);
|
|
375
396
|
|
|
@@ -435,6 +456,204 @@ const deep_iterate_babel_binary_expression_node = (babel_node, depth, path, comm
|
|
|
435
456
|
//throw 'stop';
|
|
436
457
|
}
|
|
437
458
|
|
|
459
|
+
const deep_iterate_babel_template_literal_node = (babel_node, depth, path, common, callback) => {
|
|
460
|
+
// expressions and quasis
|
|
461
|
+
|
|
462
|
+
const {generator, async, params, body, quasis, expressions} = babel_node;
|
|
463
|
+
|
|
464
|
+
const q0 = babel_node.quasis[0];
|
|
465
|
+
//console.log('babel_node', babel_node);
|
|
466
|
+
//throw 'NYI';
|
|
467
|
+
//console.log('q0', q0);
|
|
468
|
+
// has both raw and cooked values.
|
|
469
|
+
|
|
470
|
+
// template element.
|
|
471
|
+
|
|
472
|
+
//const {} = babel_node;
|
|
473
|
+
let sibling_number = 0;
|
|
474
|
+
// Assume the params are nodes.
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
if (expressions.length > 0) {
|
|
478
|
+
throw 'NYI';
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
if (quasis.length > 0) {
|
|
482
|
+
each(quasis, x => deep_iterate_babel_node_$INTERNAL(x, depth + 1, path + sibling_number++ + '/', common, callback));
|
|
483
|
+
//console.log('params', params);
|
|
484
|
+
//throw 'NYI';
|
|
485
|
+
//each(quasis, quasi => {
|
|
486
|
+
// deep_iterate_babel_node_$INTERNAL(quasi, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
487
|
+
//})
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
// deep_iterate_babel_template_element_node
|
|
495
|
+
|
|
496
|
+
const deep_iterate_babel_template_element_node = (babel_node, depth, path, common, callback) => {
|
|
497
|
+
// value.raw is basically it.
|
|
498
|
+
|
|
499
|
+
const {value} = babel_node;
|
|
500
|
+
const {raw, cooked} = value;
|
|
501
|
+
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
// deep_iterate_babel_try_statement_node
|
|
505
|
+
|
|
506
|
+
const deep_iterate_babel_try_statement_node = (babel_node, depth, path, common, callback) => {
|
|
507
|
+
// value.raw is basically it.
|
|
508
|
+
|
|
509
|
+
const {block, handler} = babel_node;
|
|
510
|
+
let sibling_number = 0;
|
|
511
|
+
|
|
512
|
+
deep_iterate_babel_node_$INTERNAL(block, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
513
|
+
deep_iterate_babel_node_$INTERNAL(handler, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
514
|
+
|
|
515
|
+
};
|
|
516
|
+
|
|
517
|
+
//deep_iterate_babel_catch_clause_node
|
|
518
|
+
|
|
519
|
+
const deep_iterate_babel_catch_clause_node = (babel_node, depth, path, common, callback) => {
|
|
520
|
+
// value.raw is basically it.
|
|
521
|
+
|
|
522
|
+
const {param, body} = babel_node;
|
|
523
|
+
let sibling_number = 0;
|
|
524
|
+
|
|
525
|
+
deep_iterate_babel_node_$INTERNAL(param, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
526
|
+
deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
527
|
+
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
// deep_iterate_babel_switch_statement_node 1 discriminant, n cases
|
|
531
|
+
|
|
532
|
+
const deep_iterate_babel_switch_statement_node = (babel_node, depth, path, common, callback) => {
|
|
533
|
+
// value.raw is basically it.
|
|
534
|
+
|
|
535
|
+
const {discriminant, cases} = babel_node;
|
|
536
|
+
let sibling_number = 0;
|
|
537
|
+
|
|
538
|
+
deep_iterate_babel_node_$INTERNAL(discriminant, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
539
|
+
|
|
540
|
+
each(cases, x => deep_iterate_babel_node_$INTERNAL(x, depth + 1, path + sibling_number++ + '/', common, callback));
|
|
541
|
+
//deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
542
|
+
|
|
543
|
+
};
|
|
544
|
+
|
|
545
|
+
// deep_iterate_babel_switch_case_node
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
const deep_iterate_babel_switch_case_node = (babel_node, depth, path, common, callback) => {
|
|
549
|
+
// value.raw is basically it.
|
|
550
|
+
|
|
551
|
+
//console.log('babel_node', babel_node);
|
|
552
|
+
//throw 'NYI';
|
|
553
|
+
|
|
554
|
+
const {consequent, test} = babel_node;
|
|
555
|
+
let sibling_number = 0;
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
if (consequent.length > 0) {
|
|
559
|
+
//throw 'NYI';
|
|
560
|
+
each(consequent, x => deep_iterate_babel_node_$INTERNAL(x, depth + 1, path + sibling_number++ + '/', common, callback));
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
deep_iterate_babel_node_$INTERNAL(test, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
//deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
567
|
+
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
// deep_iterate_babel_regexp_literal_node
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
const deep_iterate_babel_regexp_literal_node = (babel_node, depth, path, common, callback) => {
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
};
|
|
578
|
+
|
|
579
|
+
// deep_iterate_babel_break_statement_node
|
|
580
|
+
|
|
581
|
+
const deep_iterate_babel_break_statement_node = (babel_node, depth, path, common, callback) => {
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
};
|
|
586
|
+
|
|
587
|
+
// deep_iterate_babel_for_in_statement_node
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
const deep_iterate_babel_for_in_statement_node = (babel_node, depth, path, common, callback) => {
|
|
591
|
+
// value.raw is basically it.
|
|
592
|
+
|
|
593
|
+
const {left, right, body} = babel_node;
|
|
594
|
+
let sibling_number = 0;
|
|
595
|
+
|
|
596
|
+
deep_iterate_babel_node_$INTERNAL(left, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
597
|
+
deep_iterate_babel_node_$INTERNAL(right, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
598
|
+
deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
599
|
+
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
// deep_iterate_babel_sequence_expression_node
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
const deep_iterate_babel_sequence_expression_node = (babel_node, depth, path, common, callback) => {
|
|
606
|
+
// value.raw is basically it.
|
|
607
|
+
|
|
608
|
+
const {expressions} = babel_node;
|
|
609
|
+
let sibling_number = 0;
|
|
610
|
+
|
|
611
|
+
//deep_iterate_babel_node_$INTERNAL(discriminant, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
612
|
+
|
|
613
|
+
each(expressions, x => deep_iterate_babel_node_$INTERNAL(x, depth + 1, path + sibling_number++ + '/', common, callback));
|
|
614
|
+
//deep_iterate_babel_node_$INTERNAL(body, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
615
|
+
|
|
616
|
+
};
|
|
617
|
+
|
|
618
|
+
// deep_iterate_babel_class_expression_node
|
|
619
|
+
const deep_iterate_babel_class_expression_node = (babel_node, depth, path, common, callback) => {
|
|
620
|
+
// value.raw is basically it.
|
|
621
|
+
|
|
622
|
+
const {id, superClass, node} = babel_node;
|
|
623
|
+
let sibling_number = 0;
|
|
624
|
+
|
|
625
|
+
if (id) deep_iterate_babel_node_$INTERNAL(id, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
626
|
+
deep_iterate_babel_node_$INTERNAL(superClass, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
627
|
+
deep_iterate_babel_node_$INTERNAL(node, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
628
|
+
|
|
629
|
+
};
|
|
630
|
+
|
|
631
|
+
// deep_iterate_babel_rest_element_node
|
|
632
|
+
const deep_iterate_babel_rest_element_node = (babel_node, depth, path, common, callback) => {
|
|
633
|
+
// value.raw is basically it.
|
|
634
|
+
|
|
635
|
+
const {argument} = babel_node;
|
|
636
|
+
let sibling_number = 0;
|
|
637
|
+
|
|
638
|
+
if (argument) deep_iterate_babel_node_$INTERNAL(argument, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
};
|
|
642
|
+
|
|
643
|
+
// deep_iterate_babel_await_expression_node
|
|
644
|
+
|
|
645
|
+
const deep_iterate_babel_await_expression_node = (babel_node, depth, path, common, callback) => {
|
|
646
|
+
// value.raw is basically it.
|
|
647
|
+
|
|
648
|
+
const {argument} = babel_node;
|
|
649
|
+
let sibling_number = 0;
|
|
650
|
+
|
|
651
|
+
if (argument) deep_iterate_babel_node_$INTERNAL(argument, depth + 1, path + sibling_number++ + '/', common, callback);
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
|
|
438
657
|
const deep_iterate_babel_node_$INTERNAL = (babel_node, depth, path, common, callback) => {
|
|
439
658
|
|
|
440
659
|
if (babel_node) {
|
|
@@ -532,8 +751,42 @@ const deep_iterate_babel_node_$INTERNAL = (babel_node, depth, path, common, call
|
|
|
532
751
|
return deep_iterate_babel_conditional_expression_node(babel_node, depth, path, common, callback);
|
|
533
752
|
} else if (type === 'Super') {
|
|
534
753
|
return deep_iterate_babel_super_node(babel_node, depth, path, common, callback);
|
|
754
|
+
} else if (type === 'FunctionDeclaration') {
|
|
755
|
+
return deep_iterate_babel_function_declaration_node(babel_node, depth, path, common, callback);
|
|
756
|
+
} else if (type === 'TemplateLiteral') {
|
|
757
|
+
return deep_iterate_babel_template_literal_node(babel_node, depth, path, common, callback);
|
|
758
|
+
} else if (type === 'TemplateElement') {
|
|
759
|
+
return deep_iterate_babel_template_element_node(babel_node, depth, path, common, callback);
|
|
760
|
+
} else if (type === 'TryStatement') {
|
|
761
|
+
return deep_iterate_babel_try_statement_node(babel_node, depth, path, common, callback);
|
|
762
|
+
} else if (type === 'CatchClause') {
|
|
763
|
+
return deep_iterate_babel_catch_clause_node(babel_node, depth, path, common, callback);
|
|
764
|
+
} else if (type === 'SwitchStatement') {
|
|
765
|
+
return deep_iterate_babel_switch_statement_node(babel_node, depth, path, common, callback);
|
|
766
|
+
} else if (type === 'SwitchCase') {
|
|
767
|
+
return deep_iterate_babel_switch_case_node(babel_node, depth, path, common, callback);
|
|
768
|
+
} else if (type === 'RegExpLiteral') {
|
|
769
|
+
return deep_iterate_babel_regexp_literal_node(babel_node, depth, path, common, callback);
|
|
770
|
+
} else if (type === 'BreakStatement') {
|
|
771
|
+
return deep_iterate_babel_break_statement_node(babel_node, depth, path, common, callback);
|
|
772
|
+
} else if (type === 'ForInStatement') {
|
|
773
|
+
return deep_iterate_babel_for_in_statement_node(babel_node, depth, path, common, callback);
|
|
774
|
+
} else if (type === 'SequenceExpression') {
|
|
775
|
+
return deep_iterate_babel_sequence_expression_node(babel_node, depth, path, common, callback);
|
|
776
|
+
} else if (type === 'ClassExpression') {
|
|
777
|
+
return deep_iterate_babel_class_expression_node(babel_node, depth, path, common, callback);
|
|
778
|
+
} else if (type === 'RestElement') {
|
|
779
|
+
return deep_iterate_babel_rest_element_node(babel_node, depth, path, common, callback);
|
|
780
|
+
} else if (type === 'AwaitExpression') {
|
|
781
|
+
return deep_iterate_babel_await_expression_node(babel_node, depth, path, common, callback);
|
|
535
782
|
} else {
|
|
536
783
|
|
|
784
|
+
// FunctionDeclaration TemplateLiteral TemplateElement TryStatement CatchClause
|
|
785
|
+
// SwitchStatement SwitchCase RegExpLiteral BreakStatement ForInStatement
|
|
786
|
+
// SequenceExpression
|
|
787
|
+
// ClassExpression
|
|
788
|
+
// RestElement (what is this?) A: ...
|
|
789
|
+
|
|
537
790
|
// Need to make this handle a template literal too.
|
|
538
791
|
|
|
539
792
|
console.log('');
|
package/server.js
CHANGED
|
@@ -246,20 +246,32 @@ class JSGUI_Server extends Evented_Class {
|
|
|
246
246
|
// website admin web interface.
|
|
247
247
|
|
|
248
248
|
ws_publisher.on('ready', () => {
|
|
249
|
+
console.log('ws publisher is ready');
|
|
249
250
|
|
|
250
|
-
|
|
251
|
+
// server not started yet though?
|
|
251
252
|
|
|
253
|
+
const ws_resource = new Website_Resource({
|
|
254
|
+
'name': 'Website Resource',
|
|
255
|
+
'website': ws_app
|
|
256
|
+
});
|
|
257
|
+
resource_pool.add(ws_resource);
|
|
258
|
+
//server_router.set_route('/*', ws_app, ws_publisher.handle_http);
|
|
259
|
+
//server_router.set_route('/*', ws_publisher.handle_http);
|
|
252
260
|
|
|
261
|
+
// Should render the Ctrl homepage at some point.
|
|
262
|
+
|
|
263
|
+
server_router.set_route('/*', ws_publisher, ws_publisher.handle_http);
|
|
264
|
+
//throw 'stop';
|
|
265
|
+
|
|
266
|
+
this.raise('ready');
|
|
253
267
|
|
|
254
268
|
|
|
255
|
-
const ws_resource = new Website_Resource({
|
|
256
|
-
'name': 'Website Resource',
|
|
257
|
-
'website': ws_app
|
|
258
269
|
});
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
263
275
|
//console.log('route has been set');
|
|
264
276
|
// ws_publisher.start();
|
|
265
277
|
}
|
|
@@ -287,6 +299,8 @@ class JSGUI_Server extends Evented_Class {
|
|
|
287
299
|
// http_port, https_port
|
|
288
300
|
|
|
289
301
|
|
|
302
|
+
// will change to observable API.
|
|
303
|
+
|
|
290
304
|
'start'(port, callback, fnProcessRequest) {
|
|
291
305
|
|
|
292
306
|
if (tof(port) !== 'number') {
|