unbalancedparentheses / gut Goto Github PK
View Code? Open in Web Editor NEWWIP, reimplementing it from scratch :scroll: gut retrieves templates and compile them to scaffold projects and create standalone files
WIP, reimplementing it from scratch :scroll: gut retrieves templates and compile them to scaffold projects and create standalone files
Configuration should have all the non {{NAME}} variables.
Example:
#{
variables => [
{"Port number", "{{PORT}}", 8080}
]
}
{error_logger,{{2014,9,21},{12,28,42}},"Can't set long node name!\nPlease check your configuration\n",[]}
{error_logger,{{2014,9,21},{12,28,42}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.21.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6,[{file,"gen_server.erl"},{line,322}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[net_sup,kernel_sup,<0.10.0>]},{messages,[]},{links,[<0.18.0>]},{dictionary,[{longnames,true}]},{trap_exit,true},{status,running},{heap_size,1598},{stack_size,27},{reductions,794}],[]]}
{error_logger,{{2014,9,21},{12,28,42}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[gut,longnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2014,9,21},{12,28,42}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2014,9,21},{12,28,42}},crash_report,[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.9.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,133}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}},{ancestors,[<0.8.0>]},{messages,[{'EXIT',<0.10.0>,normal}]},{links,[<0.8.0>,<0.7.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,376},{stack_size,27},{reductions,136}],[]]}
{error_logger,{{2014,9,21},{12,28,42}},std_info,[{application,kernel},{exited,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{kernel,start,[normal,[]]}}}"}
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k
Do not use centralized generators. Implemente github search as Yeoman genearators.
Add search command
We should be able to retrieve information from a generator. Example: which variables it supports and what they are. This should be specified on the configuration.
Search in github api should filter by default all repos that do not have gutenberg-template on name or description. Github search is way too lax.
Generators configurations could add a post install hook to run a list of commands
New command deps to get the deps and compile them
Think if we should add gut update
for updating the generators and templates present on $HOME/.gut/
Download generatos to $HOME/.gut/.
If generator is already downloaded do not download it again, use the downloaded to create new directory.
Local generators need to be added to ~/.gut
and they will appear in the search command.
We should think about the command name
This is to avoid conflicts when a target file needs to contain the word name
in its filename.
# Current
name_names.erl -> project_projects.erl
# Expected
name_names.erl -> project_names.erl
Check mix help and mix help archive for inspiration
We should follow this http://monkey.org/~marius/unix-tools-hints.html
Use erlang github instead of reimplementing it
https://github.com/inaka/erlang-github
Migrate to jsx and jsxn (maps). Since jiffy is a NIF, the .so compiled C library needs to be present on the same dir of the escriptized to make gut work. This sucks. We need to depend only on Erlang code.
For example:
{{PROJECT}}
Replace the content of this file with information for your awesome project.
If user did not provide a variable value it will print the help/description and ask for it.
Check:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.