{"id":18429448,"url":"https://github.com/bigpipe/fortress","last_synced_at":"2026-03-17T14:19:07.245Z","repository":{"id":12172468,"uuid":"14771140","full_name":"bigpipe/fortress","owner":"bigpipe","description":"Fortress is designed for the defense of client side applications.","archived":false,"fork":false,"pushed_at":"2016-11-16T20:44:26.000Z","size":201,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-16T13:16:31.813Z","etag":null,"topics":[],"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/bigpipe.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":"2013-11-28T08:09:01.000Z","updated_at":"2019-07-11T15:56:18.000Z","dependencies_parsed_at":"2022-09-05T10:01:01.447Z","dependency_job_id":null,"html_url":"https://github.com/bigpipe/fortress","commit_stats":null,"previous_names":["3rd-eden/fortress"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigpipe%2Ffortress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigpipe%2Ffortress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigpipe%2Ffortress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigpipe%2Ffortress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigpipe","download_url":"https://codeload.github.com/bigpipe/fortress/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247697992,"owners_count":20981284,"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":[],"created_at":"2024-11-06T05:17:11.208Z","updated_at":"2026-03-17T14:19:02.208Z","avatar_url":"https://github.com/bigpipe.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![fortress](https://raw.github.com/3rd-Eden/fortress/master/fo%CC%88rt.jpg)\n\nFortress is the Docker for front-end applications. It allows you to your code in\na controlled and sandboxed environment. This library was originally designed for\nmy [bigpipe] project which assumes that your front-end is split up in different\npagelets or containers and each of these containers run it's own code.\n\n[bigpipe]: https://github.com/3rd-Eden/bigpipe\n\nThis project has the following ambitious goals:\n\n- Sandbox your code and it's used JavaScript primitives so other code will not\n  be affected when you extend `Array.prototype` with new methods. Nor will you\n  be affected by their changes.\n- Other code from getting broken or stopped when an error occurs in side your\n  own client code.\n- Provide a retry and reload of your code when one of these errors occurs.\n- Greater control over memory usage for single page applications as memory is\n  released when the container is destroyed.\n- Prevent mixing of `console.*` messages as each outputted in their own\n  container.\n\n## Installation\n\nWhile this library can only be used in browser environments, it's downloadable\nthrough `npm` so it can work browserify and other packaging systems. So to get\nit through npm, simply run:\n\n```\nnpm install fortress\n```\n\nFor all other use cases, I would advice you to download the `index.js` from the\nlatest stable tag. But if you are feeling adventures, you can also try the\n`master` branch.\n\n## Quick start\n\n```js\n'use strict';\n\n//\n// @TODO write actual documentations instead of this api listing.\n// \nvar fort = new Fortress({ options });\n\n//\n// fort.all returns all created containers.\n//\nfort.all();\n\n//\n// fort.id returns the container based on the id.\n//\nfort.id(id);\n\n//\n// fort.create creates a new container. If code is supplied it will\n// automatically start the newly created container. The options allows you\n// control how the container is created and which restrictions it should force\n// upon the code.\n//\n// This method returns the created `Container` instance so it can be manually\n// controlled for greater control.\n//\nfort.create('var code = 1', { options });\n\n//\n// Start the container based on the id given.\n//\nfort.start(id);\n\n//\n// Stop the container based on the given id.\n//\nfort.stop(id);\n\n//\n// Restart the container. This is the same as stopping and starting your\n// container.\n//\nfort.restart(id);\n\n//\n// When you stop a container it merely removes it from DOM. It does not mean it\n// has been destroyed completely. If you never want to run this container again,\n// kill it.\n//\nfort.kill(id);\n```\n\n## License\n\nThis work is released under MIT. Pull request, contributions and bug reports are\nencouraged.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigpipe%2Ffortress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigpipe%2Ffortress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigpipe%2Ffortress/lists"}