{"id":39129262,"url":"https://github.com/mikkotikkanen/supermon","last_synced_at":"2026-01-17T21:12:27.359Z","repository":{"id":38174635,"uuid":"221789696","full_name":"mikkotikkanen/supermon","owner":"mikkotikkanen","description":"Restart your node.js application when files change and sync your npm modules to Docker container automatically","archived":false,"fork":false,"pushed_at":"2023-01-07T13:47:14.000Z","size":3521,"stargazers_count":6,"open_issues_count":22,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-09T16:51:55.722Z","etag":null,"topics":["docker","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikkotikkanen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-14T21:27:19.000Z","updated_at":"2023-02-05T23:22:43.000Z","dependencies_parsed_at":"2023-02-07T08:17:53.380Z","dependency_job_id":null,"html_url":"https://github.com/mikkotikkanen/supermon","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/mikkotikkanen/supermon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkotikkanen%2Fsupermon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkotikkanen%2Fsupermon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkotikkanen%2Fsupermon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkotikkanen%2Fsupermon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikkotikkanen","download_url":"https://codeload.github.com/mikkotikkanen/supermon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikkotikkanen%2Fsupermon/sbom","scorecard":{"id":646361,"data":{"date":"2025-08-11","repo":{"name":"github.com/mikkotikkanen/supermon","commit":"aa629c80c500247ff167e5556f9e50d7a26c58fa"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.6,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/npm-release.yml:1","Warn: no topLevel permission defined: .github/workflows/npm-test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-release.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/mikkotikkanen/supermon/npm-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-release.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/mikkotikkanen/supermon/npm-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-test.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/mikkotikkanen/supermon/npm-test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/npm-test.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/mikkotikkanen/supermon/npm-test.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating node:10 to node:10@sha256:59531d2835edd5161c8f9512f9e095b1836f7a1fcb0ab73e005ec46047384911","Warn: npmCommand not pinned by hash: Dockerfile:7","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   3 npmCommand dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"48 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-px4h-xg32-q955","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-x2pg-mjhr-2m5x","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-44c6-4v22-4mhx","Warn: Project is vulnerable to: GHSA-4x5v-gmq8-25ch","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-vx3p-948g-6vhq","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-38fc-wpqx-33j7","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T12:14:41.563Z","repository_id":38174635,"created_at":"2025-08-21T12:14:41.563Z","updated_at":"2025-08-21T12:14:41.563Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28518611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T18:55:29.170Z","status":"ssl_error","status_checked_at":"2026-01-17T18:55:03.375Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","nodejs"],"created_at":"2026-01-17T21:12:26.666Z","updated_at":"2026-01-17T21:12:27.353Z","avatar_url":"https://github.com/mikkotikkanen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg width=\"400\" src=\"https://raw.githubusercontent.com/mikkotikkanen/supermon/master/supermon_logo.png\"\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"1432\" src=\"https://raw.githubusercontent.com/mikkotikkanen/supermon/master/supermon_screencast.gif\"\u003e\n\u003c/p\u003e\n\n[![npm version](https://badge.fury.io/js/supermon.svg)](https://badge.fury.io/js/supermon)\n[![build](https://github.com/mikkotikkanen/supermon/actions/workflows/npm-test.yml/badge.svg)](https://github.com/mikkotikkanen/supermon/actions/workflows/npm-test.yml)\n\nEase your Node.js development by _automatically restarting your application on file changes_ and\n_solve the notorious Docker node_modules sync issue_ as supermon monitors package.json file and\ninstalls any missing modules to the internal Docker volume as well. \n\nSupports TypeScript applications out of the box through [ts-node](https://www.npmjs.com/package/ts-node).\n\n## Install\n\n```bash\nnpm install supermon --save-dev\n```\n\nTo use supermon with TypeScript you also need to install `ts-node`\n\n```bash\nnpm install ts-node --save-dev\n```\n\n## Usage\n\n```bash\nsupermon [application file]\n```\n\nExamples\n\n```bash\nsupermon app.js\nsupermon app.ts\nsupermon --delay=2000 app.ts\nsupermon --delay=2000 -- app.ts --port=80\n```\n\n## Options\n\n```help\n\nOptions:\n  --config         Path to JSON config file           [default: \"supermon.json\"]\n  --watch          Directory to watch for file changes   [string] [default: \".\"]\n  --ignore         Directories to ignore for file changes                [array]\n  --ext            Comma separated list of file extensions to watch      [array]\n  --delay          How many ms to wait after file changes[number] [default: 200]\n  --exec           Executable to run the command on                     [string]\n  --legacywatch    Use polling instead of FS events                    [boolean]\n  --pmexec         Package manager executable to use   [string] [default: \"npm\"]\n  --skipfirstsync  Don't do full sync on first run                     [boolean]\n  --version        Show version number                                 [boolean]\n  --help           Show help                                           [boolean]\n  --debug          Show debug information                              [boolean]\n\nNote: If both, supermon and application arguments are provided, it is recommended\n      to use \"--\" as separator between supermon and application command \u0026 arguments.\n      Example: \"supermon --delay=2000 -- app.js --port=80\"\n\nNote: Boolean options do not require value to be specified\n\nExample use: \"supermon app.js\"\nExample use: \"supermon --delay=2000 -- app.js --port=80\"\n```\n\n### Config file\n\nSupermon supports setting all your options through single configuration file, `supermon.json`.\n\n__Example:__\n\n```json\n{\n  \"delay\": 2000\n}\n```\n\n### package.json\n\nIf you want to keep your amount of config files to minimum, you can also set the options through `supermon`\nobject in `package.json`.\n\n__Example:__\n\n```json\n{\n  \"name\": \"my-awesome-project\",\n  \"version\": \"0.0.1\",\n  \"...\": \"...\",\n  \"supermon\": {\n    \"delay\": \"2000\"\n  }\n}\n```\n\n### Environment variables \n\nAll options can also be set though environment variables with `SUPERMON_` prefix.\n\nExample:\n\n```env\nSUPERMON_DELAY=2000\n```\n\n\n## Contributing\n\n### Master branch\n\nMaster branch must always represent the current deployed state, no commits are allowed directly to\nmaster.\n\n### Feature branches\n\nAll work should be done in feature branches. Branches should have human readable name.\n\n### Merging\n\nMerging to master should happen through pull requests. Any pull request should have working tests\nfor any new added feature added in the branch, should pass existing tests and should have been\napproved by at least one person before merging.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkotikkanen%2Fsupermon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikkotikkanen%2Fsupermon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikkotikkanen%2Fsupermon/lists"}