Current section
26 Versions
Jump to
Current section
26 Versions
Compare versions
243
files changed
+5941
additions
-1198
deletions
| @@ -1,20 +1,258 @@ | |
| 1 | - # Demo |
| 1 | + # Hologram |
| 2 2 | |
| 3 | - To start your Phoenix server: |
| 3 | + ## Roadmap |
| 4 4 | |
| 5 | - * Install dependencies with `mix deps.get` |
| 6 | - * Create and migrate your database with `mix ecto.setup` |
| 7 | - * Install Node.js dependencies with `npm install` inside the `assets` directory |
| 8 | - * Start Phoenix endpoint with `mix phx.server` |
| 5 | + :white_check_mark: == DONE |
| 9 6 | |
| 10 | - Now you can visit [`localhost:4000`](http://localhost:4000) from your browser. |
| 7 | + :construction: == IN PROGRESS (partially done, some features work) |
| 11 8 | |
| 12 | - Ready to run in production? Please [check our deployment guides](https://hexdocs.pm/phoenix/deployment.html). |
| 9 | + :x: == TODO |
| 13 10 | |
| 14 | - ## Learn more |
| 11 | + ### Runtime |
| 15 12 | |
| 16 | - * Official website: https://www.phoenixframework.org/ |
| 17 | - * Guides: https://hexdocs.pm/phoenix/overview.html |
| 18 | - * Docs: https://hexdocs.pm/phoenix |
| 19 | - * Forum: https://elixirforum.com/c/phoenix-forum |
| 20 | - * Source: https://github.com/phoenixframework/phoenix |
| 13 | + #### Core |
| 14 | + |
| 15 | + | Feature | Status | Comments | |
| 16 | + | :---------- | :----------------: | :-------------------------------------------------------------- | |
| 17 | + | Actions | :white_check_mark: | | |
| 18 | + | Commands | :white_check_mark: | | |
| 19 | + | Routing | :construction: | done: paths without params, todo: params | |
| 20 | + | Session | :x: | | |
| 21 | + |
| 22 | + #### Template Engine |
| 23 | + |
| 24 | + | Feature | Status | Comments | |
| 25 | + | :-------------- | :----------------: | :-------------------------------------------------------------- | |
| 26 | + | Components | :construction: | done: stateless/stateful components, todo: props DSL | |
| 27 | + | If Directive | :construction: | done: element nodes, todo: component nodes | |
| 28 | + | Interpolation | :white_check_mark: | | |
| 29 | + | Layouts | :white_check_mark: | | |
| 30 | + | Navigation | :white_check_mark: | | |
| 31 | + | Pages | :white_check_mark: | | |
| 32 | + | Templates | :construction: | done: template in module, todo: template in separate file | |
| 33 | + | Two-Way Binding | :x: | | |
| 34 | + |
| 35 | + #### Events |
| 36 | + |
| 37 | + | Event | Status | Comments | |
| 38 | + | :------------- | :----------------: | :-------------------------------------------------------------- | |
| 39 | + | Blur | :white_check_mark: | | |
| 40 | + | Change | :construction: | done: form tags, todo: input, select, textarea tags | |
| 41 | + | Click | :construction: | done: event handling, todo: event metadata | |
| 42 | + | Focus | :x: | | |
| 43 | + | Key Down | :x: | | |
| 44 | + | Key Press | :x: | | |
| 45 | + | Key Up | :x: | | |
| 46 | + | Mouse Move | :x: | | |
| 47 | + | Params | :x: | | |
| 48 | + | Pointer Down | :construction: | done: event handling, todo: event metadata | |
| 49 | + | Pointer Up | :construction: | done: event handling, todo: event metadata | |
| 50 | + | Resize | :x: | | |
| 51 | + | Scroll | :x: | | |
| 52 | + | Select | :x: | | |
| 53 | + | Submit | :white_check_mark: | | |
| 54 | + | Tap | :x: | | |
| 55 | + | Target | :x: | | |
| 56 | + | Touch Cancel | :x: | | |
| 57 | + | Touch End | :x: | | |
| 58 | + | Touch Move | :x: | | |
| 59 | + | Touch Start | :x: | | |
| 60 | + | Transition End | :white_check_mark: | | |
| 61 | + |
| 62 | + #### Tools |
| 63 | + |
| 64 | + | Tool | Status | |
| 65 | + | :------------- | :----------------: | |
| 66 | + | Authentication | :x: | |
| 67 | + | Authorization | :x: | |
| 68 | + | Caching | :x: | |
| 69 | + | Code Reload | :x: | |
| 70 | + | Localization | :x: | |
| 71 | + | Time Travel | :x: | |
| 72 | + |
| 73 | + ### Elixir Syntax |
| 74 | + |
| 75 | + #### Types |
| 76 | + |
| 77 | + | Type | Status | |
| 78 | + | :----------------- | :----------------: | |
| 79 | + | Anonymous Function | :x: | |
| 80 | + | Atom | :white_check_mark: | |
| 81 | + | Binary | :x: | |
| 82 | + | Bitstring | :x: | |
| 83 | + | Boolean | :white_check_mark: | |
| 84 | + | Exception | :x: | |
| 85 | + | Float | :white_check_mark: | |
| 86 | + | Integer | :white_check_mark: | |
| 87 | + | IO Data | :x: | |
| 88 | + | List | :white_check_mark: | |
| 89 | + | Map | :white_check_mark: | |
| 90 | + | Nil | :white_check_mark: | |
| 91 | + | Range | :x: | |
| 92 | + | Regex | :x: | |
| 93 | + | String | :white_check_mark: | |
| 94 | + | Struct | :white_check_mark: | |
| 95 | + | Tuple | :white_check_mark: | |
| 96 | + |
| 97 | + #### Operators |
| 98 | + |
| 99 | + ##### Overridable General Operators |
| 100 | + |
| 101 | + | Operator | Status | |
| 102 | + | :------- | :----------------: | |
| 103 | + | unary + | :x: | |
| 104 | + | unary - | :x: | |
| 105 | + | + | :white_check_mark: | |
| 106 | + | - | :x: | |
| 107 | + | * | :x: | |
| 108 | + | / | :x: | |
| 109 | + | ++ | :x: | |
| 110 | + | -- | :x: | |
| 111 | + | and | :x: | |
| 112 | + | && | :white_check_mark: | |
| 113 | + | or | :x: | |
| 114 | + | \|\| | :x: | |
| 115 | + | not | :x: | |
| 116 | + | ! | :x: | |
| 117 | + | in | :x: | |
| 118 | + | not in | :x: | |
| 119 | + | @ | :white_check_mark: | |
| 120 | + | .. | :x: | |
| 121 | + | <> | :x: | |
| 122 | + | \|> | :x: | |
| 123 | + | =~ | :x: | |
| 124 | + |
| 125 | + ##### Non-Overridable General Operators |
| 126 | + |
| 127 | + | Operator | Status | |
| 128 | + | :------- | :----------------: | |
| 129 | + | ^ | :x: | |
| 130 | + | . | :white_check_mark: | |
| 131 | + | = | :white_check_mark: | |
| 132 | + | & | :x: | |
| 133 | + | :: | :x: | |
| 134 | + |
| 135 | + ##### Comparison Operators |
| 136 | + |
| 137 | + | Operator | Status | |
| 138 | + | :------- | :----------------: | |
| 139 | + | == | :white_check_mark: | |
| 140 | + | === | :x: | |
| 141 | + | != | :x: | |
| 142 | + | !== | :x: | |
| 143 | + | < | :x: | |
| 144 | + | > | :x: | |
| 145 | + | <= | :x: | |
| 146 | + | => | :x: | |
| 147 | + |
| 148 | + ##### Bitwise Module Operators |
| 149 | + |
| 150 | + | Operator | Status | |
| 151 | + | :------- | :----------------: | |
| 152 | + | &&& | :x: | |
| 153 | + | ^^^ | :x: | |
| 154 | + | <<< | :x: | |
| 155 | + | >>> | :x: | |
| 156 | + | \|\|\| | :x: | |
| 157 | + | ~~~ | :x: | |
| 158 | + |
| 159 | + #### Pattern Matching |
| 160 | + |
| 161 | + | Type | Status | |
| 162 | + | :------------ | :----------------: | |
| 163 | + | Binary | :x: | |
| 164 | + | Bitstring | :x: | |
| 165 | + | Case | :x: | |
| 166 | + | Comprehension | :x: | |
| 167 | + | List | :x: | |
| 168 | + | Map | :white_check_mark: | |
| 169 | + | Range | :x: | |
| 170 | + | Struct | :x: | |
| 171 | + | Tuple | :x: | |
| 172 | + |
| 173 | + #### Control Flow |
| 174 | + |
| 175 | + | Structure | Status | |
| 176 | + | :------------ | :----------------: | |
| 177 | + | After | :x: | |
| 178 | + | Case | :x: | |
| 179 | + | Catch | :x: | |
| 180 | + | Comprehension | :x: | |
| 181 | + | Cond | :x: | |
| 182 | + | Else (If) | :white_check_mark: | |
| 183 | + | Else (Rescue) | :x: | |
| 184 | + | Guards | :x: | |
| 185 | + | If | :white_check_mark: | |
| 186 | + | Raise | :x: | |
| 187 | + | Rescue | :x: | |
| 188 | + | Throw | :x: | |
| 189 | + | Unless | :x: | |
| 190 | + | With | :x: | |
| 191 | + |
| 192 | + #### Definitions |
| 193 | + |
| 194 | + | Structure | Status | |
| 195 | + | :--------------- | :----------------: | |
| 196 | + | Exception | :x: | |
| 197 | + | Function Head | :white_check_mark: | |
| 198 | + | Macro | :x: | |
| 199 | + | Module | :white_check_mark: | |
| 200 | + | Module Attribute | :white_check_mark: | |
| 201 | + | Private Function | :white_check_mark: | |
| 202 | + | Public Function | :white_check_mark: | |
| 203 | + |
| 204 | + |
| 205 | + #### Directives |
| 206 | + |
| 207 | + | Directive | Status | |
| 208 | + | :--------------- | :----------------: | |
| 209 | + | Alias | :white_check_mark: | |
| 210 | + | Import | :white_check_mark: | |
| 211 | + | Multi-Alias | :x: | |
| 212 | + | Require | :white_check_mark: | |
| 213 | + | Use | :white_check_mark: | |
| 214 | + |
| 215 | + #### Sigils |
| 216 | + |
| 217 | + | Sigil | Status | |
| 218 | + | :---- | :----------------: | |
| 219 | + | ~c | :x: | |
| 220 | + | ~C | :x: | |
| 221 | + | ~D | :x: | |
| 222 | + | ~N | :x: | |
| 223 | + | ~r | :x: | |
| 224 | + | ~R | :x: | |
| 225 | + | ~s | :x: | |
| 226 | + | ~S | :x: | |
| 227 | + | ~T | :x: | |
| 228 | + | ~U | :x: | |
| 229 | + | ~w | :x: | |
| 230 | + | ~W | :x: | |
| 231 | + |
| 232 | + #### Other |
| 233 | + |
| 234 | + | Feature | Status | |
| 235 | + | :----------------------------- | :----------------: | |
| 236 | + | Behaviours | :x: | |
| 237 | + | Codepoints | :x: | |
| 238 | + | Custom Sigils | :x: | |
| 239 | + | Default Arguments | :x: | |
| 240 | + | Function Capturing | :x: | |
| 241 | + | Map Update Syntax | :x: | |
| 242 | + | Module Attribute Accumulation | :x: | |
| 243 | + | Module \_\_info\_\_/1 callback | :white_check_mark: | |
| 244 | + | Module Nesting | :x: | |
| 245 | + | Protocols | :x: | |
| 246 | + | Variable rebinding | :x: | |
| 247 | + |
| 248 | + #### Not on Roadmap |
| 249 | + * Types: PID, Port, Reference |
| 250 | + * Control Flow: Exit, Receive |
| 251 | + * Operators: Custom, Overriding |
| 252 | + * Other: Erlang Libraries |
| 253 | + |
| 254 | + ### Work in progress |
| 255 | + |
| 256 | + #### Runtime / Core / Commands |
| 257 | + Done: commands trigerred by action\ |
| 258 | + Todo: commands trigerred by event |
| \ No newline at end of file |
| @@ -1,88 +1,265 @@ | |
| 1 1 | {<<"app">>,<<"hologram">>}. |
| 2 2 | {<<"build_tools">>,[<<"mix">>]}. |
| 3 | - {<<"description">>,<<"Work in progress...">>}. |
| 4 | - {<<"elixir">>,<<"~> 1.11">>}. |
| 3 | + {<<"description">>, |
| 4 | + <<"Full stack isomorphic Elixir web framework that can be used on top of Phoenix.">>}. |
| 5 | + {<<"elixir">>,<<"~> 1.13.0">>}. |
| 5 6 | {<<"files">>, |
| 6 | - [<<"lib">>,<<"lib/demo">>,<<"lib/demo/holograf">>, |
| 7 | - <<"lib/demo/holograf/transpiler">>, |
| 8 | - <<"lib/demo/holograf/transpiler/parser.ex">>, |
| 9 | - <<"lib/demo/holograf/transpiler/generator.ex">>, |
| 10 | - <<"lib/demo/holograf/transpiler/transformer.ex">>, |
| 11 | - <<"lib/demo/holograf/transpiler/ast.ex">>,<<"lib/demo/holograf/page.ex">>, |
| 12 | - <<"lib/demo/holograf/router.ex">>,<<"lib/demo/application.ex">>, |
| 13 | - <<"lib/demo/repo.ex">>,<<"lib/demo_web.ex">>,<<"lib/demo.ex">>, |
| 14 | - <<"lib/demo_web">>,<<"lib/demo_web/telemetry.ex">>, |
| 15 | - <<"lib/demo_web/holograf">>,<<"lib/demo_web/holograf/demo.ex">>, |
| 16 | - <<"lib/demo_web/gettext.ex">>,<<"lib/demo_web/router.ex">>, |
| 17 | - <<"lib/demo_web/templates">>,<<"lib/demo_web/templates/page">>, |
| 18 | - <<"lib/demo_web/templates/page/index.html.eex">>, |
| 19 | - <<"lib/demo_web/templates/layout">>, |
| 20 | - <<"lib/demo_web/templates/layout/app.html.eex">>, |
| 21 | - <<"lib/demo_web/endpoint.ex">>,<<"lib/demo_web/controllers">>, |
| 22 | - <<"lib/demo_web/controllers/holograf_controller.ex">>, |
| 23 | - <<"lib/demo_web/controllers/page_controller.ex">>,<<"lib/demo_web/views">>, |
| 24 | - <<"lib/demo_web/views/layout_view.ex">>, |
| 25 | - <<"lib/demo_web/views/page_view.ex">>, |
| 26 | - <<"lib/demo_web/views/error_helpers.ex">>, |
| 27 | - <<"lib/demo_web/views/error_view.ex">>,<<"lib/demo_web/channels">>, |
| 28 | - <<"lib/demo_web/channels/user_socket.ex">>,<<"mix.exs">>,<<"README.md">>]}. |
| 7 | + [<<"lib/hologram">>,<<"lib/hologram/ui">>,<<"lib/hologram/ui/runtime.ex">>, |
| 8 | + <<"lib/hologram/ui/link.ex">>,<<"lib/hologram/runtime.ex">>, |
| 9 | + <<"lib/hologram/commons">>,<<"lib/hologram/commons/encoder.ex">>, |
| 10 | + <<"lib/hologram/commons/typespecs.ex">>, |
| 11 | + <<"lib/hologram/commons/parser.ex">>,<<"lib/hologram/runtime">>, |
| 12 | + <<"lib/hologram/runtime/layout.ex">>,<<"lib/hologram/runtime/channel.ex">>, |
| 13 | + <<"lib/hologram/runtime/static_digest_store.ex">>, |
| 14 | + <<"lib/hologram/runtime/js.ex">>,<<"lib/hologram/runtime/page.ex">>, |
| 15 | + <<"lib/hologram/runtime/controller.ex">>, |
| 16 | + <<"lib/hologram/runtime/router_builder.ex">>, |
| 17 | + <<"lib/hologram/runtime/router.ex">>,<<"lib/hologram/runtime/watcher.ex">>, |
| 18 | + <<"lib/hologram/runtime/socket.ex">>, |
| 19 | + <<"lib/hologram/runtime/component.ex">>, |
| 20 | + <<"lib/hologram/runtime/template_store.ex">>, |
| 21 | + <<"lib/hologram/runtime/application.ex">>, |
| 22 | + <<"lib/hologram/runtime/page_digest_store.ex">>, |
| 23 | + <<"lib/hologram/runtime/commons.ex">>,<<"lib/hologram/template">>, |
| 24 | + <<"lib/hologram/template/renderers">>, |
| 25 | + <<"lib/hologram/template/renderers/page.ex">>, |
| 26 | + <<"lib/hologram/template/renderers/element_node.ex">>, |
| 27 | + <<"lib/hologram/template/renderers/component.ex">>, |
| 28 | + <<"lib/hologram/template/renderers/text_node.ex">>, |
| 29 | + <<"lib/hologram/template/renderers/expression.ex">>, |
| 30 | + <<"lib/hologram/template/renderers/node_list.ex">>, |
| 31 | + <<"lib/hologram/template/renderer.ex">>, |
| 32 | + <<"lib/hologram/template/dom_tree_builder.ex">>, |
| 33 | + <<"lib/hologram/template/encoder.ex">>, |
| 34 | + <<"lib/hologram/template/bindings_aggregator.ex">>, |
| 35 | + <<"lib/hologram/template/syntax_error.ex">>, |
| 36 | + <<"lib/hologram/template/token_html_encoder.ex">>, |
| 37 | + <<"lib/hologram/template/tag_assembler.ex">>, |
| 38 | + <<"lib/hologram/template/evaluators">>, |
| 39 | + <<"lib/hologram/template/evaluators/atom_type.ex">>, |
| 40 | + <<"lib/hologram/template/evaluators/string_type.ex">>, |
| 41 | + <<"lib/hologram/template/evaluators/addition_operator.ex">>, |
| 42 | + <<"lib/hologram/template/evaluators/integer_type.ex">>, |
| 43 | + <<"lib/hologram/template/evaluators/module_attribute_operator.ex">>, |
| 44 | + <<"lib/hologram/template/evaluators/tuple_type.ex">>, |
| 45 | + <<"lib/hologram/template/evaluators/list_type.ex">>, |
| 46 | + <<"lib/hologram/template/evaluators/boolean_type.ex">>, |
| 47 | + <<"lib/hologram/template/evaluators/text_node.ex">>, |
| 48 | + <<"lib/hologram/template/evaluators/nil_type.ex">>, |
| 49 | + <<"lib/hologram/template/evaluators/expression.ex">>, |
| 50 | + <<"lib/hologram/template/evaluators/variable.ex">>, |
| 51 | + <<"lib/hologram/template/evaluators/function_call.ex">>, |
| 52 | + <<"lib/hologram/template/evaluators/map_type.ex">>, |
| 53 | + <<"lib/hologram/template/evaluators/node_list.ex">>, |
| 54 | + <<"lib/hologram/template/evaluators/module_type.ex">>, |
| 55 | + <<"lib/hologram/template/evaluators/dot_operator.ex">>, |
| 56 | + <<"lib/hologram/template/evaluators/if_expression.ex">>, |
| 57 | + <<"lib/hologram/template/transformers">>, |
| 58 | + <<"lib/hologram/template/transformers/element_node_transformer.ex">>, |
| 59 | + <<"lib/hologram/template/transformers/component_transformer.ex">>, |
| 60 | + <<"lib/hologram/template/evaluator.ex">>, |
| 61 | + <<"lib/hologram/template/encoders">>, |
| 62 | + <<"lib/hologram/template/encoders/element_node.ex">>, |
| 63 | + <<"lib/hologram/template/encoders/component.ex">>, |
| 64 | + <<"lib/hologram/template/encoders/text_node.ex">>, |
| 65 | + <<"lib/hologram/template/encoders/expression.ex">>, |
| 66 | + <<"lib/hologram/template/encoders/node_list.ex">>, |
| 67 | + <<"lib/hologram/template/helpers.ex">>, |
| 68 | + <<"lib/hologram/template/tokenizer.ex">>, |
| 69 | + <<"lib/hologram/template/embedded_expression_parser.ex">>, |
| 70 | + <<"lib/hologram/template/builder.ex">>, |
| 71 | + <<"lib/hologram/template/parser.ex">>, |
| 72 | + <<"lib/hologram/template/transformer.ex">>, |
| 73 | + <<"lib/hologram/template/vdom.ex">>,<<"lib/hologram/utils.ex">>, |
| 74 | + <<"lib/hologram/compiler">>,<<"lib/hologram/compiler/reflection.ex">>, |
| 75 | + <<"lib/hologram/compiler/map_key_encoders">>, |
| 76 | + <<"lib/hologram/compiler/map_key_encoders/atom_type.ex">>, |
| 77 | + <<"lib/hologram/compiler/map_key_encoders/string_type.ex">>, |
| 78 | + <<"lib/hologram/compiler/map_key_encoders/integer_type.ex">>, |
| 79 | + <<"lib/hologram/compiler/map_key_encoders/boolean_type.ex">>, |
| 80 | + <<"lib/hologram/compiler/module_def_aggregators">>, |
| 81 | + <<"lib/hologram/compiler/module_def_aggregators/atom_type.ex">>, |
| 82 | + <<"lib/hologram/compiler/module_def_aggregators/equal_to_operator.ex">>, |
| 83 | + <<"lib/hologram/compiler/module_def_aggregators/string_type.ex">>, |
| 84 | + <<"lib/hologram/compiler/module_def_aggregators/elixir_atom.ex">>, |
| 85 | + <<"lib/hologram/compiler/module_def_aggregators/binary_type.ex">>, |
| 86 | + <<"lib/hologram/compiler/module_def_aggregators/boolean_and_operator.ex">>, |
| 87 | + <<"lib/hologram/compiler/module_def_aggregators/integer_type.ex">>, |
| 88 | + <<"lib/hologram/compiler/module_def_aggregators/element_node.ex">>, |
| 89 | + <<"lib/hologram/compiler/module_def_aggregators/module_attribute_operator.ex">>, |
| 90 | + <<"lib/hologram/compiler/module_def_aggregators/struct_type.ex">>, |
| 91 | + <<"lib/hologram/compiler/module_def_aggregators/tuple_type.ex">>, |
| 92 | + <<"lib/hologram/compiler/module_def_aggregators/list_type.ex">>, |
| 93 | + <<"lib/hologram/compiler/module_def_aggregators/component.ex">>, |
| 94 | + <<"lib/hologram/compiler/module_def_aggregators/not_supported_expression.ex">>, |
| 95 | + <<"lib/hologram/compiler/module_def_aggregators/boolean_type.ex">>, |
| 96 | + <<"lib/hologram/compiler/module_def_aggregators/text_node.ex">>, |
| 97 | + <<"lib/hologram/compiler/module_def_aggregators/nil_type.ex">>, |
| 98 | + <<"lib/hologram/compiler/module_def_aggregators/expression.ex">>, |
| 99 | + <<"lib/hologram/compiler/module_def_aggregators/elixir_map.ex">>, |
| 100 | + <<"lib/hologram/compiler/module_def_aggregators/function_definition.ex">>, |
| 101 | + <<"lib/hologram/compiler/module_def_aggregators/variable.ex">>, |
| 102 | + <<"lib/hologram/compiler/module_def_aggregators/function_call.ex">>, |
| 103 | + <<"lib/hologram/compiler/module_def_aggregators/map_type.ex">>, |
| 104 | + <<"lib/hologram/compiler/module_def_aggregators/elixir_tuple.ex">>, |
| 105 | + <<"lib/hologram/compiler/module_def_aggregators/elixir_list.ex">>, |
| 106 | + <<"lib/hologram/compiler/module_def_aggregators/tmp_fallback.ex">>, |
| 107 | + <<"lib/hologram/compiler/module_def_aggregators/module_type.ex">>, |
| 108 | + <<"lib/hologram/compiler/module_def_aggregators/anonymous_function_type.ex">>, |
| 109 | + <<"lib/hologram/compiler/module_def_aggregators/match_operator.ex">>, |
| 110 | + <<"lib/hologram/compiler/module_def_aggregators/dot_operator.ex">>, |
| 111 | + <<"lib/hologram/compiler/module_def_aggregators/if_expression.ex">>, |
| 112 | + <<"lib/hologram/compiler/module_def_store.ex">>, |
| 113 | + <<"lib/hologram/compiler/ir.ex">>,<<"lib/hologram/compiler/decoder.ex">>, |
| 114 | + <<"lib/hologram/compiler/call_graph_builder">>, |
| 115 | + <<"lib/hologram/compiler/call_graph_builder/atom_type.ex">>, |
| 116 | + <<"lib/hologram/compiler/call_graph_builder/equal_to_operator.ex">>, |
| 117 | + <<"lib/hologram/compiler/call_graph_builder/string_type.ex">>, |
| 118 | + <<"lib/hologram/compiler/call_graph_builder/elixir_atom.ex">>, |
| 119 | + <<"lib/hologram/compiler/call_graph_builder/binary_type.ex">>, |
| 120 | + <<"lib/hologram/compiler/call_graph_builder/access_operator.ex">>, |
| 121 | + <<"lib/hologram/compiler/call_graph_builder/boolean_and_operator.ex">>, |
| 122 | + <<"lib/hologram/compiler/call_graph_builder/addition_operator.ex">>, |
| 123 | + <<"lib/hologram/compiler/call_graph_builder/integer_type.ex">>, |
| 124 | + <<"lib/hologram/compiler/call_graph_builder/element_node.ex">>, |
| 125 | + <<"lib/hologram/compiler/call_graph_builder/module_attribute_operator.ex">>, |
| 126 | + <<"lib/hologram/compiler/call_graph_builder/struct_type.ex">>, |
| 127 | + <<"lib/hologram/compiler/call_graph_builder/tuple_type.ex">>, |
| 128 | + <<"lib/hologram/compiler/call_graph_builder/list_type.ex">>, |
| 129 | + <<"lib/hologram/compiler/call_graph_builder/component.ex">>, |
| 130 | + <<"lib/hologram/compiler/call_graph_builder/not_supported_expression.ex">>, |
| 131 | + <<"lib/hologram/compiler/call_graph_builder/module_definition.ex">>, |
| 132 | + <<"lib/hologram/compiler/call_graph_builder/boolean_type.ex">>, |
| 133 | + <<"lib/hologram/compiler/call_graph_builder/text_node.ex">>, |
| 134 | + <<"lib/hologram/compiler/call_graph_builder/nil_type.ex">>, |
| 135 | + <<"lib/hologram/compiler/call_graph_builder/expression.ex">>, |
| 136 | + <<"lib/hologram/compiler/call_graph_builder/elixir_map.ex">>, |
| 137 | + <<"lib/hologram/compiler/call_graph_builder/function_definition.ex">>, |
| 138 | + <<"lib/hologram/compiler/call_graph_builder/variable.ex">>, |
| 139 | + <<"lib/hologram/compiler/call_graph_builder/function_call.ex">>, |
| 140 | + <<"lib/hologram/compiler/call_graph_builder/map_type.ex">>, |
| 141 | + <<"lib/hologram/compiler/call_graph_builder/elixir_tuple.ex">>, |
| 142 | + <<"lib/hologram/compiler/call_graph_builder/elixir_list.ex">>, |
| 143 | + <<"lib/hologram/compiler/call_graph_builder/module_type.ex">>, |
| 144 | + <<"lib/hologram/compiler/call_graph_builder/anonymous_function_type.ex">>, |
| 145 | + <<"lib/hologram/compiler/call_graph_builder/match_operator.ex">>, |
| 146 | + <<"lib/hologram/compiler/call_graph_builder/dot_operator.ex">>, |
| 147 | + <<"lib/hologram/compiler/call_graph_builder/if_expression.ex">>, |
| 148 | + <<"lib/hologram/compiler/formatter.ex">>, |
| 149 | + <<"lib/hologram/compiler/js_encoder.ex">>, |
| 150 | + <<"lib/hologram/compiler/map_key_encoder.ex">>, |
| 151 | + <<"lib/hologram/compiler/normalizer.ex">>, |
| 152 | + <<"lib/hologram/compiler/call_graph.ex">>, |
| 153 | + <<"lib/hologram/compiler/binder.ex">>, |
| 154 | + <<"lib/hologram/compiler/transformers">>, |
| 155 | + <<"lib/hologram/compiler/transformers/addition_operator_transformer.ex">>, |
| 156 | + <<"lib/hologram/compiler/transformers/function_definition_transformer.ex">>, |
| 157 | + <<"lib/hologram/compiler/transformers/unquote_transformer.ex">>, |
| 158 | + <<"lib/hologram/compiler/transformers/alias_directive_transformer.ex">>, |
| 159 | + <<"lib/hologram/compiler/transformers/list_type_transformer.ex">>, |
| 160 | + <<"lib/hologram/compiler/transformers/if_expression_transformer.ex">>, |
| 161 | + <<"lib/hologram/compiler/transformers/struct_type_transformer.ex">>, |
| 162 | + <<"lib/hologram/compiler/transformers/access_operator_transformer.ex">>, |
| 163 | + <<"lib/hologram/compiler/transformers/match_operator_transformer.ex">>, |
| 164 | + <<"lib/hologram/compiler/transformers/require_directive_transformer.ex">>, |
| 165 | + <<"lib/hologram/compiler/transformers/map_type_transformer.ex">>, |
| 166 | + <<"lib/hologram/compiler/transformers/function_call_transformer.ex">>, |
| 167 | + <<"lib/hologram/compiler/transformers/binary_type_transformer.ex">>, |
| 168 | + <<"lib/hologram/compiler/transformers/anonymous_function_type_transformer.ex">>, |
| 169 | + <<"lib/hologram/compiler/transformers/import_directive_transformer.ex">>, |
| 170 | + <<"lib/hologram/compiler/transformers/use_directive_transformer.ex">>, |
| 171 | + <<"lib/hologram/compiler/transformers/dot_operator_transformer.ex">>, |
| 172 | + <<"lib/hologram/compiler/transformers/tuple_type_transformer.ex">>, |
| 173 | + <<"lib/hologram/compiler/transformers/quote_transformer.ex">>, |
| 174 | + <<"lib/hologram/compiler/transformers/type_operator_transformer.ex">>, |
| 175 | + <<"lib/hologram/compiler/transformers/module_type_transformer.ex">>, |
| 176 | + <<"lib/hologram/compiler/transformers/module_attribute_definition_transformer.ex">>, |
| 177 | + <<"lib/hologram/compiler/transformers/pipe_operator_transformer.ex">>, |
| 178 | + <<"lib/hologram/compiler/transformers/macro_definition_transformer.ex">>, |
| 179 | + <<"lib/hologram/compiler/transformers/equal_to_operator_transformer.ex">>, |
| 180 | + <<"lib/hologram/compiler/transformers/module_definiton_transformer.ex">>, |
| 181 | + <<"lib/hologram/compiler/transformers/boolean_and_operator_transformer.ex">>, |
| 182 | + <<"lib/hologram/compiler/evaluator.ex">>, |
| 183 | + <<"lib/hologram/compiler/helpers.ex">>,<<"lib/hologram/compiler/decoders">>, |
| 184 | + <<"lib/hologram/compiler/decoders/map_type_decoder.ex">>, |
| 185 | + <<"lib/hologram/compiler/decoders/tuple_type_decoder.ex">>, |
| 186 | + <<"lib/hologram/compiler/decoders/list_type_decoder.ex">>, |
| 187 | + <<"lib/hologram/compiler/decoders/module_type_decoder.ex">>, |
| 188 | + <<"lib/hologram/compiler/module_def_aggregator.ex">>, |
| 189 | + <<"lib/hologram/compiler/builder.ex">>, |
| 190 | + <<"lib/hologram/compiler/js_encoders">>, |
| 191 | + <<"lib/hologram/compiler/js_encoders/atom_type.ex">>, |
| 192 | + <<"lib/hologram/compiler/js_encoders/type_operator.ex">>, |
| 193 | + <<"lib/hologram/compiler/js_encoders/equal_to_operator.ex">>, |
| 194 | + <<"lib/hologram/compiler/js_encoders/string_type.ex">>, |
| 195 | + <<"lib/hologram/compiler/js_encoders/module_attribute_definition.ex">>, |
| 196 | + <<"lib/hologram/compiler/js_encoders/binary_type.ex">>, |
| 197 | + <<"lib/hologram/compiler/js_encoders/access_operator.ex">>, |
| 198 | + <<"lib/hologram/compiler/js_encoders/boolean_and_operator.ex">>, |
| 199 | + <<"lib/hologram/compiler/js_encoders/addition_operator.ex">>, |
| 200 | + <<"lib/hologram/compiler/js_encoders/integer_type.ex">>, |
| 201 | + <<"lib/hologram/compiler/js_encoders/module_attribute_operator.ex">>, |
| 202 | + <<"lib/hologram/compiler/js_encoders/struct_type.ex">>, |
| 203 | + <<"lib/hologram/compiler/js_encoders/tuple_type.ex">>, |
| 204 | + <<"lib/hologram/compiler/js_encoders/list_type.ex">>, |
| 205 | + <<"lib/hologram/compiler/js_encoders/module_definition.ex">>, |
| 206 | + <<"lib/hologram/compiler/js_encoders/boolean_type.ex">>, |
| 207 | + <<"lib/hologram/compiler/js_encoders/nil_type.ex">>, |
| 208 | + <<"lib/hologram/compiler/js_encoders/function_definition.ex">>, |
| 209 | + <<"lib/hologram/compiler/js_encoders/variable.ex">>, |
| 210 | + <<"lib/hologram/compiler/js_encoders/function_call.ex">>, |
| 211 | + <<"lib/hologram/compiler/js_encoders/map_type.ex">>, |
| 212 | + <<"lib/hologram/compiler/js_encoders/module_type.ex">>, |
| 213 | + <<"lib/hologram/compiler/js_encoders/anonymous_function_type.ex">>, |
| 214 | + <<"lib/hologram/compiler/js_encoders/match_operator.ex">>, |
| 215 | + <<"lib/hologram/compiler/js_encoders/dot_operator.ex">>, |
| 216 | + <<"lib/hologram/compiler/js_encoders/if_expression.ex">>, |
| 217 | + <<"lib/hologram/compiler/parser.ex">>, |
| 218 | + <<"lib/hologram/compiler/context.ex">>, |
| 219 | + <<"lib/hologram/compiler/resolver.ex">>, |
| 220 | + <<"lib/hologram/compiler/transformer.ex">>, |
| 221 | + <<"lib/hologram/compiler/opts.ex">>, |
| 222 | + <<"lib/hologram/compiler/call_graph_builder.ex">>, |
| 223 | + <<"lib/hologram/compiler/serializer.ex">>, |
| 224 | + <<"lib/hologram/compiler/pruner.ex">>, |
| 225 | + <<"lib/hologram/compiler/expander.ex">>,<<"mix.exs">>,<<"README.md">>]}. |
| 29 226 | {<<"licenses">>,[<<"MIT">>]}. |
| 30 227 | {<<"links">>,[{<<"GitHub">>,<<"https://github.com/segmetric/hologram">>}]}. |
| 31 228 | {<<"name">>,<<"hologram">>}. |
| 32 229 | {<<"requirements">>, |
| 33 | - [[{<<"app">>,<<"phoenix">>}, |
| 34 | - {<<"name">>,<<"phoenix">>}, |
| 35 | - {<<"optional">>,false}, |
| 36 | - {<<"repository">>,<<"hexpm">>}, |
| 37 | - {<<"requirement">>,<<"~> 1.5.8">>}], |
| 38 | - [{<<"app">>,<<"phoenix_ecto">>}, |
| 39 | - {<<"name">>,<<"phoenix_ecto">>}, |
| 40 | - {<<"optional">>,false}, |
| 41 | - {<<"repository">>,<<"hexpm">>}, |
| 42 | - {<<"requirement">>,<<"~> 4.1">>}], |
| 43 | - [{<<"app">>,<<"ecto_sql">>}, |
| 230 | + [[{<<"app">>,<<"ecto_sql">>}, |
| 44 231 | {<<"name">>,<<"ecto_sql">>}, |
| 45 232 | {<<"optional">>,false}, |
| 46 233 | {<<"repository">>,<<"hexpm">>}, |
| 47 | - {<<"requirement">>,<<"~> 3.4">>}], |
| 48 | - [{<<"app">>,<<"postgrex">>}, |
| 49 | - {<<"name">>,<<"postgrex">>}, |
| 50 | - {<<"optional">>,false}, |
| 51 | - {<<"repository">>,<<"hexpm">>}, |
| 52 | - {<<"requirement">>,<<">= 0.0.0">>}], |
| 53 | - [{<<"app">>,<<"phoenix_html">>}, |
| 54 | - {<<"name">>,<<"phoenix_html">>}, |
| 55 | - {<<"optional">>,false}, |
| 56 | - {<<"repository">>,<<"hexpm">>}, |
| 57 | - {<<"requirement">>,<<"~> 2.11">>}], |
| 58 | - [{<<"app">>,<<"phoenix_live_dashboard">>}, |
| 59 | - {<<"name">>,<<"phoenix_live_dashboard">>}, |
| 234 | + {<<"requirement">>,<<"~> 3.0">>}], |
| 235 | + [{<<"app">>,<<"esbuild">>}, |
| 236 | + {<<"name">>,<<"esbuild">>}, |
| 60 237 | {<<"optional">>,false}, |
| 61 238 | {<<"repository">>,<<"hexpm">>}, |
| 62 239 | {<<"requirement">>,<<"~> 0.4">>}], |
| 63 | - [{<<"app">>,<<"telemetry_metrics">>}, |
| 64 | - {<<"name">>,<<"telemetry_metrics">>}, |
| 240 | + [{<<"app">>,<<"file_system">>}, |
| 241 | + {<<"name">>,<<"file_system">>}, |
| 65 242 | {<<"optional">>,false}, |
| 66 243 | {<<"repository">>,<<"hexpm">>}, |
| 67 | - {<<"requirement">>,<<"~> 0.4">>}], |
| 68 | - [{<<"app">>,<<"telemetry_poller">>}, |
| 69 | - {<<"name">>,<<"telemetry_poller">>}, |
| 70 | - {<<"optional">>,false}, |
| 71 | - {<<"repository">>,<<"hexpm">>}, |
| 72 | - {<<"requirement">>,<<"~> 0.4">>}], |
| 73 | - [{<<"app">>,<<"gettext">>}, |
| 74 | - {<<"name">>,<<"gettext">>}, |
| 75 | - {<<"optional">>,false}, |
| 76 | - {<<"repository">>,<<"hexpm">>}, |
| 77 | - {<<"requirement">>,<<"~> 0.11">>}], |
| 244 | + {<<"requirement">>,<<"~> 0.2">>}], |
| 78 245 | [{<<"app">>,<<"jason">>}, |
| 79 246 | {<<"name">>,<<"jason">>}, |
| 80 247 | {<<"optional">>,false}, |
| 81 248 | {<<"repository">>,<<"hexpm">>}, |
| 82 249 | {<<"requirement">>,<<"~> 1.0">>}], |
| 250 | + [{<<"app">>,<<"libgraph">>}, |
| 251 | + {<<"name">>,<<"libgraph">>}, |
| 252 | + {<<"optional">>,false}, |
| 253 | + {<<"repository">>,<<"hexpm">>}, |
| 254 | + {<<"requirement">>,<<"~> 0.13">>}], |
| 255 | + [{<<"app">>,<<"phoenix">>}, |
| 256 | + {<<"name">>,<<"phoenix">>}, |
| 257 | + {<<"optional">>,false}, |
| 258 | + {<<"repository">>,<<"hexpm">>}, |
| 259 | + {<<"requirement">>,<<"~> 1.6">>}], |
| 83 260 | [{<<"app">>,<<"plug_cowboy">>}, |
| 84 261 | {<<"name">>,<<"plug_cowboy">>}, |
| 85 262 | {<<"optional">>,false}, |
| 86 263 | {<<"repository">>,<<"hexpm">>}, |
| 87 264 | {<<"requirement">>,<<"~> 2.0">>}]]}. |
| 88 | - {<<"version">>,<<"0.0.1">>}. |
| 265 | + {<<"version">>,<<"0.1.0">>}. |
| @@ -1,9 +0,0 @@ | |
| 1 | - defmodule Demo do |
| 2 | - @moduledoc """ |
| 3 | - Demo keeps the contexts that define your domain |
| 4 | - and business logic. |
| 5 | - |
| 6 | - Contexts are also responsible for managing your data, regardless |
| 7 | - if it comes from the database, an external API or others. |
| 8 | - """ |
| 9 | - end |
| @@ -1,34 +0,0 @@ | |
| 1 | - defmodule Demo.Application do |
| 2 | - # See https://hexdocs.pm/elixir/Application.html |
| 3 | - # for more information on OTP Applications |
| 4 | - @moduledoc false |
| 5 | - |
| 6 | - use Application |
| 7 | - |
| 8 | - def start(_type, _args) do |
| 9 | - children = [ |
| 10 | - # Start the Ecto repository |
| 11 | - Demo.Repo, |
| 12 | - # Start the Telemetry supervisor |
| 13 | - DemoWeb.Telemetry, |
| 14 | - # Start the PubSub system |
| 15 | - {Phoenix.PubSub, name: Demo.PubSub}, |
| 16 | - # Start the Endpoint (http/https) |
| 17 | - DemoWeb.Endpoint |
| 18 | - # Start a worker by calling: Demo.Worker.start_link(arg) |
| 19 | - # {Demo.Worker, arg} |
| 20 | - ] |
| 21 | - |
| 22 | - # See https://hexdocs.pm/elixir/Supervisor.html |
| 23 | - # for other strategies and supported options |
| 24 | - opts = [strategy: :one_for_one, name: Demo.Supervisor] |
| 25 | - Supervisor.start_link(children, opts) |
| 26 | - end |
| 27 | - |
| 28 | - # Tell Phoenix to update the endpoint configuration |
| 29 | - # whenever the application is updated. |
| 30 | - def config_change(changed, _new, removed) do |
| 31 | - DemoWeb.Endpoint.config_change(changed, removed) |
| 32 | - :ok |
| 33 | - end |
| 34 | - end |
| @@ -1,9 +0,0 @@ | |
| 1 | - defmodule Hologram.Page do |
| 2 | - defmacro __using__(_) do |
| 3 | - quote do |
| 4 | - import Hologram.Page |
| 5 | - end |
| 6 | - end |
| 7 | - |
| 8 | - def assign(_, _, _), do: nil |
| 9 | - end |
Loading more files…