New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

rster

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rster - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

10

changelog.md
# Changelog for rster
## v0.1.3
- Update bundled dependencies
- @rster/basic@0.1.5
- @rster/common@0.1.2
- @rster/info@0.1.5
- @rster/ping@0.1.1
- @rster/types@0.1.4
- @rster/util@0.1.0
## v0.1.2

@@ -4,0 +14,0 @@

5

lib/index.d.ts

@@ -6,3 +6,4 @@ export * as basic from "@rster/basic";

import "@rster/ping";
import rster from "@rster/basic";
export default rster;
import rest from "@rster/basic";
export { rest };
export default rest;

18

lib/index.js

@@ -7,5 +7,13 @@ "use strict";

});
exports.types = exports["default"] = exports.common = exports.basic = void 0;
var _basic = _interopRequireWildcard(require("@rster/basic"));
exports.basic = _basic;
exports["default"] = exports.common = exports.basic = void 0;
Object.defineProperty(exports, "rest", {
enumerable: true,
get: function get() {
return _basic2["default"];
}
});
exports.types = void 0;
var _basic2 = _interopRequireWildcard(require("@rster/basic"));
var _basic = _basic2;
exports.basic = _basic2;
var _common = _interopRequireWildcard(require("@rster/common"));

@@ -19,4 +27,4 @@ exports.common = _common;

function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var _default = _basic["default"];
var _default = _basic2["default"];
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzaWMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJleHBvcnRzIiwiYmFzaWMiLCJfY29tbW9uIiwiY29tbW9uIiwiX3R5cGVzIiwidHlwZXMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2RlZmF1bHQiLCJyc3RlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBiYXNpYyBmcm9tIFwiQHJzdGVyL2Jhc2ljXCI7XG5leHBvcnQgKiBhcyBjb21tb24gZnJvbSBcIkByc3Rlci9jb21tb25cIjtcbmV4cG9ydCAqIGFzIHR5cGVzIGZyb20gXCJAcnN0ZXIvdHlwZXNcIjtcbmltcG9ydCBcIkByc3Rlci9pbmZvXCI7XG5pbXBvcnQgXCJAcnN0ZXIvcGluZ1wiO1xuXG5pbXBvcnQgcnN0ZXIgZnJvbSBcIkByc3Rlci9iYXNpY1wiO1xuZXhwb3J0IGRlZmF1bHQgcnN0ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFNQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFBaUNDLE9BQUEsQ0FBQUMsS0FBQSxHQUFBSixNQUFBO0FBQUEsSUFBQUssT0FBQSxHQUFBSix1QkFBQSxDQUFBQyxPQUFBO0FBQUFDLE9BQUEsQ0FBQUcsTUFBQSxHQUFBRCxPQUFBO0FBQUEsSUFBQUUsTUFBQSxHQUFBTix1QkFBQSxDQUFBQyxPQUFBO0FBQUFDLE9BQUEsQ0FBQUssS0FBQSxHQUFBRCxNQUFBO0FBSGpDTCxPQUFBO0FBQ0FBLE9BQUE7QUFBcUIsU0FBQU8seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFULHdCQUFBYSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLHVDQUFBQSxHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixHQUFBLEVBQUFXLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVgsR0FBQSxDQUFBVyxHQUFBLFNBQUFMLE1BQUEsY0FBQU4sR0FBQSxNQUFBRyxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBaEIsR0FBQSxFQUFBTSxNQUFBLFlBQUFBLE1BQUE7QUFBQSxJQUFBVyxRQUFBLEdBR05DLGlCQUFLO0FBQUE3QixPQUFBLGNBQUE0QixRQUFBIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzaWMyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX2Jhc2ljIiwiZXhwb3J0cyIsImJhc2ljIiwiX2NvbW1vbiIsImNvbW1vbiIsIl90eXBlcyIsInR5cGVzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9kZWZhdWx0IiwicmVzdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBiYXNpYyBmcm9tIFwiQHJzdGVyL2Jhc2ljXCI7XG5leHBvcnQgKiBhcyBjb21tb24gZnJvbSBcIkByc3Rlci9jb21tb25cIjtcbmV4cG9ydCAqIGFzIHR5cGVzIGZyb20gXCJAcnN0ZXIvdHlwZXNcIjtcbmltcG9ydCBcIkByc3Rlci9pbmZvXCI7XG5pbXBvcnQgXCJAcnN0ZXIvcGluZ1wiO1xuXG5pbXBvcnQgcmVzdCBmcm9tIFwiQHJzdGVyL2Jhc2ljXCI7XG5leHBvcnQgeyByZXN0IH07XG5leHBvcnQgZGVmYXVsdCByZXN0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQU1BLElBQUFBLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUFnQyxJQUFBQyxNQUFBLEdBQUFILE9BQUE7QUFBQUksT0FBQSxDQUFBQyxLQUFBLEdBQUFMLE9BQUE7QUFBQSxJQUFBTSxPQUFBLEdBQUFMLHVCQUFBLENBQUFDLE9BQUE7QUFBQUUsT0FBQSxDQUFBRyxNQUFBLEdBQUFELE9BQUE7QUFBQSxJQUFBRSxNQUFBLEdBQUFQLHVCQUFBLENBQUFDLE9BQUE7QUFBQUUsT0FBQSxDQUFBSyxLQUFBLEdBQUFELE1BQUE7QUFIaENOLE9BQUE7QUFDQUEsT0FBQTtBQUFxQixTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVYsd0JBQUFjLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsdUNBQUFBLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLEdBQUEsRUFBQVcsR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWCxHQUFBLENBQUFXLEdBQUEsU0FBQUwsTUFBQSxjQUFBTixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFoQixHQUFBLEVBQUFNLE1BQUEsWUFBQUEsTUFBQTtBQUFBLElBQUFXLFFBQUEsR0FJTkMsa0JBQUk7QUFBQTdCLE9BQUEsY0FBQTRCLFFBQUEifQ==
{
"name": "rster",
"version": "0.1.2",
"version": "0.1.3",
"description": "RSTER is a toolset for REST Api creation",

@@ -10,8 +10,8 @@ "main": "lib/index.js",

"dependencies": {
"@rster/basic": "^0.1.2",
"@rster/common": "^0.1.2",
"@rster/info": "^0.1.3",
"@rster/ping": "^0.1.1",
"@rster/types": "^0.1.1",
"@rster/util": "^0.1.0",
"@rster/basic": "0.1.5",
"@rster/common": "0.1.2",
"@rster/info": "0.1.5",
"@rster/ping": "0.1.1",
"@rster/types": "0.1.4",
"@rster/util": "0.1.0",
"debug": "^4.3.4"

@@ -28,3 +28,4 @@ },

"build:types": "tsc --emitDeclarationOnly",
"build:js": "babel src --out-dir lib --extensions \".ts,.tsx\" --source-maps inline"
"build:js": "babel src --out-dir lib --extensions \".ts,.tsx\" --source-maps inline",
"upgrade": "npm install @rster/basic@latest @rster/common@latest @rster/info@latest @rster/ping@latest @rster/types@latest @rster/util@latest --save-exact"
},

@@ -31,0 +32,0 @@ "repository": {

<a name="readme-top"></a>
[![Github Shield][github-shield]][github-url]

@@ -51,9 +52,10 @@ [![NPM Shield][npm-shield]][npm-url]

<li>
<a href="#getting-started">Getting Started</a>
<ul>
<a href="#tutorial-intro">Tutorial Intro</a>
<ol>
<li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#what-youll-need">What you'll need</a></li>
<li><a href="#installation">Installation</a></li>
</ul>
<li><a href="#getting-started">Getting Started</a></li>
</ol>
</li>
<li><a href="#usage">Usage</a></li>
<li><a href="#roadmap">Roadmap</a></li>

@@ -63,3 +65,2 @@ <li><a href="#contributing">Contributing</a></li>

<li><a href="#contact">Contact</a></li>
<li><a href="#acknowledgments">Acknowledgments</a></li>
</ol>

@@ -72,2 +73,7 @@ </details>

Rster is built to simplify creation of restful backend apis. It is a framework that allows you to build your api in a modular way. It's core framework works quite similar to express, however we provide a few tools like `@rster/builder`, `@rster/database` to drastically simplify the creation of your api and directly integrate your database. These tools are especially powerful when combined with `typescript` as all typings are generated automatically.
Also with `@rster/generator` you can generate a typescript client directly from your server-side api definition which saves you a lot of time and nerves.
_**NOTE**: This project is still in early development and features are added frequently. If you have any suggestions or ideas feel free to open an issue or pull request. `@rster/generator` and `@rster/database` are not available via npm yet. They need to be built from source and are not yet documented or tested enough to be used in production. Feel free to try them out and give feedback. Please have some patience, they take a lot of work to build and test. They will be released soon. Thanks!_
<!-- [![Product Name Screen Shot][product-screenshot]](https://example.com) -->

@@ -95,52 +101,92 @@

<!-- GETTING STARTED -->
## Tutorial Intro
## Getting Started
Hello and welcome to the rster project. Rster is the easiest way to build your backend api in nodejs. It is a framework that allows you to build your api in a modular way. Just define your library then use your functions to access and modify your data. Or directly add it to the express app using `express.use()`. It is up to you. You can even generate a typescript client directly from your server-side api definition!
### Prerequisites
Let's learn rster **rster in less than 5 minutes**.
- npm
## Prerequisites
```sh
npm install npm@latest -g
```
We recommend you to have basic knowledge of the following tools before starting:
alternatively you can use yarn
- [node.js](https://nodejs.org/en/): a JavaScript runtime built on Chrome's V8 JavaScript engine.
- [npm](https://www.npmjs.com/): a package manager for the JavaScript programming language.
```sh
npm install yarn@latest -g
```
## What you'll need
### Installation
- [Node.js](https://nodejs.org/en/download/) version 14 or higher (which comes with [npm](http://npmjs.com/)) installed on your computer.
- When installing Node.js, you are recommended to check all checkboxes related to dependencies.
- On some systems you might need to install npm separately.
1. Install the package
## Installation
```sh
npm install rster
```
### Install rster package locally
using yarn
```bash
npm install rster
```
```sh
yarn add rster
```
_alternatively you can use `yarn`_
2. Import the package
```bash
yarn add rster
```
```js
import rster from "rster";
```
### Additional Dependencies
<p align="right">(<a href="#readme-top">back to top</a>)</p>
Rster packages a few core dependencies that will help you getting started. However we have a few more dependencies that you might want to install.
You definitly want to install a worker implementation. A worker implementation is a package that allows you to run your rster application on a webserver so you can access your api from the internet.
We recommend using [@rster/worker-express](https://www.npmjs.com/package/@rster/worker-express) as it is the easiest to get started with.
<!-- USAGE EXAMPLES -->
[find more worker implementations here](/docs/category/workers)
## Usage
```bash
npm install @rster/worker-express
```
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
_alternatively you can use `yarn`_
_For more examples, please refer to the [Documentation](https://example.com)_
```bash
yarn add @rster/worker-express
```
## Getting Started
### Lets use express in our application
Firstly we want to import the rest function from rster as well as our worker's implementation. (we'll use express in this example)
```typescript
import { rest } from "rster";
import "@rster/worker-express";
```
The worker will extend the prototype of our rest api object. Types are automatically extended as well.
Next we can define the pattern of our api. We will create a simple api that returns a string when we call the `/hello` endpoint.
```typescript
const api = rest(function () {
this.get("/hello", function () {
this.action(function (req, res) {
res.status(200).json({ message: "Hello World!" }).end();
});
});
});
```
**NOTE:** It is important to use the `function()` syntax instead of the arrow function `() => {}` as the `this` keyword is not bound to the arrow function.
Now we can create a webserver using express and pass our api it using the `use` function and the `express` worker.
```typescript
import express from "express";
const app = express();
app.use(api.express());
```
_For more examples, please refer to the [Documentation][documentation-url]_
<p align="right">(<a href="#readme-top">back to top</a>)</p>

@@ -150,12 +196,13 @@

<!-- ## Roadmap
## Roadmap
- [ ] Feature 1
- [ ] Feature 2
- [ ] Feature 3
- [ ] Nested Feature
- [x] Rster base framework
- [ ] Rster advanced framework
- [x] Rster builder _(in development, heavily worked on right now, will be released soon)_
- [ ] Rster database _(in development)_
- [ ] Rster generator _(in development)_
See the [open issues](https://github.com/nsc-de/rster/issues) for a full list of proposed features (and known issues).
<p align="right">(<a href="#readme-top">back to top</a>)</p> -->
<p align="right">(<a href="#readme-top">back to top</a>)</p>

@@ -221,3 +268,3 @@ <!-- CONTRIBUTING -->

[typedoc-shield]: https://img.shields.io/badge/typedoc-darkblue?style=for-the-badge&logo=typescript
[typedoc-url]: https://nsc-de.github.io/rster/
[typedoc-url]: https://nsc-de.github.io/rster/docs/api-reference
[documentation-shield]: https://img.shields.io/badge/documentation-blue.svg?style=for-the-badge&logo=github

@@ -236,3 +283,2 @@ [documentation-url]: https://nsc-de.github.io/rster/

[license-url]: https://github.com/nsc-de/rster/blob/master/LICENSE.txt
[product-screenshot]: images/screenshot.png
[build-shield]: https://img.shields.io/github/actions/workflow/status/nsc-de/rster/ci.yml?style=for-the-badge

@@ -243,5 +289,3 @@ [build-url]: https://github.com/nsc-de/rster/actions/workflows/ci.yml

[version-shield]: https://img.shields.io/npm/v/rster.svg?style=for-the-badge
[version-url]: https://www.npmjs.com/package/rster/
[downloads-shield]: https://img.shields.io/npm/dt/rster.svg?style=for-the-badge
[downloads-url]: https://www.npmjs.com/package/rster/
[coverage-shield]: https://img.shields.io/codecov/c/github/nsc-de/rster?style=for-the-badge

@@ -248,0 +292,0 @@ [coverage-url]: https://codecov.io/gh/nsc-de/rster

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc