{"id":19090738,"url":"https://github.com/kodedninja/forkup","last_synced_at":"2025-07-23T15:32:46.233Z","repository":{"id":57240226,"uuid":"126799385","full_name":"kodedninja/forkup","owner":"kodedninja","description":"Updater for forked Beaker sites","archived":false,"fork":false,"pushed_at":"2018-04-05T17:39:21.000Z","size":10,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T00:41:25.814Z","etag":null,"topics":["beakerbrowser","dat"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kodedninja.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":"2018-03-26T08:43:11.000Z","updated_at":"2019-10-15T20:14:42.000Z","dependencies_parsed_at":"2022-08-29T22:21:32.152Z","dependency_job_id":null,"html_url":"https://github.com/kodedninja/forkup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodedninja%2Fforkup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodedninja%2Fforkup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodedninja%2Fforkup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodedninja%2Fforkup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kodedninja","download_url":"https://codeload.github.com/kodedninja/forkup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251683571,"owners_count":21626993,"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":["beakerbrowser","dat"],"created_at":"2024-11-09T03:08:52.344Z","updated_at":"2025-04-30T10:21:59.652Z","avatar_url":"https://github.com/kodedninja.png","language":"JavaScript","readme":"# forkup\nUpdater for forked Beaker sites. It simply checks the version in ```package.json``` and downloads a set of files from the upstream.\n\n## installation\n```\nnpm i -S forkup\n```\n\n## example\npackage.json:\n```javascript\n{\n\t\"update\": {\n\t\t\"url\": \"dat://b89507488b68892978dcdc6cb32e21040b2cd0fdcd304c502e17289aad10d95e/\",\n\t\t\"files\": [\n\t\t\t\"/bundle.js\"\n\t\t]\n\t}\n}\n\n```\nSomewhere in your project:\n```javascript\nconst update = require('forkup')\n\nupdate() // with package.json (recommended)\nupdate('dat://b89507488b68892978dcdc6cb32e21040b2cd0fdcd304c502e17289aad10d95e/', ['/bundle.js']) // alternatively, without package.json (not recommended)\n```\n\n## usage\nAdd an ```\"update\"``` field to your ```package.json``` (located in the root folder).\n```javascript\n{\n\t\"update\": {\n\t\t\"url\": \"\u003cupstream dat url\u003e\",\n\t\t\"files\": [\n\t\t\t\"\u003cfile\u003e\",\n\t\t\t\"\u003cfile\u003e\"\n\t\t]\n\t}\n}\n```\n\nI usually add an ```/update``` route to my Choo pages that calls this method. [See in solo](https://github.com/kodedninja/solo/blob/master/src/index.js#L57).\n\nAlternatively you can use the ```check``` and ```update``` functions separately.\n\n## api\n### ```forkup([dat_url, files])```\nParameters required only if not using ```package.json```. Updates every file in ```files``` if the version is less then the version at ```dat_url``` (the URL of the upstream site).\n\n### ```check([dat_url])```\nParameter required only if not using ```package.json```. Checks if update is available. If yes returns an ```Array```, else ```false```.\n\n### ```update(archives, [files])```\n```files``` is only required if not using ```package.json```. ```archives``` is the output of ```check```. Does the update.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodedninja%2Fforkup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkodedninja%2Fforkup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodedninja%2Fforkup/lists"}