Current section

26 Versions

Jump to

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…