open-index/open-npm huggingface dataset:
npm package: @methodus/cli
Description: @methodus/cli
Author: NodulusTeam
Latest version: 8.0.8

# -methodus-cli
@methodus/cli

The easies way to setup a new Methodus application is using the CLI.

## Commands
`methodus` -  will display the options menu -> 
```bash
? What project template would you like to generate? (Use arrow keys)
> application
  controller
  module
  service
```

`methodus application [name]` - creates a new Methodus application

`methodus generate controller [name]` - creates a new Methodus application
`methodus generate module [name]` - creates a new Methodus application
`methodus generate service [name]` - creates a new Methodus application

add `--module` to specify in which module to create the item. e.g.

`methodus g c MyControll --module=MyModule`



<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/client
Description: Zero dependencies, Browser library for Contract based API access
Author: @nodulusteam
Latest version: 3.1.28
Deprecated: Refer to @methodus/platform-web

This is a client library for the Methodus framework, but it can also be used independently.

# Methodus Client
![Quality gate](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=alert_status "Quality gate")
![rating](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=sqale_rating "rating")
![reliability](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=reliability_rating "reliability")
![coverage](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=coverage "coverage")
![vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=vulnerabilities "coverage")


# Usage
The library is used to define transport related integrations using TypeScript decorators. The decorated classes will be used to invoke the transport and deliver the call using it. For example a website using Rest calls to a remote server will abstract the Rest calls to a decorated class and then use that class instead of direct Rest access code.

Decorated client contract classes can be created manually or auto generated using the [@methodus/contracts](https://github.com/nodulusteam/-methodus-contracts) package.







 



https://github.com/nodulusteam/-methodus-client
https://github.com/nodulusteam/-methodus-server
https://github.com/nodulusteam/-methodus-describe
https://github.com/nodulusteam/-methodus-contracts
npm package: @methodus/contracts
Description: This package is part of the Methodus tollbelt. It's purpose is generating contract packages of the server code, to be used by JavaScript browser / server clients.
Author: NodulusTeam
Latest version: 8.0.9

## @Methodus contracts builder.

This package is part of the Methodus tollbelt. It's purpose is generating contract packages of the server code, to be used by JavaScript browser / server clients.

## Install

Install globally using `npm i -g @methodus/contracts`

### usage:

In the root folder of the package execute:

Client contracts
`contracts-client build.json`

Server contracts
`contracts-server build.json`

To generate a contract package you'll need a `build.json` file to instruct the builder what to inclode in the package.

### build.json instructions file

```json
{
    "models": {
        "contractNameServer": "@server/models", //the name of the server contract package
        "contractNameClient": "@client/models", //the name of the client contract package
        "buildPath": "./build_path/", // optional, where to build the package. defaults to cwd.
        "path": "build_vars/models", // optional, the path to the source package. defaults to cwd.
        "npmrc": "./.npmrc", // optional, usefull for private registry and custom npm settings, will copy the file into the package directory
        "models": {
            // models using @Model decorators
            "UserModel": {
                "path": "./models/user.model.ts"
            },
            "GroupModel": {
                "path": "./models/group.ts"
            }
        },
        "contracts": {
            // classes using @MethodConfig decorators
            "DataController": {
                "path": "./controllers/datacontroller.ts"
            },
            "Models": {
                "path": "./controllers/models.controller.ts"
            }
        },
        "includes": {
            // any file the package may need
            "Mock": {
                "alias": "mocker",
                "path": "../../build_mocks/mock.ts"
            }
        },
        "dependencies": {}
    }
}
```

The `build.json` file can contain more than one project

```json
{
    "models": {
        "contractNameServer": "@server/models",
        "contractNameClient": "@client/models"
    },
    "integrations": {
        "contractNameServer": "@server/integrations",
        "contractNameClient": "@client/integrations"
    }
}
```



<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/describe
Description: Api explorer for Methodus applications
Author: NodulusTeam
Latest version: 8.0.9

@methodus/describe

API explorer for @methodus/server

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-describe&metric=alert_status)](https://sonarcloud.io/dashboard?id=nodulusteam_-methodus-describe)

[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-describe&metric=coverage)](https://sonarcloud.io/dashboard?id=nodulusteam_-methodus-describe)

[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-describe&metric=bugs)](https://sonarcloud.io/dashboard?id=nodulusteam_-methodus-describe)
npm package: @methodus/framework-commons
Description: Commons for methodus
Author: NodulusTeam
Latest version: 8.0.8

<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')

#### ** Tests dashboard **

[tests](tests_dashboard.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/framework-decorators
Description: Server Decorators for methodus
Author: NodulusTeam
Latest version: 8.0.8

<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')

#### ** Tests dashboard **

[tests](tests_dashboard.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/framework-injection
Description: Dependency injection for methodus
Author: NodulusTeam
Latest version: 8.0.8

## @methodus/framework-injection
<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')

#### ** Tests dashboard **

[tests](tests_dashboard.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/google-spreadsheet
Description: Google Spreadsheets V4 Data API -- simple interface to read/write rows/cells, manage sheets
Author: NodulusTeam
Latest version: 2.0.0

# V4 Google Spreadsheet Access (node.js)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_methodus-spreadsheet&metric=alert_status)](https://sonarcloud.io/dashboard?id=nodulusteam_methodus-spreadsheet)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_methodus-spreadsheet&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=nodulusteam_methodus-spreadsheet)


This is a CRUD based operations package for Google sheets.


### API

```typescript
import { Sheet, getSheet, SheetDataResult } from '@methodus/google-spreadsheet';

const sheet:Sheet = getSheet(sheetId, {client_email: 'test@gmail.com',  private_key: 'XXXXXXXXXXXX'});

```

Get filtered rows
```typescript
function filter(row: SpreadsheetRow<Model>){
    return row.data.email === email
}

const result = sheet.query<Model>('Sheet1', filter, start, end, sorts);

```


Insert 
```typescript
 
const data = new Model();
const result = sheet.insert<Model>('Sheet1',data);

const result = sheet.insertMany<Model>('Sheet1',[data]);

```

Update 
```typescript
 
const data = new Model();
data.keyid = keyvalue;
const result = sheet.update<Model>('Sheet1',data);

function filter(row: SpreadsheetRow<Model>){
    return row.data.email === email
}

const result = sheet.updateBy<Model>('Sheet1',filter, data);

```



Delete 
```typescript
 
const data = new Model();
data.keyid = keyvalue;
const result = sheet.delete<Model>('Sheet1',data);

const result = sheet.deleteMany<Model>('Sheet1',[keyvalue,keyvalue,keyvalue]);

```
npm package: @methodus/platform-express
Description: Express plugin for methodus
Author: NodulusTeam
Latest version: 8.0.8

## @methodus/platform-express


Methodus platform plugin for Express.

<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/platform-rest
Description: REST plugin for methodus
Author: NodulusTeam
Latest version: 8.0.8

## @methodus/platform-rest


Methodus platform the REST transport

<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->
npm package: @methodus/platform-web
Description: Zero dependencies, Browser library for Contract based API access
Author: NodulusTeam
Latest version: 8.0.7

This is a client library for the Methodus framework, but it can also be used independently.

# Methodus Client
![Quality gate](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=alert_status "Quality gate")
![rating](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=sqale_rating "rating")
![reliability](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=reliability_rating "reliability")
![coverage](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=coverage "coverage")
![vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=nodulusteam_-methodus-client&metric=vulnerabilities "coverage")


# Usage
The library is used to define transport related integrations using TypeScript decorators. The decorated classes will be used to invoke the transport and deliver the call using it. For example a website using Rest calls to a remote server will abstract the Rest calls to a decorated class and then use that class instead of direct Rest access code.

Decorated client contract classes can be created manually or auto generated using the [@methodus/contracts](https://github.com/nodulusteam/tools/methodus-contracts) package.


<!-- tabs:start -->
#### ** Reference **

[filename](globals.md ':include')
 
#### ** Tests overview **

[tests](tests.html ':include :type=iframe width=100% height=100%')



<!-- tabs:end -->