sentry-run

Reload code changes using Sentry.run monitor
0.3.0 Latest release released

sentry-run

Build Status

A shard using Sentry for reload code changes with Sentry.run.

Installation

Add this to your application's shard.yml:

development_dependencies:
  sentry-run:
    github: faustinoaq/sentry-run

Then run shards update.

Usage

  1. Create a new process with process = Sentry.config(...)
  2. Execute Sentry.run(process) do ... end
require "kemal"
require "sentry-run"

get "/" do
  "Hello world"
end

process = Sentry.config(
  process_name: "App",
  build_command: "crystal",
  run_command: "./bin/app",
  build_args: ["build", "src/app.cr", "-o", "bin/app"],
  run_args: ["-p", "9000"])

Sentry.run(process) do
  Kemal.run
end

You can use Sentry.run for recompile and reload your code without external sentry.cr.

Default values:

process_name : String
build_command : String
run_command : String
build_args = [] of String
run_args = [] of String
files = ["src/**/*.cr", "src/**/*.ecr"]
should_build = true

How does it work?

Basically this shard checks a sentry.lock file.

When you run your code Sentry.run create a sentry.lock and then yield a block. After a code change Sentry recompiles your file and rerun a new app instance with run_command in Sentry.config.

Contributing

  1. Fork it ( https://github.com/faustinoaq/sentry-run/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Disclaimer

Sentry.run is intended for use in a development environment.

Contributors

  • faustinoaq Faustino Aguilar - creator, maintainer
sentry-run:
  github: faustinoaq/sentry-run
  version: ~> 0.3.0
License MIT
Crystal none

Authors

Dependencies 1

  • sentry ~> 0.3.0
    {'github' => 'samueleaton/sentry', 'version' => '~> 0.3.0'}

Development Dependencies 0

Dependents 0

Last synced .
search fire star recently