funicular 0.0.1 → 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +79 -0
- data/README.md +66 -20
- data/Rakefile +103 -2
- data/demo/keymap_editor.html +582 -0
- data/demo/test_cable.html +179 -0
- data/demo/test_chartjs.html +235 -0
- data/demo/test_component.html +201 -0
- data/demo/test_diff_patch.html +146 -0
- data/demo/test_error_boundary.html +284 -0
- data/demo/test_router.html +257 -0
- data/demo/test_vdom.html +100 -0
- data/demo/tic-tac-toe.html +201 -0
- data/docs/architecture.md +118 -0
- data/exe/funicular +32 -0
- data/lib/funicular/assets/funicular.css +23 -0
- data/lib/funicular/assets/funicular.rb +21 -0
- data/lib/funicular/assets/funicular_debug.css +73 -0
- data/lib/funicular/assets/funicular_debug.js +183 -0
- data/lib/funicular/commands/routes.rb +69 -0
- data/lib/funicular/compiler.rb +143 -0
- data/lib/funicular/configuration.rb +76 -0
- data/lib/funicular/helpers/picoruby_helper.rb +112 -0
- data/lib/funicular/middleware.rb +123 -0
- data/lib/funicular/plugin.rb +147 -0
- data/lib/funicular/railtie.rb +26 -0
- data/lib/funicular/route_parser.rb +137 -0
- data/lib/funicular/schema.rb +167 -0
- data/lib/funicular/ssr/runtime.rb +101 -0
- data/lib/funicular/ssr.rb +51 -0
- data/lib/funicular/testing/node_runner.mjs +293 -0
- data/lib/funicular/testing/node_runner.rb +190 -0
- data/lib/funicular/testing.rb +22 -0
- data/lib/funicular/vendor/picorbc/VERSION +1 -0
- data/lib/funicular/vendor/picorbc/picorbc.js +5283 -0
- data/lib/funicular/vendor/picorbc/picorbc.wasm +0 -0
- data/lib/funicular/vendor/picoruby/VERSION +1 -0
- data/lib/funicular/vendor/picoruby/debug/init.iife.js +130 -0
- data/lib/funicular/vendor/picoruby/debug/picoruby.js +6423 -0
- data/lib/funicular/vendor/picoruby/debug/picoruby.wasm +0 -0
- data/lib/funicular/vendor/picoruby/dist/init.iife.js +130 -0
- data/lib/funicular/vendor/picoruby/dist/picoruby.js +2 -0
- data/lib/funicular/vendor/picoruby/dist/picoruby.wasm +0 -0
- data/lib/funicular/vendor/picoruby-test-node/VERSION +1 -0
- data/lib/funicular/vendor/picoruby-test-node/picoruby.js +6885 -0
- data/lib/funicular/vendor/picoruby-test-node/picoruby.wasm +0 -0
- data/lib/funicular/vendor/picoruby-test-node/picoruby.wasm.map +1 -0
- data/lib/funicular/version.rb +1 -1
- data/lib/funicular.rb +32 -1
- data/lib/generators/funicular/chat/chat_generator.rb +104 -0
- data/lib/generators/funicular/chat/templates/application_cable_channel.rb.tt +4 -0
- data/lib/generators/funicular/chat/templates/application_cable_connection.rb.tt +4 -0
- data/lib/generators/funicular/chat/templates/create_funicular_chat_messages.rb.tt +10 -0
- data/lib/generators/funicular/chat/templates/funicular_chat.css.tt +141 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_channel.rb.tt +5 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_component.rb.tt +135 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_component_picotest.rb.tt +64 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_controller.rb.tt +4 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_message.rb.tt +13 -0
- data/lib/generators/funicular/chat/templates/funicular_chat_messages_controller.rb.tt +23 -0
- data/lib/generators/funicular/chat/templates/initializer.rb.tt +4 -0
- data/lib/generators/funicular/chat/templates/show.html.erb.tt +6 -0
- data/lib/tasks/funicular.rake +218 -0
- data/minitest/fixtures/funicular_app/components/greeting_component.rb +16 -0
- data/minitest/fixtures/funicular_app/initializer.rb +5 -0
- data/minitest/funicular_test.rb +13 -0
- data/minitest/hydration_test.rb +87 -0
- data/minitest/plugin_test.rb +51 -0
- data/minitest/schema_test.rb +106 -0
- data/minitest/ssr_test.rb +94 -0
- data/minitest/test_helper.rb +7 -0
- data/minitest/validations_test.rb +183 -0
- data/mrbgem.rake +16 -0
- data/mrblib/0_validations.rb +206 -0
- data/mrblib/1_validators.rb +180 -0
- data/mrblib/cable.rb +432 -0
- data/mrblib/component.rb +1050 -0
- data/mrblib/debug.rb +208 -0
- data/mrblib/differ.rb +254 -0
- data/mrblib/environment_inquirer.rb +34 -0
- data/mrblib/error_boundary.rb +125 -0
- data/mrblib/file_upload.rb +192 -0
- data/mrblib/form_builder.rb +300 -0
- data/mrblib/funicular.rb +245 -0
- data/mrblib/html_serializer.rb +121 -0
- data/mrblib/http.rb +183 -0
- data/mrblib/model.rb +196 -0
- data/mrblib/patcher.rb +269 -0
- data/mrblib/router.rb +266 -0
- data/mrblib/store.rb +304 -0
- data/mrblib/store_collection.rb +171 -0
- data/mrblib/store_singleton.rb +79 -0
- data/mrblib/styles.rb +83 -0
- data/mrblib/vdom.rb +273 -0
- data/sig/cable.rbs +66 -0
- data/sig/component.rbs +149 -0
- data/sig/debug.rbs +28 -0
- data/sig/differ.rbs +18 -0
- data/sig/environment_iquirer.rbs +10 -0
- data/sig/error_boundary.rbs +14 -0
- data/sig/file_upload.rbs +18 -0
- data/sig/form_builder.rbs +29 -0
- data/sig/funicular.rbs +24 -1
- data/sig/html_serializer.rbs +20 -0
- data/sig/http.rbs +37 -0
- data/sig/model.rbs +28 -0
- data/sig/patcher.rbs +18 -0
- data/sig/router.rbs +44 -0
- data/sig/store.rbs +89 -0
- data/sig/store_collection.rbs +43 -0
- data/sig/store_singleton.rbs +19 -0
- data/sig/styles.rbs +25 -0
- data/sig/validations.rbs +103 -0
- data/sig/vdom.rbs +59 -0
- metadata +154 -8
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/emsdk/emscripten/system/lib/libc/emscripten_get_heap_size.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","/emsdk/emscripten/system/lib/libc/sbrk.c","/emsdk/emscripten/system/lib/libc/musl/src/exit/abort.c","/emsdk/emscripten/system/lib/libc/emscripten_memcpy_bulkmem.S","/emsdk/emscripten/system/lib/libc/emscripten_memcpy.c","/emsdk/emscripten/system/lib/libc/wasi-helpers.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/lseek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","/emsdk/emscripten/system/lib/pthread/library_pthread_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__towrite.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memchr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strnlen.c","/emsdk/emscripten/system/lib/compiler-rt/stack_limits.S","/emsdk/emscripten/system/lib/libc/emscripten_syscall_stubs.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/getpid.c","/emsdk/emscripten/system/lib/pthread/pthread_self_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c","/emsdk/emscripten/system/lib/libc/musl/src/math/frexp.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/ashlti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/lshrti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/trunctfdf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc_impl.inc","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fwrite.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memset.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vfprintf.c","/emsdk/emscripten/system/lib/libc/musl/include/math.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fprintf.c","/emsdk/emscripten/system/lib/dlmalloc.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlen.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memcmp.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_tempret.s","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_xflow.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/libm.h","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_oflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_uflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabs.c","/emsdk/emscripten/system/lib/libc/musl/src/math/pow.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multi3.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fmod.c","/emsdk/emscripten/system/lib/libc/musl/src/math/round.c","/emsdk/emscripten/system/lib/libc/musl/src/math/ceil.c","/emsdk/emscripten/system/lib/libc/musl/src/math/floor.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fflush.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/stdout.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsnprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/snprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcmp.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__overflow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/putc.h","/emsdk/emscripten/cache/sysroot/include/atomic_arch.h","/emsdk/emscripten/system/lib/libc/musl/src/internal/pthread_impl.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__toread.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fread.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/syscall_ret.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/fstatat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/stat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/fstat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/lstat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/chmod.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/umask.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/ftruncate.c","/emsdk/emscripten/system/lib/libc/musl/src/conf/sysconf.c","/emsdk/emscripten/system/lib/libc/emscripten_libc_stubs.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/unlink.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/rename.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/symlink.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/readlink.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchrnul.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strdup.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/getcwd.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memmove.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/realpath.c","/emsdk/emscripten/system/lib/libc/musl/src/env/__environ.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncmp.c","/emsdk/emscripten/system/lib/libc/musl/src/env/getenv.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/open.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/fcntl.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/close.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/read.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/write.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/dup.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/isatty.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/pipe.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/dup2.c","/emsdk/emscripten/system/lib/libc/musl/src/process/execv.c","/emsdk/emscripten/system/lib/libc/musl/src/process/execl.c","/emsdk/emscripten/system/lib/libc/musl/src/exit/_Exit.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/_exit.c","/emsdk/emscripten/system/lib/libc/musl/src/process/waitpid.c","/emsdk/emscripten/system/lib/libc/musl/src/select/select.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/pread.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/pwrite.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_gettime.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/time/nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/usleep.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/fsync.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/strerror.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/opendir.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/closedir.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/readdir.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/rewinddir.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/seekdir.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/telldir.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/mkdir.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/rmdir.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/chdir.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchr.c","/emsdk/emscripten/system/lib/libc/musl/src/env/unsetenv.c","/emsdk/emscripten/system/lib/libc/musl/src/env/putenv.c","/emsdk/emscripten/system/lib/libc/musl/src/env/setenv.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__tz.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fmodeflags.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_read.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl_add.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fdopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fclose.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__uflow.c","/emsdk/emscripten/system/lib/libc/emscripten_mmap.c","/emsdk/emscripten/system/lib/libc/musl/src/mman/mmap.c","/emsdk/emscripten/system/lib/libc/musl/src/mman/munmap.c","/emsdk/emscripten/system/lib/libc/musl/src/string/stpcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/stpncpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncpy.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/localeconv.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/shgetc.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extendsftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mul_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_lib.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mode.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/addtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_add_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extenddftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/comparetf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_compare_impl.inc","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbn.c","/emsdk/emscripten/system/lib/libc/musl/src/math/copysignl.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatunsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/subtf3.c","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbnl.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/divtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_div_impl.inc","/emsdk/emscripten/system/lib/libc/musl/src/math/__fpclassifyl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fmodl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabsl.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/floatscan.c","/emsdk/emscripten/system/lib/libc/musl/include/ctype.h","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtod.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputs.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtol.c","/emsdk/emscripten/system/lib/libc/mktime.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/sprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/atoi.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/toupper.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2_large.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__tan.c","/emsdk/emscripten/system/lib/libc/musl/src/math/tan.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sqrt.c","/emsdk/emscripten/system/lib/libc/musl/src/math/asin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/acos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/expm1.c","/emsdk/emscripten/system/lib/libc/musl/src/math/exp.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__expo2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sinh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cosh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/tanh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_divzero.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log1p.c","/emsdk/emscripten/system/lib/libc/musl/src/math/asinh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/acosh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atanh.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log10.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cbrt.c","/emsdk/emscripten/system/lib/libc/musl/src/math/ldexp.c","/emsdk/emscripten/system/lib/libc/musl/src/math/hypot.c","/emsdk/emscripten/system/lib/libc/musl/src/math/erf.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/uname.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fileno.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/ioctl.c","/emsdk/emscripten/system/lib/libc/musl/src/termios/tcgetattr.c","/emsdk/emscripten/system/lib/libc/musl/src/termios/tcsetattr.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fgets.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/perror.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigemptyset.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigaddset.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigismember.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigorset.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigandset.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/sigdelset.c","/emsdk/emscripten/system/lib/libc/raise.c","/emsdk/emscripten/system/lib/libc/pthread_sigmask.c","/emsdk/emscripten/system/lib/libc/musl/src/select/poll.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strstr.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/printf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/putc.c","/emsdk/emscripten/system/lib/compiler-rt/stack_ops.S"],"sourcesContent":[],"names":[],"mappings":"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"}
|
data/lib/funicular/version.rb
CHANGED
data/lib/funicular.rb
CHANGED
|
@@ -1,8 +1,39 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative "funicular/version"
|
|
4
|
+
require_relative "funicular/configuration"
|
|
5
|
+
require_relative "funicular/compiler"
|
|
6
|
+
require_relative "funicular/plugin"
|
|
7
|
+
require_relative "funicular/schema"
|
|
8
|
+
require_relative "funicular/ssr"
|
|
4
9
|
|
|
5
10
|
module Funicular
|
|
6
11
|
class Error < StandardError; end
|
|
7
|
-
|
|
12
|
+
|
|
13
|
+
# Path to the directory containing vendored PicoRuby.wasm builds.
|
|
14
|
+
VENDOR_PICORUBY_DIR = File.expand_path("funicular/vendor/picoruby", __dir__)
|
|
15
|
+
|
|
16
|
+
class << self
|
|
17
|
+
def configuration
|
|
18
|
+
@configuration ||= Configuration.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def configure
|
|
22
|
+
yield configuration
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Version of the @picoruby/wasm-wasi npm package whose builds are
|
|
26
|
+
# vendored under lib/funicular/vendor/picoruby/. Written by the
|
|
27
|
+
# funicular:vendor rake task at gem build time.
|
|
28
|
+
def vendored_wasm_version
|
|
29
|
+
@vendored_wasm_version ||= File.read(File.join(VENDOR_PICORUBY_DIR, "VERSION")).strip
|
|
30
|
+
rescue Errno::ENOENT
|
|
31
|
+
nil
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
if defined?(Rails)
|
|
37
|
+
require_relative "funicular/middleware"
|
|
38
|
+
require_relative "funicular/railtie"
|
|
8
39
|
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rails/generators"
|
|
4
|
+
require "rails/generators/active_record"
|
|
5
|
+
|
|
6
|
+
module Funicular
|
|
7
|
+
module Generators
|
|
8
|
+
class ChatGenerator < Rails::Generators::Base
|
|
9
|
+
include Rails::Generators::Migration
|
|
10
|
+
|
|
11
|
+
source_root File.expand_path("templates", __dir__)
|
|
12
|
+
|
|
13
|
+
def self.next_migration_number(dirname)
|
|
14
|
+
ActiveRecord::Generators::Base.next_migration_number(dirname)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def migration_version
|
|
18
|
+
"[#{ActiveRecord::Migration.current_version}]"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def create_rails_files
|
|
22
|
+
migration_template "create_funicular_chat_messages.rb.tt",
|
|
23
|
+
"db/migrate/create_funicular_chat_messages.rb"
|
|
24
|
+
template "funicular_chat_message.rb.tt",
|
|
25
|
+
"app/models/funicular_chat_message.rb"
|
|
26
|
+
template "funicular_chat_controller.rb.tt",
|
|
27
|
+
"app/controllers/funicular_chat_controller.rb"
|
|
28
|
+
template "funicular_chat_messages_controller.rb.tt",
|
|
29
|
+
"app/controllers/funicular_chat_messages_controller.rb"
|
|
30
|
+
template "application_cable_connection.rb.tt",
|
|
31
|
+
"app/channels/application_cable/connection.rb" unless File.exist?(Rails.root.join("app", "channels", "application_cable", "connection.rb"))
|
|
32
|
+
template "application_cable_channel.rb.tt",
|
|
33
|
+
"app/channels/application_cable/channel.rb" unless File.exist?(Rails.root.join("app", "channels", "application_cable", "channel.rb"))
|
|
34
|
+
template "funicular_chat_channel.rb.tt",
|
|
35
|
+
"app/channels/funicular_chat_channel.rb"
|
|
36
|
+
template "show.html.erb.tt",
|
|
37
|
+
"app/views/funicular_chat/show.html.erb"
|
|
38
|
+
template "funicular_chat.css.tt",
|
|
39
|
+
"app/assets/stylesheets/funicular_chat.css"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def create_funicular_files
|
|
43
|
+
template "funicular_chat_component.rb.tt",
|
|
44
|
+
"app/funicular/components/funicular_chat_component.rb"
|
|
45
|
+
template "funicular_chat_component_picotest.rb.tt",
|
|
46
|
+
"test/funicular/client/funicular_chat_component_picotest.rb"
|
|
47
|
+
|
|
48
|
+
@initializer_existed = File.exist?(Rails.root.join("app", "funicular", "initializer.rb"))
|
|
49
|
+
if @initializer_existed
|
|
50
|
+
say_status :skip, "app/funicular/initializer.rb already exists", :yellow
|
|
51
|
+
else
|
|
52
|
+
template "initializer.rb.tt", "app/funicular/initializer.rb"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def add_routes
|
|
57
|
+
routes_file = Rails.root.join("config", "routes.rb")
|
|
58
|
+
if File.exist?(routes_file) && File.read(routes_file).include?('get "funicular_chat"')
|
|
59
|
+
say_status :skip, "funicular_chat routes already exist", :yellow
|
|
60
|
+
return
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
route <<~ROUTES
|
|
64
|
+
get "funicular_chat", to: "funicular_chat#show"
|
|
65
|
+
get "funicular_chat/messages", to: "funicular_chat_messages#index"
|
|
66
|
+
post "funicular_chat/messages", to: "funicular_chat_messages#create"
|
|
67
|
+
ROUTES
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def add_picoruby_include_tag
|
|
71
|
+
layout = Rails.root.join("app", "views", "layouts", "application.html.erb")
|
|
72
|
+
return unless File.exist?(layout)
|
|
73
|
+
|
|
74
|
+
content = File.read(layout)
|
|
75
|
+
return if content.include?("picoruby_include_tag")
|
|
76
|
+
|
|
77
|
+
if content.include?("<%= csrf_meta_tags %>")
|
|
78
|
+
inject_into_file layout.to_s,
|
|
79
|
+
" <%= picoruby_include_tag %>\n",
|
|
80
|
+
after: " <%= csrf_meta_tags %>\n"
|
|
81
|
+
else
|
|
82
|
+
say_status :skip, "layout does not contain csrf_meta_tags; add <%= picoruby_include_tag %> manually", :yellow
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def print_next_steps
|
|
87
|
+
say ""
|
|
88
|
+
say "Funicular chat generated.", :green
|
|
89
|
+
say ""
|
|
90
|
+
say "Next steps:"
|
|
91
|
+
say " 1. Run `bin/rails db:migrate`"
|
|
92
|
+
say " 2. Run `bin/rails funicular:compile`"
|
|
93
|
+
say " 3. Open `/funicular_chat` in two browser windows"
|
|
94
|
+
say ""
|
|
95
|
+
|
|
96
|
+
if @initializer_existed
|
|
97
|
+
say "Add this route inside your existing Funicular.start block:"
|
|
98
|
+
say " router.get('/funicular_chat', to: FunicularChatComponent, as: 'funicular_chat')"
|
|
99
|
+
say ""
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
.funicular-chat {
|
|
2
|
+
min-height: 100vh;
|
|
3
|
+
background: #f3f4f6;
|
|
4
|
+
padding: 1.5rem;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.funicular-chat__panel {
|
|
8
|
+
max-width: 48rem;
|
|
9
|
+
margin: 0 auto;
|
|
10
|
+
background: #fff;
|
|
11
|
+
border: 1px solid #e5e7eb;
|
|
12
|
+
border-radius: 0.5rem;
|
|
13
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.funicular-chat__header {
|
|
18
|
+
padding: 1rem 1.25rem;
|
|
19
|
+
border-bottom: 1px solid #e5e7eb;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.funicular-chat__title {
|
|
23
|
+
margin: 0;
|
|
24
|
+
color: #111827;
|
|
25
|
+
font-size: 1.25rem;
|
|
26
|
+
font-weight: 700;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.funicular-chat__subtitle {
|
|
30
|
+
margin: 0.25rem 0 0;
|
|
31
|
+
color: #6b7280;
|
|
32
|
+
font-size: 0.875rem;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.funicular-chat__messages {
|
|
36
|
+
height: 24rem;
|
|
37
|
+
overflow-y: auto;
|
|
38
|
+
padding: 1.25rem;
|
|
39
|
+
background: #f9fafb;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.funicular-chat__empty {
|
|
43
|
+
color: #6b7280;
|
|
44
|
+
font-size: 0.875rem;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.funicular-chat__message {
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: flex-start;
|
|
50
|
+
gap: 0.75rem;
|
|
51
|
+
padding: 0.75rem;
|
|
52
|
+
margin-bottom: 0.75rem;
|
|
53
|
+
background: #fff;
|
|
54
|
+
border: 1px solid #e5e7eb;
|
|
55
|
+
border-radius: 0.375rem;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.funicular-chat__message-name {
|
|
59
|
+
flex: 0 0 auto;
|
|
60
|
+
min-width: 7rem;
|
|
61
|
+
color: #1f2937;
|
|
62
|
+
font-size: 0.875rem;
|
|
63
|
+
font-weight: 700;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.funicular-chat__message-body {
|
|
67
|
+
min-width: 0;
|
|
68
|
+
color: #374151;
|
|
69
|
+
font-size: 0.875rem;
|
|
70
|
+
overflow-wrap: anywhere;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.funicular-chat__form {
|
|
74
|
+
padding: 1.25rem;
|
|
75
|
+
border-top: 1px solid #e5e7eb;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.funicular-chat__form-row {
|
|
79
|
+
display: flex;
|
|
80
|
+
gap: 0.75rem;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.funicular-chat__input {
|
|
84
|
+
width: 100%;
|
|
85
|
+
min-width: 0;
|
|
86
|
+
padding: 0.5rem 0.75rem;
|
|
87
|
+
border: 1px solid #d1d5db;
|
|
88
|
+
border-radius: 0.375rem;
|
|
89
|
+
font: inherit;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.funicular-chat__input:focus {
|
|
93
|
+
border-color: #2563eb;
|
|
94
|
+
outline: 2px solid rgba(37, 99, 235, 0.25);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.funicular-chat__button {
|
|
98
|
+
flex: 0 0 auto;
|
|
99
|
+
padding: 0.5rem 1rem;
|
|
100
|
+
border: 0;
|
|
101
|
+
border-radius: 0.375rem;
|
|
102
|
+
font: inherit;
|
|
103
|
+
font-weight: 700;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.funicular-chat__button--enabled {
|
|
107
|
+
color: #fff;
|
|
108
|
+
background: #2563eb;
|
|
109
|
+
cursor: pointer;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.funicular-chat__button--enabled:hover {
|
|
113
|
+
background: #1d4ed8;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.funicular-chat__button--disabled {
|
|
117
|
+
color: #fff;
|
|
118
|
+
background: #2563eb;
|
|
119
|
+
cursor: not-allowed;
|
|
120
|
+
opacity: 0.5;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.funicular-chat__error {
|
|
124
|
+
margin-bottom: 0.75rem;
|
|
125
|
+
color: #b91c1c;
|
|
126
|
+
font-size: 0.875rem;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@media (max-width: 640px) {
|
|
130
|
+
.funicular-chat {
|
|
131
|
+
padding: 0.75rem;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.funicular-chat__form-row {
|
|
135
|
+
flex-direction: column;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.funicular-chat__message-name {
|
|
139
|
+
min-width: 5rem;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
class FunicularChatComponent < Funicular::Component
|
|
2
|
+
styles do
|
|
3
|
+
shell "funicular-chat"
|
|
4
|
+
panel "funicular-chat__panel"
|
|
5
|
+
header "funicular-chat__header"
|
|
6
|
+
title "funicular-chat__title"
|
|
7
|
+
subtitle "funicular-chat__subtitle"
|
|
8
|
+
messages "funicular-chat__messages"
|
|
9
|
+
empty "funicular-chat__empty"
|
|
10
|
+
message "funicular-chat__message"
|
|
11
|
+
name "funicular-chat__message-name"
|
|
12
|
+
body "funicular-chat__message-body"
|
|
13
|
+
form "funicular-chat__form"
|
|
14
|
+
row "funicular-chat__form-row"
|
|
15
|
+
input "funicular-chat__input"
|
|
16
|
+
button base: "funicular-chat__button",
|
|
17
|
+
variants: {
|
|
18
|
+
enabled: "funicular-chat__button--enabled",
|
|
19
|
+
disabled: "funicular-chat__button--disabled"
|
|
20
|
+
}
|
|
21
|
+
error "funicular-chat__error"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def initialize_state
|
|
25
|
+
{
|
|
26
|
+
name: "Rails developer",
|
|
27
|
+
body: "",
|
|
28
|
+
messages: [],
|
|
29
|
+
error: nil,
|
|
30
|
+
sending: false,
|
|
31
|
+
connected: false
|
|
32
|
+
}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def component_mounted
|
|
36
|
+
load_messages
|
|
37
|
+
subscribe
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def component_will_unmount
|
|
41
|
+
@subscription.unsubscribe if @subscription
|
|
42
|
+
@consumer.cleanup if @consumer
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def load_messages
|
|
46
|
+
Funicular::HTTP.get("/funicular_chat/messages") do |response|
|
|
47
|
+
if response.ok
|
|
48
|
+
patch(messages: response.data)
|
|
49
|
+
else
|
|
50
|
+
patch(error: response.error_message || "Failed to load messages")
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def subscribe
|
|
56
|
+
@consumer = Funicular::Cable.create_consumer("/cable")
|
|
57
|
+
@subscription = @consumer.subscriptions.create(channel: "FunicularChatChannel") do |message|
|
|
58
|
+
patch(messages: state.messages + [message])
|
|
59
|
+
end
|
|
60
|
+
@subscription.on_connected do
|
|
61
|
+
patch(connected: true)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def update_name(event)
|
|
66
|
+
patch(name: event.target[:value].to_s)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def update_body(event)
|
|
70
|
+
patch(body: event.target[:value].to_s)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def send_message(event = nil)
|
|
74
|
+
event.preventDefault if event
|
|
75
|
+
return if state.sending
|
|
76
|
+
|
|
77
|
+
name = state.name.to_s.strip
|
|
78
|
+
body = state.body.to_s.strip
|
|
79
|
+
if name == "" || body == ""
|
|
80
|
+
patch(error: "Name and message are required")
|
|
81
|
+
return
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
patch(sending: true, error: nil)
|
|
85
|
+
Funicular::HTTP.post(
|
|
86
|
+
"/funicular_chat/messages",
|
|
87
|
+
{ message: { name: name, body: body } }
|
|
88
|
+
) do |response|
|
|
89
|
+
if response.ok
|
|
90
|
+
patch(body: "", sending: false)
|
|
91
|
+
else
|
|
92
|
+
patch(error: response.error_message || "Failed to send message", sending: false)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def render
|
|
98
|
+
div(class: s.shell) do
|
|
99
|
+
div(class: s.panel) do
|
|
100
|
+
div(class: s.header) do
|
|
101
|
+
h1(class: s.title) { "Funicular Chat" }
|
|
102
|
+
p(class: s.subtitle) do
|
|
103
|
+
state.connected ? "Realtime Ruby chat over ActionCable" : "Connecting..."
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
div(class: s.messages) do
|
|
108
|
+
if state.messages.empty?
|
|
109
|
+
p(class: s.empty) { "No messages yet." }
|
|
110
|
+
else
|
|
111
|
+
state.messages.each do |message|
|
|
112
|
+
div(class: s.message, key: message["id"]) do
|
|
113
|
+
div(class: s.name) { message["name"] }
|
|
114
|
+
div(class: s.body) { message["body"] }
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
form(onsubmit: :send_message, class: s.form) do
|
|
121
|
+
if state.error
|
|
122
|
+
div(class: s.error) { state.error }
|
|
123
|
+
end
|
|
124
|
+
div(class: s.row) do
|
|
125
|
+
input(type: "text", value: state.name, placeholder: "Name", oninput: :update_name, class: s.input)
|
|
126
|
+
input(type: "text", value: state.body, placeholder: "Message", oninput: :update_body, class: s.input)
|
|
127
|
+
button(type: "submit", class: s.button(state.sending ? :disabled : :enabled), disabled: state.sending) do
|
|
128
|
+
state.sending ? "Sending..." : "Send"
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|