open-index/open-npm huggingface dataset:
npm package: @architectnow/cypress-devops-reporter
Description: A DevOps reporter for cypress
Latest version: 1.0.2

# Dev Ops Test Reporter

A custom test reporter for Cypress derived from [cypress-testrail-reporter](https://github.com/nartc/cypress-testrail-reporter)
 that publishes test results using Azure Dev Ops [Test Management API](https://docs.microsoft.com/en-us/rest/api/azure/devops/test/?view=azure-devops-rest-5.1).
 
### Installation

`npm install cypress-devops-reporter`

### Usage

Add `cypress-devops-reporter` along with reporter configuration in the `cypress.json`:

```json5
{
    "reporter": "cypress-devops-reporter",
      "reporterOptions": {
        "pat": "{Dev Ops PAT with API permissions}",
        "organization": "{Organization Name}",
        "project": "{Project Name}",
        "planId": {TestPlanId},
        "suiteId": {TestSuiteId},
        "runName": "{The Test Run name that should be assigned for Runs created by this reporter}"
      }
}
```

Your Cypress tests should include the ID of your TestRail test case. Make sure your test case IDs are distinct from your test titles:

```Javascript
// Good:
it("C123 C124 Can authenticate a valid user", ...
it("Can authenticate a valid user C321", ...

// Bad:
it("C123Can authenticate a valid user", ...
it("Can authenticate a valid userC123", ...
```

### Reporter Options

The organization name, project name, test plan id, and test suite id can all be found as
part of the URL when viewing the Test Suite:

`https://dev.azure.com/{OrganizationName}/{ProjectName}/_testPlans/define?planId={TestPlanId}&suiteId={TestSuiteId}`

**pat**: Personal Access Token with permission to manage Test Runs

### Acknowledgements

- [Chau Tran](https://github.com/nartc), owner of the [cypress-testrail-reporter](https://github.com/nartc/cypress-testrail-reporter)
repository that was inspiration for this test reporter.
npm package: @architectnow/cypress-testrail-reporter
Author: Chau Tran
Latest version: 1.0.10

# @architectnow/cypress-testrail-reporter



A Reporter that will push **Test Results** automatically to **TestRail**. This package is tailored specifically to work with our **Test Management** strategy by creating **Test Plans**, add **Test Runs** (for each **Suite**) to the **Plan** then publish **Results** (based on **Cases**) to the **Runs**

Manual steps required: Create a Test Plan periodically. We create a Test Plan for each environment at the beginning of each Sprint. Then get a hold of that `PlanId`. Using the `PlanId` and `ProjectId`, the Reporter will fetch all **Suites** and **Cases** from the **Project** then create a **Run** for each **Suite** then publish **Results** appropriately.

### Install

```
npm i -D @architectnow/cypress-testrail-reporter
```
or

```
yarn add --dev @architectnow/cypress-testrail-reporter
```

### Configuration

We would recommend you to get familiar with [Using Reporter in Cypress](https://docs.cypress.io/guides/tooling/reporters.html). 

1. Use `@architectnow/cypress-testrail-reporter` in `cypress.json`

```typescript
{
  "reporter": "@architectnow/cypress-testrail-reporter"
}
```

2. Provide `reporterOptions`

```typescript
{
  "reporter": "@architectnow/cypress-testrail-reporter",
  "reporterOptions": {
    "domain": string // Your TestRail domain
    "username": string // Your TestRail username
    "password": string // Your Testrail password
    "projectId": number,
    "planId": number
  }
}
```

3. Follow the convention of writing test cases from the original `cypress-testrail-reporter` [https://github.com/Vivify-Ideas/cypress-testrail-reporter](https://github.com/Vivify-Ideas/cypress-testrail-reporter)

### Authentication note

We would recommend that you create a generic account for your Test Rail domain to be used by the Reporter so that Test Results aren't bound to anyone specific. Also use API Key instead of using `password`.

### Usage with `cypress-multi-reporters`

If you want to use Multi Reporters with Cypress, consider using `cypress-multi-reporters` because it's actively maintained. Setup as follow:

```
npm i -D cypress-multi-reporters
```

```typescript
// cypress.json
{
  "reporter": "cypress-multi-reporters",
  "reporterOptions": {
    "configFile": "path/to/configFile.json"
  } 
}

// configFile.json
{
  "reporterEnabled": "@architectnow/cypress-testrail-reporter, some-other-reporter",
  "architectnowCypressTestrailReporterReporterOptions": {
    "domain": string // Your TestRail domain
    "username": string // Your TestRail username
    "password": string // Your Testrail password
    "projectId": number,
    "planId": number
  }
}
```

### Credits
* [Pierre Awaragi](https://github.com/awaragi), owner of the [mocha-testrail-reporter](https://github.com/awaragi/mocha-testrail-reporter) repository that was forked.
* [Valerie Thoma](https://github.com/ValerieThoma) and [Aileen Santos](https://github.com/asantos3026) for proofreading the README.md file and making it more understandable.
* [Vivify Ideas](https://github.com/Vivify-Ideas) for the `cypress-testrail-reporter` repo.
npm package: @architecturex/components.renderif
Description: ## RenderIf
Author: ArchitectureX
Latest version: 1.0.4

# @architecturex/components.renderif

## RenderIf

The RenderIf component is a simple yet versatile React component designed to conditionally render its children based on the truthiness of the provided props. This component enhances readability and maintainability of conditional rendering logic in React applications.

### Installation

`npm install @architecturex/components.renderif`

### Props

- **children:** The content to be conditionally rendered. It can be a ReactElement or a string.
- **isTrue:** A boolean indicating whether the children should be rendered.
- **isFalse:** An optional boolean to provide an alternative condition for rendering.

### Usage

```javascript
import RenderIf from '@architecturex/components.renderif'

const MyComponent = () => {
  return (
    <div>
      <RenderIf isTrue={true}>
        <p>This will be rendered because isTrue is true</p>
      </RenderIf>

      <RenderIf isFalse={false}>
        <p>This will be rendered because isFalse is false</p>
      </RenderIf>

      <RenderIf isTrue={false}>
        <p>This will not be rendered because isTrue is false</p>
      </RenderIf>
    </div>
  )
}
```

### Contribution

Feel free to suggest improvements, report issues, or contribute to enhancing these components. Your feedback and contributions are welcome!
npm package: @architecturex/utils.config
Description: ## mergeConfig(defaults: object, userConfig: object): object
Author: Carlos Santana
Latest version: 1.0.5

# @architecturex/utils.config

## mergeConfig(defaults: object, userConfig: object): object

This utility provides functions to deeply merge objects, specifically designed for configurations. It's useful when you have a default configuration and want to override it with user-specific settings without mutating the original objects.

## Installation

`npm install @architecturex/utils.config`

## Usage

```javascript
import { mergeConfig } from '@architecturex/utils.slug'
```

Use mergeConfig to merge default and user-specific configurations:

```javascript
const defaults = {
  a: 1,
  nested: {
    value: 2
  }
}

const userConfig = {
  nested: {
    value: 3
  },
  b: 4
}

const merged = mergeConfig(defaults, userConfig)
console.log(merged) // Outputs: { a: 1, nested: { value: 3 }, b: 4 }
```

## Contribution

Feel free to suggest improvements, report issues, or contribute to enhancing the utility. Your feedback and contributions are welcome!
npm package: @architecturex/utils.dates
Description: ## cx(...classes: any): string
Author: Carlos Santana
Latest version: 1.0.1

# @architecturex/utils.cx

## cx(...classes: any): string

The cx function is a utility to conditionally concatenate class names into a single string. This is particularly useful when working with CSS in JavaScript frameworks or libraries, such as React, where class names might be dynamic.

### Installation

`npm install @architecturex/utils.cx`

### Usage

```javascript
import cx from '@architecturex/utils.cx'
```

Call the cx function with any number of arguments to concatenate them into a single string of class names:

```javascript
const className = cx('class1', 'class2', condition && 'class3')
```

### Arguments

The `cx` function can accept multiple arguments of various types:

- **String**: The string is directly added to the result.
- **Number**: Numbers are converted to strings and added to the result.
- **Array**: Nested arrays are flattened. Each element in the array is processed based on its type (can be any of the supported types).
- **Object**: Object properties that have truthy values are added to the result. For custom objects with a custom `toString` method that doesn't rely on native code, the `toString` method's output is added.

### Examples

1. Basic strings:

```javascript
cx('class1', 'class2') // "class1 class2"
```

2. Conditional classes:

```javascript
const isActive = true

cx('class1', isActive && 'active') // "class1 active"
```

3. Arrays

```javascript
cx(['class1', 'class2', ['nested1', 'nested2']]) // "class1 class2 nested1 nested2"
```

4. Objects:

```javascript
const buttonStyles = {
  btn: true,
  'btn-primary': true,
  'btn-disabled': false
}

cx(buttonStyles) // "btn btn-primary"
```

### Contribution

Feel free to suggest improvements, report issues, or contribute to enhancing these utilities. Your feedback and contributions are welcome!
npm package: @archivist/build
Description: a VERY simple little build source system App
Author: Archivist Nerd
Latest version: 0.0.4

# node-build
[![npm version](https://img.shields.io/npm/v/@archivist/build.svg)](https://www.npmjs.com/package/@archivist/build)

Archivist Nerd's build: a VERY simple little build source system

> helps you a VERY simple little build source system


## Installation

```sh
npm install @archivist/build
```

## Example command

```sh
build ./src/.build
```

## Example ".build" file

```text
# .build file
#     all file reads are based on the common path of the build file
#     all file writes are based on the current path
-----------------------
      build.js
!S    # remove-comments
>>    ./build.js
-----------------------
      cli.js
!S    # remove-comments
>>    ./cli.js
-----------------------
```

## License

MIT
npm package: @archsense/scout
Description: Generate services graph
Author: Sergey Bolshchikov
Latest version: 0.2.5

# Scout
> Generate services graph

## Installation
`npm install @archsense/scout`

## How to use

### Command line
`npx scout nestjs -p <root-file-path> -c <config-file-path> -o <output-file-path>`

#### Parameters
| Parameter Name      | CLI Attribute | CLI shortcut | Mandatory | Description                                                                 |
|---------------------|---------------|--------------|-----------|-----------------------------------------------------------------------------|
| Path to root folder   | --project     | -p           | Yes       | Path to the root project root folder. It is disregarded if `config` is provided.                                          |
| Path to config folder | --config      | -c           | No        | If you'd like to run scout on monorepo, pass config instead of project root |
| Path to output file | --output      | -o           | No        | If provided, the result will the stored in the output file                  |

### API
```js
const Scout = require('scout');

const nestjsScout = new Scout({
  rootPath: '<path-to-root-folder>',
  configPath: '<path-to-config-folder>',
  framework: 'nestjs',
});

const dependencyTree = await nestjsScout.analyze();
await nestjsScout.saveFile(outputFilePath, dependencyTree);
```

## Current support

* Supported languages
    * Typescript
* Supported framework
    * NestJs