Cmder (cmder v0.0.4) View Source

Cmder is a runner for generic commands.

Profiles

You can define multiple cmder profiles.

config :cmder,
    tailwindcss: [
       cmd: "tailwindcss",
       path: Path.expand("../assets/node_modules/.bin", __DIR__),
       args: ~w(--input=css/app.css --output=../priv/static/assets/app.css --postcss),
       cd: Path.expand("../assets", __DIR__)
       env: %{"NODE_ENV" => "development"}
    ],
    cpx: [
      prevent_zombie: true,
      path: Path.expand("../assets/node_modules/.bin", __DIR__),
      args: ~w(static/**/* ../priv/static),
      cd: Path.expand("../assets", __DIR__)
    ]

and (for Phoenix) as watcher in your dev.exs:any()

cmder: {Cmder, :profile, [:tailwindcss, ~w(--watch)]}

If no cmd is given the profile name is being used as command.

Without profiles

You can invoke cmder also without profiles, the configuration should (for Phoenix) be done in the watcher section of your dev.exs:

cmder: {Cmder, :run, ["tailwindcss", ~w(static/**/* ../priv/static --watch), [
  prevent_zombie: true,
  path: Path.expand("../assets/node_modules/.bin", __DIR__),
  cd: Path.expand("../assets", __DIR__)
]]}

Zombie processes can be prevented by adding 'prevent_zombie' key with a truthy value. On systems with bash available the script if [Ports|https://hexdocs.pm/elixir/Port.html#module-zombie-operating-system-processes] will be used as wrapper.

Link to this section Summary

Link to this section Functions

Link to this function

profile(profile, extra_args)

View Source

Runs the given profile with args.

The given args will be appended to the configured args. The task output will be streamed directly to stdio. It returns the status of the underlying call.

Link to this function

run(cmd, extra_args, opts)

View Source