{"_id":"@bracken/noodles","_rev":"1-7dce8f2d84a9ef7d4ff86bf55226cd4c","name":"@bracken/noodles","dist-tags":{"latest":"1.6.5"},"versions":{"1.6.5":{"name":"@bracken/noodles","version":"1.6.5","description":"> #### For Gitlab viewers : > Before your following steps to add this package as a npm depedency,you should set local npm registry first. >  > ```bash > npm set registry http://npm.decobim.com > npm adduser --registry http://npm.decobim.com > ```","main":"index.js","scripts":{"start":"node main","test":""},"keywords":["node","api","proxy","transmit"],"author":{"name":"oboo chin","email":"cheng.12@live.cn","url":"github.com/obooman"},"license":"ISC","dependencies":{"@bracken/noodles-redis":"^1.1.1","@bracken/noodles-sockets":"^1.2.1","body-parser":"^1.18.3","chalk":"^2.3.0","compression":"^1.7.3","cookie-parser":"^1.4.3","cors":"^2.8.4","cross-env":"^5.1.3","debug":"^3.1.0","express":"^4.16.2","express-jwt":"^5.3.0","js-yaml":"^3.12.0","jsonwebtoken":"^8.1.0","morgan":"^1.9.0","node-fetch":"^2.2.0","redis":"^2.8.0","swagger-tools":"^0.10.4","uuid":"^3.1.0"},"gitHead":"23585efc42c09960e6f635d536c21cee14b9fe62","_id":"@bracken/noodles@1.6.5","_nodeVersion":"10.18.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-QVfaPC+GfTCD1swtdcc2pbtXjK5zszuszl/Jen4ew/7PJCgoUlHnoZT0v1/KwutvUfdhsWz78PmEPyWzuSeRhg==","shasum":"95634197afe00ed4d12fe9cf4fa0502112646566","tarball":"https://registry.npmjs.org/@bracken/noodles/-/noodles-1.6.5.tgz","fileCount":19,"unpackedSize":40249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoQPrCRA9TVsSAnZWagAAgBsP/j4tmMcX9uz1SMTg6t+8\n3Fw8N7cbTiFHt+jZR6PTZx6ohdvTztSZUSN5GNVn8z/NBYmODH40rXo/xNYA\nKeCfabqZ3tHW5n3u7tOu3pa4oXCVmH27m/cVE7IgVKBOzO3A49MGG1GMKybI\nDzxQmdLkKP9IAC32fKu2p/0P6xrIR4pDnSmWG2RCJoYSHJIizcDklDGQgGUd\nL9jjcf/6dp4eiHGmxkUaa33TY0jjgWkzPfKugb9F1ShQVfX8yg1yb859oMyR\nbiKatScpA52odlGHEYkpvGdrY985eXPaKWq8Nl3yS5UjNL1h18016AqPDqrc\n2c2gGAPM+qtB0B8xXKvQXGKkK7zMWzFpKdDDN9ZplbRkJU0B/+E5FND2IR7J\nmeXRYORtNc9VStSy3KZ6WLTA5V0dJH55L6MNKRFrzF7E/fuywdQdekxzHJe9\nAO0yfCHijva+EcFIEtBSLn6u6ALL5EA6EEI4Wtoo8v9kbmM6DZ1XuOAwnT40\nQgO4v822JPEaMHPBKP/eHuvNrv+KMIwobpuvU3wpwJtXAq9jEdu+Wku+BL++\n8GqNCnCT9A6PldKTDxDyJkEBx6QO3i+GFp6fPGrCQ9NksCUpruE4FW/sMWBy\npknyOEESEt/S8ZdkJXX8M1rADuuM7EVHxv1K1LnyGX9ONSyyAY6R/5atElWh\nbOjK\r\n=pBvK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA94UpxKHtgdhfnXO+du5dFCvZyKvCbdykyOySzU+MuUAiAxJjSlNj/1JjtonnZfWQdiIOU6076sb9m2x+I5zPnmnQ=="}]},"maintainers":[{"name":"bracken","email":"cheng.12@live.cn"}],"_npmUser":{"name":"bracken","email":"cheng.12@live.cn"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/noodles_1.6.5_1587610603353_0.49395875505650855"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-23T02:56:43.302Z","1.6.5":"2020-04-23T02:56:43.498Z","modified":"2022-04-04T20:19:42.258Z"},"maintainers":[{"name":"bracken","email":"cheng.12@live.cn"}],"description":"> #### For Gitlab viewers : > Before your following steps to add this package as a npm depedency,you should set local npm registry first. >  > ```bash > npm set registry http://npm.decobim.com > npm adduser --registry http://npm.decobim.com > ```","keywords":["node","api","proxy","transmit"],"author":{"name":"oboo chin","email":"cheng.12@live.cn","url":"github.com/obooman"},"license":"ISC","readme":"> #### For Gitlab viewers :\n> Before your following steps to add this package as a npm depedency,you should set local npm registry first.\n> \n> ```bash\n> npm set registry http://npm.decobim.com\n> npm adduser --registry http://npm.decobim.com\n> ```\n\n## Noodles\n\n![CocoaPods](https://img.shields.io/cocoapods/metrics/doc-percent/AFNetworking.svg?style=flat-square)\n![Hackage-Deps](https://img.shields.io/hackage-deps/v/lens.svg?style=flat-square)\n\nA node middle layer for proxy, websocket, api polymerization and request side effects.\n\nDemo usage in [`./exec`](./exec.js)\n\n## Get Started\n\n### install as depedency with [yarn](http://yarnpkg.org/)\n```\n$ yarn add @decobim/noodles\n```\n\n### Bootstrap noodles host server\n```js\nconst noodles = require(\"@decobim/noodles\")\n\n// noodles-sockets & noodles-redis are depedencies of noodles,\n// you can require them directly\nconst sockets = require(\"@decobim/noodles-sockets\");\nconst redises = require(\"@decobim/noodles-redis\");\n\nnoodles(\n  port: 9020,\n\n  static: path.resolve(__dirname, \"./public\"),\n\n  redis: {\n    localhost: \"redis://:@localhost/0\"\n  },\n\n  proxy: {\n    ops: {\n      from: \"/operation/v1\",\n      to: \"http://dev.api.ops.decobim.com/v1/\",\n      hooks: {\n        before: {\n          \"/identity/auth\": function(req, res) {}\n        },\n        after: {\n          \"/identity/auth\": function(req, res) {}\n        }\n      }\n    },\n    license: {\n      from: \"/license/v1\",\n      to: \"http://dev.api.license.decobim.com/v1/\"\n    }\n  },\n  sockets: {\n    channels: [\"first\", \"second\", \"third\"]\n  },\n  jwt: {\n    authlessApi: [\n      \"/identity/auth\",\n      \"/identity/project-quest-auth\",\n      \"/identity/wechat-auth\",\n      \"/admin/auth\"\n    ]\n  }\n})\n```\n\n\n## Docs\n\n### configs.port\n\n### configs.static\n\n![optional](https://img.shields.io/badge/%EF%BC%9A-OPTIONAL-blue.svg)\n\n### configs.redis\n\n![optional](https://img.shields.io/badge/%EF%BC%9A-OPTIONAL-blue.svg)\n\nredis config, each record will create a redis connection instance\n\n**format:**\n\n```js\nredis:{\n  [name]:[redis address]\n}\n```\n\nAll instances can be accessed with redises[name]\n\n```js\nconst redises = require(\"noodles-redis\")\n\nredises[name].set(\"key\",\"value\")\n```\n\nredis instance properties:\n\nProperty | Description | Demo\n------|----|----\nset | set redis value | `instance.set(key:string,value:any)`\nget | get value | `instance.get(key:string)`\ndel | delele redis record | `instance.del(key:string)`\non | attach redis sub listener | `instance.on(channel:string,callback:func)`\n\n\n### configs.proxy\n![optional](https://img.shields.io/badge/%EF%BC%9A-OPTIONAL-blue.svg)\n\nserver proxy config, each record will create a `a to b` proxy mapping,and attach origin request method to `noodles.clients`.\n\n**format**\n\n```js\nproxy:{\n [name]:{\n    from:[from path],\n    to:[target url],\n    hooks:{\n      before:{\n        [path]:callback\n      },\n      after:{\n        [path]:callback\n      }\n    }\n  }\n}\n```\n\nproxy client properties\n\n\n### configs.sockets\n![optional](https://img.shields.io/badge/%EF%BC%9A-OPTIONAL-blue.svg)\n#### configs.sockets.channels\n\n### configs.jwt \n![optional](https://img.shields.io/badge/%EF%BC%9A-OPTIONAL-blue.svg)\n#### configs.jwt.authlessApi","readmeFilename":"README.md"}