- First version. Released on an unsuspecting world.
- Generate a Component.
- generate a component with command
umu-halogen <path> <component_name>
.
- renamed
UmuHaogen.Capability.ManageCommand
toUmuHalogen.Capability.Command
- moved
UmuHalogen.Command
toUmuHalogen.Parser.Command
- removed
microlens-th
- derived lenses manually.
-
directory generation response handler refactored into one function and placed in UmuHalogen.Util, it was repeated with every directory generation function.
-
directory generation function had dirName as hardcoded texts scattered in the function. Refactored as
dirName
in where clause. -
directory existence check is scarred on every directory generation function. It has been refactored to
isDirGenerated
function and placed in UmuHalogen.Util -
file generations functions had repeated if..then..else lines. Refactored to
generateWhenFilenotExists
function. This function is stored in UmuHalogen.Util -
file generation line was repeated in every file generation function, refactored to
generateFile
, includinglogInfo ( "Generated " <> filePath )
-
"Generating" changed to "Generated", and ellipsis were removed
-
every function in file generation had the file path string scattered in the function, it is now contained in the where clause
-
ever file generation have a file checking line where it checks for the existence of the file. That line is now contained in a function and stored in UmuHalogen.Util.
-
every function in file generation had the file path string scattered in the function, it is now contained in the where clause
-
ever file generation have a file checking line where it checks for the existence of the file. That line is now contained in a function and stored in UmuHalogen.Util.
-
directory generation function had dirName as hardcoded texts scattered in the function. Refactored as
dirName
in where clause.
-
The spago file project name field was previously hardcoded. Refactored it to take use the parent directory name as project name
-
renamed UmuHalogen.Capability.LogMessage to UmuHalogen.Capability.Log
-
Generated component now has
Slot
andSProxy
. -
toPascalCase
is applied on the input for component name. -
Template files added to cabal file so the project can be install with
cabal new-install
. Thanks to @chiroptical. -
Fixed generated component typo. Thanks to @chiroptical.
-
Refactored directory generation as
dirResHandler
. This logic was previously littered in every directory generation function.
- routing is now part of initial generation.
- Home and About page are generated on initial project generation. These 2 pages are imported in the router component.
- It will generate
AppM.purs
. It will contain the bare representation of the application - Updated
Main.purs
. It initializes the router.
- Refactored file and directory generation to only contain the information about the file to be generated. The generation function is now separated.
umu-halogen route [RELATIVE_PATH_TO_PROJECT] [ROUTE_NAME]
will generate a new route. It will add the[ROUTE_NAME]
as a data constructor todata Route
, and also update therouteCoded
with the new route.
-
umu-halogen is now in it's own directory, on the same level as
purescript-ast
andpurescript-cst
. Then acabal.project
coordinates all of these projects. -
Extracted
purescript-ast
andpurescript-cst
, and deletedpurescript
private dependencies. This was done so it was easier to build with nix. -
mkModuleName
fixed.Module [ ProperName Namespace ]
is changed toModule Text
. -
created newtypes like
LinesState
instead of relying on booleans whether code needs to go to a new line.SrcLineHead
to be more descriptive instead of just using[ Int ]
. -
switched from
classy-prelude
torelude
. -
Updated app representation to include
ReaderT
. -
Created a sum type that represents all successful operations.
-
Created a sum type that represents all fail operations.
-
Errors are propagated all the way to the surface of the app, and all error handling is done there.
-
path parsing is updated to use parsec.
-
Features
- Converted positional input to named input with flags. e.g
umu-haloge init --location example
- Converted positional input to named input with flags. e.g
-
Refactor
- Removed
ReaderT
, was not using env input. This will probably be re-added later on. - Refactored nix files so the project can be run in a pure nix-shell, and
continue to be built with
nix-build
- Route syntax tree broken down for simplicity.
- Removed