{
  "_args": [
    [
      {
        "raw": "git://github.com/LivelyKernel/lively4-server.git",
        "scope": null,
        "escapedName": null,
        "name": null,
        "rawSpec": "git://github.com/LivelyKernel/lively4-server.git",
        "spec": "git://github.com/LivelyKernel/lively4-server.git",
        "type": "hosted",
        "hosted": {
          "type": "github",
          "ssh": "git@github.com:LivelyKernel/lively4-server.git",
          "sshUrl": "git+ssh://git@github.com/LivelyKernel/lively4-server.git",
          "httpsUrl": "git+https://github.com/LivelyKernel/lively4-server.git",
          "gitUrl": "git://github.com/LivelyKernel/lively4-server.git",
          "shortcut": "github:LivelyKernel/lively4-server",
          "directUrl": "https://raw.githubusercontent.com/LivelyKernel/lively4-server/master/package.json"
        }
      },
      "/home/lively4/lively4/lively4-services"
    ]
  ],
  "_from": "git://github.com/LivelyKernel/lively4-server.git",
  "_id": "lively4-server@1.0.1",
  "_inCache": true,
  "_installable": true,
  "_location": "/lively4-server",
  "_phantomChildren": {},
  "_requested": {
    "raw": "git://github.com/LivelyKernel/lively4-server.git",
    "scope": null,
    "escapedName": null,
    "name": null,
    "rawSpec": "git://github.com/LivelyKernel/lively4-server.git",
    "spec": "git://github.com/LivelyKernel/lively4-server.git",
    "type": "hosted",
    "hosted": {
      "type": "github",
      "ssh": "git@github.com:LivelyKernel/lively4-server.git",
      "sshUrl": "git+ssh://git@github.com/LivelyKernel/lively4-server.git",
      "httpsUrl": "git+https://github.com/LivelyKernel/lively4-server.git",
      "gitUrl": "git://github.com/LivelyKernel/lively4-server.git",
      "shortcut": "github:LivelyKernel/lively4-server",
      "directUrl": "https://raw.githubusercontent.com/LivelyKernel/lively4-server/master/package.json"
    }
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "git://github.com/LivelyKernel/lively4-server.git#d76e6124e07b77162480775c5a8b9a9db72e9b9e",
  "_shasum": "e69cbc445afaa4fd6c46f7f2bf139b968beebf5f",
  "_shrinkwrap": null,
  "_spec": "git://github.com/LivelyKernel/lively4-server.git",
  "_where": "/home/lively4/lively4/lively4-services",
  "author": "",
  "bugs": {
    "url": "https://github.com/LivelyKernel/lively4-server/issues"
  },
  "dependencies": {
    "argv": "0.0.2",
    "async": "^1.5.2",
    "babel-plugin-syntax-async-functions": "^6.8.0",
    "babel-plugin-syntax-async-generators": "^6.8.0",
    "babel-plugin-transform-regenerator": "^6.9.0",
    "babel-plugin-transform-runtime": "^6.9.0",
    "babel-polyfill": "^6.9.1",
    "babel-preset-es2015": "^6.9.0",
    "babel-runtime": "^6.18.0",
    "bluebird": "^3.1.1",
    "chai": "^3.5.0",
    "express": "^4.14.0",
    "gulp": "^3.9.1",
    "gulp-babel": "^6.1.2",
    "joey": "^1.5.1",
    "js-tokens": "^1.0.3",
    "log-timestamp": "^0.1.2",
    "lunr": "^0.7.0",
    "mime": "^1.3.4",
    "mkdirp": "^0.5.1",
    "mocha": "^3.1.2",
    "natural-compare-lite": "^1.4.0",
    "q-io": "^1.13.2",
    "request": "^2.78.0",
    "slash": "^1.0.0"
  },
  "description": "Alternative to accessing GitHub directly",
  "devDependencies": {},
  "gitHead": "d76e6124e07b77162480775c5a8b9a9db72e9b9e",
  "homepage": "https://github.com/LivelyKernel/lively4-server",
  "jshintConfig": {
    "esversion": 6
  },
  "license": "ISC",
  "main": "httpServer.js",
  "name": "lively4-server",
  "optionalDependencies": {},
  "readme": "# lively4-server\nAlternative to accessing GitHub directly\n\n## Publict Example Instances ...\n\n- https://lively-kernel.org/lively4/\n- https://lively-kernel.org/lively4S2/\n\n# Setup\n\n`gulp` is needed to run the babel transpilation tasks and to start the server. Therefore install it (globally), then install the dependencies.\n\n```\ncd lively4-server\nnpm install -g gulp\nnpm install\n```\n\nThe server search exists in an external repository and is included as a git submodule. Therefore:\n```\ngit submodule init\ngit submodule update\n```\n\nThen run \n```\ngulp\n```\nThis will first transpile the code in the `src` folder and write it to `dist`, then start the server. You can also configure the served directory and the port, e.g.\n```\ngulp -p 8080 -d ../foo/bar\n```\n\nDuring development you can use \n```\ngulp watch -p 8080 -d ../foo/bar\n```\nwhich will automatically watch files in `src` folder and initiate a transpilation and server restart on changes.\n\n**!!!Update the rest of this readme!!!**\n\n\nThen, either run `node httpServer.js` directly, or use a script like bin/lively4S1.sh\n\nConfigure the served directory with `--directory=path/to/dir`.\n\n# Self-supporting development of lively4-server\n\nWe use two instances of lively4-server to evolve the system in a self supporting way.\nThe two server have each their own checkout of the git repository. \n\nEach server gets restarted in an endless loop, so errors will lead to a server restart. \n\n## Server Updating\n\nAn external watcher observes changes to the source file and restarts the server accordingly. \n\n- a) The first server pulls changes from github before (re-)starting\n- b) The source of the second server can be changed from within lively4 and pushed to github\n\n## Development / Deployment Cycles\n\nThis setup allows for two differntly long development cycles that depend on each other.\n\nThe second server allows for a very short feedback loops of changing code and restarting the server automatically. The changes can break the second server in any way without interrupting the development process. Once the server runs stable again, the changes can be commited and pushed to githup. \n\nOnce the new code is on github the first server can be asked to restart itself and before doing so, the new code gets pulled from github. If by any chances the server crashes, it will continously try to pull changes from github, allowing to push fixes from the second server to github or make the changes directly on github. \n\nThere might be problems that will require admin access or similar to the server, but these occasions should be minimalized with the new development workflow. \n\n\n## Submodules\n\n### Add\n\n```\ngit subtree add -P src/lively4-search https://github.com/LivelyKernel/lively4-search.git master\n```\n\n## Pull\n\n```\ngit subtree pull -P src/lively4-search https://github.com/LivelyKernel/lively4-search.git master\n```\n\n## Push\n\n```\ngit subtree push -P src/lively4-search https://github.com/LivelyKernel/lively4-search.git master\n```\n\n\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/LivelyKernel/lively4-server.git"
  },
  "scripts": {
    "postinstall": "gulp babel",
    "start": "node dist/httpServer.js",
    "test": "npm run postinstall && mocha dist/testServer"
  },
  "version": "1.0.1"
}
