{"id":15415987,"url":"https://github.com/jeffkreeftmeijer/shine","last_synced_at":"2025-04-19T14:24:34.478Z","repository":{"id":54741544,"uuid":"326212780","full_name":"jeffkreeftmeijer/shine","owner":"jeffkreeftmeijer","description":"A test runner for Gleam and Erlang.","archived":false,"fork":false,"pushed_at":"2021-02-01T12:09:12.000Z","size":82,"stargazers_count":13,"open_issues_count":7,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-18T18:04:19.209Z","etag":null,"topics":["erlang","gleam-lang","testing"],"latest_commit_sha":null,"homepage":"","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeffkreeftmeijer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-02T15:34:37.000Z","updated_at":"2024-07-14T02:00:12.000Z","dependencies_parsed_at":"2022-08-14T01:20:47.016Z","dependency_job_id":null,"html_url":"https://github.com/jeffkreeftmeijer/shine","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffkreeftmeijer%2Fshine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffkreeftmeijer%2Fshine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffkreeftmeijer%2Fshine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeffkreeftmeijer%2Fshine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeffkreeftmeijer","download_url":"https://codeload.github.com/jeffkreeftmeijer/shine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249712141,"owners_count":21314366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erlang","gleam-lang","testing"],"created_at":"2024-10-01T17:10:23.747Z","updated_at":"2025-04-19T14:24:34.459Z","avatar_url":"https://github.com/jeffkreeftmeijer.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ✨ Shine\n\nA work-in-progress test runner for Gleam and Erlang.\n\n![Shine Logo](./shine-github.svg)\n\n## Installation\n\nAdd Shine to `project_plugins` in your project's `rebar.config`:\n\n``` erlang\n% rebar.config\n{project_plugins, [shine]}.\n```\n\nOr, to install Shine from its git repository:\n\n``` erlang\n% rebar.config\n{project_plugins, [{shine, {git, \"https://github.com/jeffkreeftmeijer/shine.git\", {branch, \"main\"}}}]}.\n```\n\n## Usage\n\n    $ rebar3 shine\n\nFind any differences between running EUnit and Shine in your project? Please [open an issue](https://github.com/jeffkreeftmeijer/shine/issues/new).\n\n## Troubleshooting\n\nDue to https://github.com/gleam-lang/otp/issues/21, including Shine as a `project_plugin` might break compilation:\n\n    $ rebar3 shine\n    ===\u003e Fetching shine (from {git,\"https://github.com/jeffkreeftmeijer/shine.git\",\n                     {branch,\"main\"}})\n    ===\u003e Fetching gleam_otp v0.1.4\n    ===\u003e Fetching gleam_stdlib v0.12.0\n    ===\u003e Skipping gleam_stdlib v0.13.0 as an app of the same name has already been fetched\n    ===\u003e Analyzing applications...\n    ===\u003e Compiling gleam_otp\n    ===\u003e Compiling _build/default/plugins/gleam_otp/src/gleam_otp_external.erl failed\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:14: can't find include file \"gen/src/gleam@otp@process_Sender.hrl\"\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:15: can't find include file \"gen/src/gleam@otp@process_Exit.hrl\"\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:16: can't find include file \"gen/src/gleam@otp@process_PortDown.hrl\"\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:17: can't find include file \"gen/src/gleam@otp@process_ProcessDown.hrl\"\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:18: can't find include file \"gen/src/gleam@otp@process_StatusInfo.hrl\"\n\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:119: record process_down undefined\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:122: record port_down undefined\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:125: record exit undefined\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:194: record sender undefined\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:207: record status_info undefined\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:210: variable 'Debug' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:210: variable 'Mode' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:210: variable 'Parent' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:212: variable 'Mode' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:212: variable 'Parent' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:212: variable 'State' is unbound\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:214: variable 'Mod' is unbound\n\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:118: Warning: variable 'Pid' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:118: Warning: variable 'Reason' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:121: Warning: variable 'Port' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:121: Warning: variable 'Reason' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:124: Warning: variable 'Pid' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:124: Warning: variable 'Reason' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:192: Warning: variable 'Pid' is unused\n    _build/default/plugins/gleam_otp/src/gleam_otp_external.erl:193: Warning: variable 'Prepare' is unused\n\n    ===\u003e Errors loading plugin {shine,\n                                       {git,\n                                        \"https://github.com/jeffkreeftmeijer/shine.git\",\n                                        {branch,\"main\"}}}. Run rebar3 with DEBUG=1 set to see errors.\n    ===\u003e Command shine not found\n\nTo work around this, copy\nhttps://github.com/gleam-lang/otp/blob/main/gleam.toml into\n`_build/default/plugins/gleam_otp`, then manually compile gleam_otp before\nrunning `rebar3 shine`:\n\n    $ (cd _build/default/plugins/gleam_otp; \\\n      curl https://raw.githubusercontent.com/gleam-lang/otp/main/gleam.toml -o gleam.toml; \\\n      rebar3 compile)\n    $ rebar3 shine\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffkreeftmeijer%2Fshine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffkreeftmeijer%2Fshine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffkreeftmeijer%2Fshine/lists"}