Skip to content

Commit 544ebe4

Browse files
committed
Make new function for resolving project dependencies.
1 parent be62734 commit 544ebe4

File tree

1 file changed

+43
-69
lines changed

1 file changed

+43
-69
lines changed

src/Main.gren

Lines changed: 43 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,6 @@ parseUserArgs model compilerPath =
395395
}
396396

397397
CliParser.Repl flags ->
398-
-- TODO: DRY up package installation
399398
-- TODO: create repl project when no project outline is found
400399
Terminal.PackageInstall.readProjectOutline model.fsPermission
401400
|> Task.mapError Terminal.PackageInstall.prettifyProjectOutlineError
@@ -441,43 +440,29 @@ parseUserArgs model compilerPath =
441440

442441
CliParser.Make flags ->
443442
-- TODO: Verify correct gren compiler version
444-
Terminal.PackageInstall.readProjectOutline model.fsPermission
445-
|> Task.mapError Terminal.PackageInstall.prettifyProjectOutlineError
446-
|> Task.andThen
447-
(\projectOutline ->
448-
Terminal.PackageInstall.run
449-
{ fsPermission = model.fsPermission
450-
, cpPermission = model.cpPermission
451-
, interactive = model.interactive
452-
, useColor = model.useColor
453-
, stdout = model.stdout
454-
, stdin = model.stdin
443+
resolveProject model
444+
|> Task.map
445+
(\resolved ->
446+
Compiler.Backend.run
447+
model.cpPermission
448+
{ useColor = model.useColor
449+
, compilerPath = compilerPath
450+
, pathToString = model.pathToString
451+
, connection = initWithCommand <|
452+
Compiler.Backend.Make
453+
{ optimize = flags.optimize
454+
, sourcemaps = flags.sourcemaps
455+
, output = flags.output
456+
, report = flags.report
457+
, projectPath = resolved.projectPath
458+
, entryPoints = flags.entryPoints
459+
, outline = resolved.outline
460+
, rootSources = resolved.rootSources
461+
, dependencies = resolved.dependencies
462+
}
463+
, onComplete = CompilerRan
455464
}
456-
projectOutline
457-
|> Task.mapError Terminal.PackageInstall.prettifyError
458-
|> Task.map
459-
(\resolved ->
460-
Compiler.Backend.run
461-
model.cpPermission
462-
{ useColor = model.useColor
463-
, compilerPath = compilerPath
464-
, pathToString = model.pathToString
465-
, connection = initWithCommand <|
466-
Compiler.Backend.Make
467-
{ optimize = flags.optimize
468-
, sourcemaps = flags.sourcemaps
469-
, output = flags.output
470-
, report = flags.report
471-
, projectPath = resolved.projectPath
472-
, entryPoints = flags.entryPoints
473-
, outline = resolved.outline
474-
, rootSources = resolved.rootSources
475-
, dependencies = resolved.dependencies
476-
}
477-
, onComplete = CompilerRan
478-
}
479-
)
480-
)
465+
)
481466
|> Task.onError
482467
(\err ->
483468
Terminal.Help.prettyPrint printOpts err
@@ -519,22 +504,7 @@ parseUserArgs model compilerPath =
519504
|> Task.executeCmd
520505

521506
CliParser.Docs flags ->
522-
-- TODO: DRY up package installation
523-
Terminal.PackageInstall.readProjectOutline model.fsPermission
524-
|> Task.mapError Terminal.PackageInstall.prettifyProjectOutlineError
525-
|> Task.andThen
526-
(\projectOutline ->
527-
Terminal.PackageInstall.run
528-
{ fsPermission = model.fsPermission
529-
, cpPermission = model.cpPermission
530-
, interactive = model.interactive
531-
, useColor = model.useColor
532-
, stdout = model.stdout
533-
, stdin = model.stdin
534-
}
535-
projectOutline
536-
|> Task.mapError Terminal.PackageInstall.prettifyError
537-
)
507+
resolveProject model
538508
|> Task.map
539509
(\resolved ->
540510
Compiler.Backend.run
@@ -564,22 +534,8 @@ parseUserArgs model compilerPath =
564534
|> Task.executeCmd
565535

566536
CliParser.PackageInstall Nothing ->
567-
Terminal.PackageInstall.readProjectOutline model.fsPermission
568-
|> Task.mapError Terminal.PackageInstall.prettifyProjectOutlineError
569-
|> Task.andThen
570-
(\projectOutline ->
571-
Terminal.PackageInstall.run
572-
{ fsPermission = model.fsPermission
573-
, cpPermission = model.cpPermission
574-
, interactive = model.interactive
575-
, useColor = model.useColor
576-
, stdout = model.stdout
577-
, stdin = model.stdin
578-
}
579-
projectOutline
580-
|> Task.mapError Terminal.PackageInstall.prettifyError
581-
|> Task.map (\_ -> {})
582-
)
537+
resolveProject model
538+
|> Task.map (\_ -> {})
583539
|> Task.onError
584540
(\err ->
585541
Terminal.Help.prettyPrint printOpts err
@@ -829,3 +785,21 @@ parseUserArgs model compilerPath =
829785
}
830786
opts
831787

788+
789+
resolveProject : Model -> Task PP.Document Terminal.PackageInstall.PackageResolution
790+
resolveProject model =
791+
Terminal.PackageInstall.readProjectOutline model.fsPermission
792+
|> Task.mapError Terminal.PackageInstall.prettifyProjectOutlineError
793+
|> Task.andThen
794+
(\projectOutline ->
795+
Terminal.PackageInstall.run
796+
{ fsPermission = model.fsPermission
797+
, cpPermission = model.cpPermission
798+
, interactive = model.interactive
799+
, useColor = model.useColor
800+
, stdout = model.stdout
801+
, stdin = model.stdin
802+
}
803+
projectOutline
804+
|> Task.mapError Terminal.PackageInstall.prettifyError
805+
)

0 commit comments

Comments
 (0)