open-index/open-npm huggingface dataset:
npm package: @oskarer/enzyme-wait
Description: Wait for an async element to appear when performing integration tests with enzyme.
Latest version: 1.5.0

# enzyme-wait
Wait for an async element to appear when performing integration tests with enzyme.
Returns a promise which resolves with the root component you performed your search on.

**NEW**: There is now a [fully working example](#checking-out-the-example-repo) using both Promises and async/await.

## How to use:

`````javascript
createWaitForElement(
    enzymeSelector,
    /*Optional*/ timeOut,
    /*Optional*/ intervalDuration
)(componentToSearchOn)
    .then(/* ... */)
    .catch(/* ... */)
`````

## Example Usage (Promises):

`````javascript
import React from 'react';
import { mount } from 'enzyme'
import { createWaitForElement } from 'enzyme-wait';

/**
 * The component you want to test. Assume it displays
 * the string "ready" after performing some async action
 * which takes time.
 */
import SampleComponent from '...';

const waitForSample = createWaitForElement('#sample-ready');

const component = mount(<SampleComponent />);

it('displays ready once it is ready', ()=> {
    waitForSample(component)
        .then( component => expect(component.text()).to.include('ready') );
});
`````

## Example Usage (async/await)

The same as above but using async/await instead of Promises:
`````javascript
it('displays ready once it is ready', async ()=> {
    const componentReady = await waitForSample(component);
    expect(componentReady.text()).to.include('ready');
});
`````

## Chaining promises

If you have multiple async actions happening, just make sure to always return a Promise which
resolves with the root component. This way you can create nice looking chains and avoid callback hell.

Example:

`````javascript
const component = mount(<SampleComponent />);

it('displays ready after multiple interactions', ()=> {
    createWaitForElement('#sample-ready')(component)
        .then( /* do something and return a resolved promise with the comp */ )
        .then( /* do something and return a resolved promise with the comp */ )
        .then( createWaitForElement('#another-component-ready') )
        .then( component => expect(component.text().to.include('ready') );
});

`````

## Checking out the example repo

There is now a working example inside this repo using both the Promise-approach as well as the async/await-approach.

The example uses Jest, but it should work with any test framework. In other frameworks you might need to call done() on asynchronous tests.

To play around with this example you can:

1. clone this repo
1. run `npm install && npm run dist` on the root repo (this is required to create a lib version of this package which is listed in the example's dependencies )
1. go to the example folder `cd example`
1. in there, run `npm install && npm start`
1. open your browser at `http://localhost:9000` to see the example or run `npm test` to see the tests working.
npm package: @oskarer/react-stockcharts
Description: Highly customizable stock charts with ReactJS and d3
Author: Ragu Ramaswamy
Latest version: 0.7.0-beta.24

## React Stockcharts

[![Join the chat at https://gitter.im/rrag/react-stockcharts](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/rrag/react-stockcharts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![npm version](https://badge.fury.io/js/react-stockcharts.svg)](https://badge.fury.io/js/react-stockcharts)

Create highly customizable stock charts

Built with [React JS](http://facebook.github.io/react/) and [d3](http://d3js.org/)

Multiple [quick start examples](https://github.com/rrag/react-stockcharts-examples2)

- svg and canvas for improved performance. 
- pan and zoom, on touch devices too

#### Chart types

- Scatter
- Area
- Line
- Candlestick
- OHLC
- HeikenAshi
- Renko
- Kagi
- Point & Figure

#### Indicators

- EMA, SMA, WMA, TMA
- Bollinger band
- SAR
- MACD
- RSI
- ATR
- Stochastic (fast, slow, full)
- ForceIndex
- ElderRay
- Elder Impulse

(more to come), 

and it is simple to create your own indicator too

#### Interactive Indicators

- Trendline
- Fibonacci Retracements
- Gann Fan
- Channel
- Linear regression channel

---

### Installation
```sh
npm install  --save react-stockcharts@next
```

### Documentation

[Documentation](http://rrag.github.io/react-stockcharts)

[Ready to use Examples](https://github.com/rrag/react-stockcharts-examples2)

### Demo

[Demo v1](http://rrag.github.io/stockcharts-demo/) (closed source) built with react-stockcharts

[Demo v2](https://demo.reactstockcharts.org/) - Includes
- Serverside calculation of indicators
- Pan to load more
- option of websocket/xhr to download data
- Multiple chart types, including advanced types
- Drawing objects
- Indicators
- Compare with another

I am exploring options to license this, contact me if you are interested

### Contributing

Refer to [CONTRIBUTING.md](./CONTRIBUTING.md)

### Stability

This is alpha state software, the api will change with each minor version.

### Roadmap

[Roadmap](./docs/md/COMING-SOON.md)

### LICENSE

[MIT](./LICENSE)
npm package: @oskartdragon/config
Description: A collection of configurations that I use.
Author: Oskar Dragon
Latest version: 0.3.2

# @oskartdragon/config

**Shareable ESLint and Prettier configurations for TypeScript, React, and testing projects**

This package provides opinionated but flexible ESLint and Prettier configurations that automatically adapt to your project's dependencies.

## Features

- **Smart Detection**: Automatically enables rules based on your installed dependencies
- **TypeScript Support**: Full TypeScript integration when detected
- **React Ready**: React and React Hooks rules when React is installed  
- **Testing Focused**: Support for Vitest, Testing Library, Jest DOM, and Playwright
- **Modern Stack**: TanStack Query and Router plugin support
- **Tailwind CSS**: Prettier plugin for Tailwind class sorting

## Installation

```bash
npm install --save-dev @oskartdragon/config
```

## Usage

### Prettier

Add to your `package.json`:

```json
{
  "prettier": "@oskartdragon/config/prettier"
}
```

**Or** create a `.prettierrc.js` file:

```js
import config from '@oskartdragon/config/prettier'

export default config
```

<details>
<summary>Customizing Prettier</summary>

```js
import defaultConfig from '@oskartdragon/config/prettier'

/** @type {import("prettier").Options} */
export default {
	...defaultConfig,
	// Your overrides here
	printWidth: 120,
}
```
</details>

### ESLint

Create an `eslint.config.js` file:

```js
import { config } from '@oskartdragon/config/eslint'

export default config
```

<details>
<summary>Customizing ESLint</summary>

```js
import { config } from '@oskartdragon/config/eslint'

export default [
	...config,
	{
		// Your custom rules here
		rules: {
			'no-console': 'warn',
		},
	},
]
```
</details>

## What's Included

### ESLint Rules
- **Base**: Import sorting, no duplicates, warning comment detection
- **TypeScript**: Unused vars, consistent imports, promise handling (when `typescript` detected)
- **React**: JSX key warnings, hooks rules (when `react` detected)
- **Testing**: Testing Library, Jest DOM, Vitest rules (when respective packages detected)
- **E2E**: Playwright rules for e2e test files (when `playwright` detected)
- **TanStack**: Query and Router specific rules (when respective packages detected)

### Prettier Configuration
- Tab indentation (2 spaces for package.json)
- Single quotes, trailing commas
- Line width: 80 characters
- Tailwind CSS class sorting
- Special MDX formatting rules

## Automatic Detection

The configuration automatically detects and enables rules for:

- `typescript` → TypeScript rules
- `react` → React and React Hooks rules  
- `@testing-library/dom` → Testing Library rules
- `@testing-library/jest-dom` → Jest DOM rules
- `vitest` → Vitest-specific rules
- `playwright` → Playwright rules
- `@tanstack/react-query` → TanStack Query rules
- `@tanstack/react-router` → TanStack Router rules

## File Patterns

- **Test files**: `**/__tests__/**/*`, `**/*.test.*`, `**/*.spec.*`, `**/tests/**`
- **E2E files**: `**/e2e/**`
- **Ignored**: `node_modules`, `build`, `dist`, `coverage`, `public`, `.cache`

## License

MIT
npm package: @oskarwrobel/deploy-tools
Description: Deploy tools for simple stuctured projects.
Author: kontakt@oskarwrobel.pl
Latest version: 1.3.4

# Deploy tools

Tools for deploying a simple structured projects.

It connects to the remote via SSH protocol and allows to execute commands on the server and the local machine.

## How to use:

```javascript
const { deploy } = require( '@oskarwrobel/deploy-tools' );

deploy( {
	username: 'user-name',
	host: 'host',
	privateKey: 'private-key',
	execute( local, remote ) {
		// Start executing commands here.

		// Command that will be executed on your local machine.
		local( 'some command' );

		// Command that will be executed on the server.
		remote( 'some command' );

		// Remote commands has some additional options:
		remote( 'some command', { silent: true } ); // stduot will not be logged on the console.
		remote( 'some command', { cwd: 'some/path/' } ); // Changes current working directory for the command execution.
	}
} )
.then( () => {
	console.log( 'Deployed.' );
} )
.catch( err => {
	console.log( err );
} );
```

## Real world example:

```javascript
const { deploy } = require( '@oskarwrobel/deploy-tools' );

deploy( {
	username: 'user-name',
	host: 'host',
	privateKey: 'private-key',
	execute( local, remote ) {
		// Build application locally.
		local( 'npm run build' );

		// Before copying files to the remote, make sure there is a proper directory structure.
		'var/www/my-website'.split( '/' ).reduce( ( result, directory ) => {
			result = path.join( result, directory );
			remote( `mkdir ${ result }`, { silent: true, cwd: '/' } );

			return result;
		}, '' );

		// Copy bundled files from your local machine to the server.
		local( `rsync -a build/ user-name@host:/var/www/my-website/` );

		// Execute some custom script on the server side after files has been deployed.
		remote( 'sh after_deploy.sh', { cwd: '/var/www/my-website/' } );
	}
} )
.then( () => {
	console.log( 'Deployed.' );
} )
.catch( err => {
	console.log( err );
} );
```
npm package: @oskarwrobel/eslint-config
Description: ESLint config for JS and TypeScript code.
Author: Oskar Wróbel
Latest version: 1.0.2

ESLint config
=============

[![Dependency Status](https://img.shields.io/david/oskarwrobel/eslint-config.svg)](https://david-dm.org/oskarwrobel/eslint-config)

## About

My favorite ESLint config for JS and TypeScript code.
npm package: @oskbor/useworker
Description: useWorker() - Web worker using React hook
Author: alewin
Latest version: 4.0.2

<h1 align="center">
  <br>
  <img width="300px" src="../../logo.png" alt="useWorker"
    title="useWorker() Use web workers with react hook" />
  <br>
</h1>

<h2 align="center">
  Use web workers with react hook
  <br />
  https://useworker.js.org/  
  <a
    href="https://twitter.com/intent/tweet?text=useWorker - Use web workers with react hooks&url=https://github.com/alewin/useWorker&via=alessiokoci&hashtags=react,useworker,hooks,javascript">
    <br />
    <img alt="Tweet" src="https://img.shields.io/twitter/url/http/shields.io.svg?style=social" />
  </a>
</h2>

<h3 align="center">
  <img alt="GitHub" src="https://img.shields.io/npm/dm/@koale/useworker" />
  <img alt="size" src="https://img.shields.io/bundlephobia/minzip/@koale/useworker/4.0.2" />
  <img alt="GitHub" src="https://img.shields.io/npm/l/@koale/useworker" />
 <img src="https://camo.githubusercontent.com/6ef0a300e96da21e04d4d45bf54285202674498c/68747470733a2f2f62616467656e2e6e65742f62616467652f547970655363726970742f537570706f7274" alt="TypeScript Support" title="TypeScript Support" data-canonical-src="https://badgen.net/badge/TypeScript/Support" style="max-width:100%;">
</h3>

---

## Docs 

Read [Docs](../../README.md)
npm package: @oslab/btoa
Description: btoa for node and browser
Author: Guillaume Vincent
Latest version: 0.1.0

# LessPass render password

LessPass node module used to render password based on options

## Requirements

  - node LTS

## Install

    npm install lesspass-render-password

## Usage

    var renderLessPassPassword = require("lesspass-render-password");
    var options = {
      length: 16,
      lowercase: true,
      uppercase: true,
      digits: true,
      symbols: true
    };
    var entropy = "dc33d431bce2b01182c613382483ccdb0e2f66482cbba5e9d07dab34acc7eb1e"; 
    var password = renderLessPassPassword(entropy, options);

## Tests

    npm test

## License

This project is licensed under the terms of the GNU GPLv3.


## Issues

report issues on [LessPass project](https://github.com/lesspass/lesspass/issues)
npm package: @oslo-flanders/core
Description: Core interfaces and utilities
Author: Digitaal Vlaanderen
Latest version: 1.0.17

# OSLO Core

> Package that contains the core interfaces, classes and functions that can be used across other packages

## Install

```bash
npm install @oslo-flanders/core
```

## Usage

Everything can be imported through named imports from the core packages.
```node
import { XXX } from '@oslo-flanders/core'
```

## Package content

The core package contains general interfaces and utility functions

### Interfaces

#### `IConversionService`
Interface that must be implemented when creating a new conversion service

#### `IGenerationService`
Interface that must be implemented when creating a new generator.

#### `IOutputHandler`
Interface that must be implemented when creating a new output handler.

#### `IConfiguration`
Interface that must be implemented when creating a new configuration class.

#### `AppRunner`
**Abstract** class that contains the CLI service to start a conversion or generator service.

### Utils

Small and easy functions that can be used in other packages

#### `fetchFileOrUrl`

Fetches a file or URL and returns a `Buffer`.
```node
import { fetchFileOrUrl } from '@oslo-flanders/core'

const buffer = fetchFileOrUrl('/path/or/url/to/file');
```

#### `namespaces`

Function that ensures that we don't have to write full URIs anymore. Takes the local identifier as string parameter and returns an RDF.NamedNode:
```
import { ns } from '@oslo-flanders/core'

const exampleNamedNode = ns.example('test');

// exampleNamedNode.value is equal to 'http://example.org/test'

const rdfType = ns.rdf('type');

// rdfType.value will be 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type'
```

#### `uniqueId`

Function that returns random string, with a very low probability that the same string is going to be returned multiple times.

```
import { uniqueId } from '@oslo-flanders/core'

const id = uniqueId();
```
npm package: @oslo-flanders/ea-converter
Description: Transform an Enterprise Architect UML diagram to RDF
Author: Digitaal Vlaanderen
Latest version: 1.1.8

# OSLO Conversion Service

> Transforms an Enterprise Architect (EA) UML diagram to RDF (or a serialization)

## Install

```bash
npm install @oslo-flanders/ea-converter
```

## Global install

To use the service from the command line anywhere, you can install it globally.

```bash
npm install -g @oslo-flanders/ea-converter
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--umlFile` | The URL or local file path of an EA UML diagram | :heavy_check_mark: ||
| `--diagramName` | The name of the UML diagram within the EAP file | :heavy_check_mark: ||
| `--publicationEnvironment` | The base URI of environment where the document will be published | :heavy_check_mark: | |
| `--versionId` | Version identifier for the document | :heavy_check_mark: ||
| `--outputFile` | The name of the RDF output file | No, but if omitted, output is written to process.stdout ||
| `--outputFormat` | RDF content-type specifiying the output format | :heavy_check_mark: | `application/ld+json` |
| `--inputFormat` | The format of the DBMS being used by the EA file | No, default `accessdb` | `sqlite`, `accessdb` |
| `--allTags` | Add all tags from EA to the generated output | No, default `false` | `true` or `false` |
| `--debug` | A flag to enable debug mode which is more resilient to errors | | `false` |

## Usage

```bash
oslo-converter-ea --umlFile path/to/uml/diagram.eap --diagramName "diagramName" --versionId "test/1" --outputFile path/to/output.jsonld --outputFormat application/ld+json --publicationEnvironment https://data.vlaanderen.be
oslo-converter-ea --umlFile https://github.com/path/to/uml/diagram.eap --diagramName "My UML diagram" --versionId "test/1" --outputFormat application/ld+json --publicationEnvironment https://data.vlaanderen.be
oslo-converter-ea --umlFile https://github.com/path/to/uml/diagram.eap --diagramName "My UML diagram" --versionId "test/1" --outputFormat application/ld+json --publicationEnvironment https://data.vlaanderen.be --allTags true
oslo-converter-ea --umlFile path/to/uml/diagram.eap --diagramName "diagramName" --versionId "test/1" --outputFile path/to/output.jsonld --ignoreSkosElements false
```
npm package: @oslo-flanders/ea-uml-extractor
Description: Reads all the information from an Enterprise Architect UML diagram
Author: Digitaal Vlaanderen
Latest version: 1.0.13

# OSLO Enterprise Architect UML Extractor

> Reads all the information from an Enterprise Architect UML diagram

This package extracts all the information from the UML diagram and creates a data registry containing the packages, elements (classes, data types and enumerations), connectors and attributes. The extractor is used by the [OSLO conversion service](../oslo-converter-uml-ea/README.md).

## Install

```bash
npm install @oslo-flanders/ea-uml-extractor
```

## Usage

```node
import { DataRegistry } from '@oslo-flanders/ea-uml-extractor';

const model = new DataRegistry();
```
npm package: @oslo-flanders/examples-generator
Description: Generates examples based on an OSLO JSON-LD file
Author: Kristof Vandenbroucke
Latest version: 1.0.1

# `OSLO Examples Generator`

> Generates examples based on an OSLO JSON-LD file

## Install

```bash
npm install @oslo-flanders/examples-generator

```

## Global install

```bash
npm install -g @oslo-flanders/examples-generator

```

## API

| Parameter       | Description                                                                             | Required           | Possible values |
| --------------- | --------------------------------------------------------------------------------------- | ------------------ | --------------- |
| `--input`       | The path of an OSLO JSON-LD file                                                        | :heavy_check_mark: |                 |
| `--output`      | The directory where the generated examples will be generated                            | :heavy_check_mark: |                 |
| `--language`    | The language in which the examples should be generated                                  | :heavy_check_mark: |                 |
| `--contextbase` | the public base url on which the context of the jsons are published. Without trailing / | :heavy_check_mark: |                 |

## Usage

```bash
oslo-examples-generator  --input report.jsonld --language nl --contextbase /doc/ap/DigitaleWatermeter-ap/machinelearningInput --output ./examples
```
npm package: @oslo-flanders/html-generator
Description: Generates an HTML file using an OSLO webuniversum config
Author: Digitaal Vlaanderen
Latest version: 2.1.2

# `OSLO HTML Generator`

> Given an OSLO Webuniversum JSON file, this tool generates an HTML file with the HTML layout

## Install

```
npm install @oslo-flanders/html-generator
```

## Global install

To use the service from the command line anywhere, you can install it globally.

```bash
npm install -g @oslo-flanders/html-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--input` | The URL or local file path of an OSLO-webuniversum config | :heavy_check_mark: ||
| `--output` | The name of the output file | No, defaults to `index.html` ||
| `--stakeholders` | The URL or local file path to the stakeholders json | :heavy_check_mark: ||
| `--metadata` | The URL or local file path of the metadata config file | :heavy_check_mark: ||
| `--specificationType` | The type of specification | No, defaults to `Vocabulary` | `ApplicationProfile` or `Vocabulary`|
| `--specificationName` | Title of the document | No ||
| `--language` | The language in which the HTML file must be generated (labels) | :heavy_check_mark: ||
| `--silent` | Suppress log messages | No | `true` or `false` (default) |
| `--templates` | path to local folder containing different templates that can be used for extending the root template | | |
| `--rootTemplate` | Use a different template other than the default ones (ap2.j2 and voc2.j2) | No | |

## Sidenote

For the application profile from OSLO we use a function to generate our anchor tags. The anchor tags are formed based on the available label of each entity and/or the available label of the property. If the label is not available, we use the URI of the entity or property. The final result gets encoded using the [`encodeURIComponent`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) function. The function can be found [here](../oslo-core/lib/utils/anchorTag.ts).

## Usage

```bash
oslo-generator-html --input webuniversum-config.json --language nl --stakeholders stakeholders.json --metadata metadata.json
oslo-generator-html --input webuniversum-config.json --language nl --specificationType ApplicationProfile --specificationName "OSLO-Verkeersmetingen" --stakeholders stakeholders.json --metadata metadata.json
oslo-generator-html --input webuniversum-config.json --language nl --specificationType ApplicationProfile --specificationName "OSLO-Verkeersmetingen" --stakeholders stakeholders.json --metadata metadata.json
oslo-generator-html --input ./webuniversum-config.json --language nl --stakeholders ./stakeholders.json --metadata ./metadata.json --specificationName "OSLO-verkeersmetingen" --specificationType Vocabulary --templates ./templates --rootTemplate vrachtwagenParkeren-voc.njk
```
npm package: @oslo-flanders/html-respec-generator
Description: Generates an HTML respec file using an OSLO-compliant RDF file
Author: Digitaal Vlaanderen
Latest version: 1.0.2

# `OSLO HTML ReSpec Generator`

> Given an OSLO-compliant RDF file, this tool generates an HTML file with the ReSpec layout

## Note
This tool has not been thoroughly tested and is primarily used as a visual validation tool!

## Install
```
npm install @oslo-flanders/html-respec-generator
```

## Global install
To use the service from the command line anywhere, you can install it globally.
```bash
npm install -g @oslo-flanders/html-respec-generator
```

## API
The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--input` | The URL or local file path of an OSLO-compliant RDF file | :heavy_check_mark: ||
| `--output` | The name of the output file | No, defaults to `context.jsonld` ||
| `--specificationType` | The type of specification | No, defaults to `Vocabulary` | `ApplicationProfile` or `Vocabulary`|
| `--specificationName` | Title of the document | No ||
| `--language` | The language in which the HTML file must be generated (labels) | :heavy_check_mark: ||
| `--silent` | Suppress log messages | No | `true` or `false` (default) |

## Usage
```bash
oslo-generator-respec --input https://data.vlaanderen.be/ns/adresregister/context.jsonld --language nl
oslo-generator-respec --input report.jsonld --language nl --specificationType ApplicationProfile --specificationName "OSLO-Verkeersmetingen"
```
npm package: @oslo-flanders/json-webuniversum-generator
Description: Generates a JSON file which is used to generate an HTML template using Webuniversum 3
Author: Dwight Van Lancker
Latest version: 1.0.12

# `oslo-generator-json-webuniversum` OSLO JSON Webuniversum Generator

> This package transforms an OSLO JSON-LD file into a JSON configuration file which will be used by the Nuxt.JS Service to render vocabularies and application profiles

## Install

```bash
npm install @oslo-flanders/json-webuniversum-generator
```

## Global install

```bash
npm install -g @oslo-flanders/json-webuniversum-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| ---------- | ----------------------------------------------------------- | --------------------------------- | --------------- |
| `--input` | The URL or local file path of an OSLO stakeholders csv file |:heavy_check_mark: | |
| `--output` | Name of the output file | No, default `webuniversum-config.json` | |
| `--language` | The language in which the config must be generated | :heavy_check_mark: | |
| `--applyFiltering` | Wether or not to apply filters on the generated output. The filters limit the generated classes, datatypes, entities and properties that will be shown to a certain scopes. If you just want all possible values, you can set the value to `false`. | No, default `true` | `true` or `false` |
| `--publicationEnvironment` | The base URI of environment where the document will be published | :heavy_check_mark: | |
| `--specificationType` | The type of specification | No, defaults to `Vocabulary` | `ApplicationProfile` or `Vocabulary`|
| `--allTags` | Whether or not to make a selection of key values for the generated classes, datatypes entities and properties. | No, default `false` | `true` or `false` |
| `--inheritance` | Add all properties from the superclass to the child class | No, default `false` | `true` or `false` |
| `--ignoreSkosConcept` | Ignore enumerations with SKOS Concept URI | No, default `false` | `true` or `false` |

## Usage

```bash
oslo-webuniversum-json-generator --input report.jsonld --language nl --publicationEnvironment https://data.vlaanderen.be
oslo-webuniversum-json-generator --input report.jsonld --language nl --applyFiltering false --publicationEnvironment https://data.vlaanderen.be
oslo-webuniversum-json-generator --input report.jsonld --language nl --applyFiltering false --publicationEnvironment https://data.vlaanderen.be --specificationType ApplicationProfile
oslo-webuniversum-json-generator --input report.jsonld --language nl --applyFiltering false --publicationEnvironment https://data.vlaanderen.be --specificationType ApplicationProfile --allTags true --inheritance true --ignoreSkosConcept true
```
npm package: @oslo-flanders/jsonld-context-generator
Description: Generates a JSON-LD context file from an OSLO-compliant RDF file
Author: Digitaal Vlaanderen
Latest version: 1.0.7

# `OSLO JSON-LD Context Generator`

> Given an OSLO-compliant RDF file, this tool generates a JSON-LD context file

## Install
```bash
npm install @oslo-flanders/jsonld-context-generator
```

## Global install
To use the service from the command line anywhere, you can install it globally.
```bash
npm install -g @oslo-flanders/jsonld-context-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--input` | The URL or local file path of an OSLO-compliant RDF file | :heavy_check_mark: ||
| `--output` | The name of the output file | No, defaults to `context.jsonld` ||
| `--language` | The language in which the context must be generated (labels) | :heavy_check_mark: ||
| `--addDomainPrefix` | Prefix every attribute with its domain | No | `true` or `false` (default) |
| `--silent` | Suppress log messages | No | `true` or `false` (default) |
| `--scopedContext` | Boolean that decides to keep the @context scoped or not | No | `true` or `false` (default) |
| `--enablePolymorphism` | Boolean that enables the use of polymorphism | No | `true` (default) or `false` |

## Usage
```bash
oslo-jsonld-context-generator --input report.jsonld --language nl
oslo-jsonld-context-generator --input https://data.vlaanderen.be/ns/adres.jsonld --language nl
oslo-jsonld-context-generator --input https://data.vlaanderen.be/ns/adres.jsonld --output context.jsonld --language nl --scopedContext true
```
npm package: @oslo-flanders/jsonld-rdf-formatter
Description: Convert an RDF Turtle file to JSON-LD using a provided context
Author: Digitaal Vlaanderen
Latest version: 1.0.11

# `OSLO JSON-LD RDF formatter`

> Given an RDF Turtle (.ttl) file and a JSON-LD context, this tool converts the Turtle data into a structured JSON-LD document

## Install

```
npm install @oslo-flanders/jsonld-rdf-formatter
```

## Global install

To use the service from the command line anywhere, you can install it globally.

```bash
npm install -g @oslo-flanders/jsonld-rdf-formatter
```

## API

The service is executed from the CLI and expects the following arguments:

### Arguments

| Argument     | Description                                          | Required           |
| ------------ | ---------------------------------------------------- | ------------------ |
| `<ttl-file>` | Path to the input RDF Turtle file                    | :heavy_check_mark: |
| `<context>`  | The URL or local file path of a JSON-LD context file | :heavy_check_mark: |

### Options

The service is executed from the CLI and expects the following optional parameters:

| Option                    | Description                                   | Default             |
| ------------------------- | --------------------------------------------- | ------------------- |
| `-o, --output <file>`     | The name of the output JSON-LD file           | `<ttl-file>.jsonld` |
| `-r, --root <object>`     | Root object for which to generate the JSON-LD |                     |
| `-c, --compact <boolean>` | Whether to compact the JSON-LD output         | `false`             |

## Sidenote

The converter uses the n3 library to parse Turtle files and the jsonld library to perform RDF-to-JSON-LD conversion and compaction. The provided context must be a valid JSON-LD context document. If the context is not valid or cannot be fetched, the conversion will fail. Same for the Turtle file.

## Usage

```bash
jsonld-rdf-formatter MAGDA-GeefPersoon-REST-Voorbeeld-Wettelijke-Woonplaats.ttl persoon-im.jsonld
jsonld-rdf-formatter MAGDA-GeefPersoon-REST-Voorbeeld-Wettelijke-Woonplaats.ttl persoon-im.jsonld --output result.jsonld
jsonld-rdf-formatter MAGDA-GeefPersoon-REST-Voorbeeld-Wettelijke-Woonplaats.ttl persoon-im.jsonld --output result.jsonld --root GeregistreerdPersoon

```
npm package: @oslo-flanders/jsonld-validator
Description: Validates the generated JSON-LD file to a set of validation rules
Author: Digitaal Vlaanderen
Latest version: 1.0.6

# OSLO JSON-LD Validator

> Validates JSON-LD files against a whitelist of allowed namespaces/URIs

This package validates that all URIs in a JSON-LD file match allowed namespace prefixes from a whitelist file. It helps ensure that only approved vocabularies and namespaces are used in your OSLO model.

## Install

```bash
npm install @oslo-flanders/jsonld-validator

```

## Global install

```bash
npm install -g @oslo-flanders/jsonld-validator

```

## API

| Parameter     | Description                                                                             | Required           | Possible values  |
| ------------- | --------------------------------------------------------------------------------------- | ------------------ | ---------------- |
| `--input`     | The URL or local file path of an OSLO JSON-LD file                                      | :heavy_check_mark: |                  |
| `--whitelist` | The URL or local file path to a whitelist json containing a set of allowed URI prefixes | :heavy_check_mark: | `whitelist.json` |

## Usage

```bash
oslo-jsonld-validator --input report.jsonld --whitelist whitelist.json
oslo-jsonld-validator --input report.jsonld --whitelist https://raw.githubusercontent.com/Informatievlaanderen/OSLO-UML-Transformer/refs/heads/configuration/whitelist.json
```
npm package: @oslo-flanders/kbo-to-ttl-converter
Description: Convert enterprise CSV data to RDF Turtle format
Author: Digitaal Vlaanderen
Latest version: 0.0.5

# KBO Codes extractie en conversie

Deze repository bevat scripts voor het extraheren van KBO-codes uit de publicaties van de KBO-codes op een FTP server. De KBO-codes worden gepubliceerd door de Belgische overheid en bevatten informatie over bedrijven en organisaties in België (https://kbopub.economie.fgov.be/kbopub/zoeknummerform.html)

## KBO to TTL Converter

### Overzicht

De KBO to TTL Converter is een command-line tool die KBO-gegevens in CSV-formaat omzet naar RDF Turtle (TTL) formaat.

### Installatie

#### Lokaal gebruik

```bash
# Installeer dependencies
npm install

# Build het project
npm run build

node dist/convert-kbo-to-ttl.js --input <input-directory> --output <output-directory>
```

#### Als NPM package

```bash
npm install -g @oslo-flanders/kbo-to-ttl-converter
```

### Gebruik

#### CLI

```bash
# Lange vorm
oslo-kbo-to-ttl --input <input-directory> --output <output-directory>
```

**Parameters**

- `--input, -i`: Pad naar het de directory waar de KBO CSV-bestanden zich bevinden
- `--output, -o`: Pad naar de output directory waar TTL-bestanden worden opgeslagen

**Voorbeelden**

```bash
oslo-kbo-to-ttl -i ./data/kbo/ -o ./output/ttl
```
npm package: @oslo-flanders/metadata-generator
Description: A metedata genertion script specifically to be used by the OSLO-toolchain
Author: Kristof Vandenbroucke
Latest version: 0.0.10-alpha.0

# `metadata-generator`

> A metadata generation script specifically to be used by the OSLO-toolchain

## Installation

```sh
npm install @oslo-flanders/metadata-generator
```

## Global installation

To use the service from the command line anywhere, you can install it globally.

```sh
npm install -g @oslo-flanders/metadata-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--hostname`, `-h` | The public hostname/domain on which the HTML is published. The hostname in the input file takes precedence. | :heavy_check_mark: ||
| `--documentpath`, `-r` | The document path on which the HTML is published | :heavy_check_mark: ||
| `--mainlanguage`, `-m` | The language to display (a language code string) | :heavy_check_mark: ||
| `--primarylanguage`, `-g` | The primary language of the publication environment (a language code string) | :heavy_check_mark: ||
| `--uridomain`, `-u` | The domain of the URIs that should be excluded from this vocabulary | :heavy_check_mark: ||
| `--input`, `-i` | Input file | :heavy_check_mark: ||
| `--output`, `-o` | Output file (the metadata file) | :heavy_check_mark: ||
| `--prefix`, `-p` | Prefix for the logging | No ||

## Usage

```bash
metadata-generator --input input.json --output output.json --mainlanguage nl --prefix "[INFO] "
metadata-generator -h example.com -r /docs -i input.json -o output.json -m nl -g nl -u example.com -p "[INFO] "
```
npm package: @oslo-flanders/org-to-ttl-converter
Description: Convert organization JSON data to RDF Turtle format
Author: Digitaal Vlaanderen
Latest version: 0.0.4

# OVO Codes Extractie

Deze repository bevat scripts voor het extraheren van OVO-codes uit de basisregisters van Vlaanderen. OVO-codes worden gebruikt om verschillende administratieve entiteiten te identificeren en te classificeren. De OVO codes worden gepubliceerd op https://data.vlaanderen.be.

## Organization to TTL Converter

### Overzicht

De Organization to TTL Converter is een command-line tool die organisatiegegevens in JSON-formaat omzet naar RDF Turtle (TTL) formaat.

### Installatie

#### Lokaal gebruik

```bash
# Installeer dependencies
npm install

# Build het project
npm run build

node dist/convert-org-to-ttl.js --input <input-file> --output <output-directory>
```

#### Als NPM package

```bash
npm install -g @oslo-flanders/org-to-ttl-converter
```

### Gebruik

#### CLI

```bash
# Lange vorm
oslo-org-to-ttl --input <input-file> --output <output-directory>
```

**Parameters**

- `--input, -i`: Pad naar het input JSON-bestand met organisatiegegevens
- `--output, -o`: Pad naar de output directory waar TTL-bestanden worden opgeslagen

**Voorbeelden**

```bash
oslo-org-to-ttl -i ./data/orgs.json -o ./output/ttl
```
npm package: @oslo-flanders/oslo-standards-registry-report
Description: Tool to aggregate information about the OSLO standards register and write it to an Excel file
Author: Dwight Van Lancker
Latest version: 1.0.0

# OSLO Report

> Tool to aggregate information about the OSLO standards registry and write it to an Excel file

This tool will read the [configuration file](https://github.com/Informatievlaanderen/OSLO-Standaarden/blob/configuratie/standaardenregister.json) used to configure the standards in the OSLO standards registry. For each configured standard, its configuration in their OSLOtheme repository will also be fetched and dates, status and name will be stored. It will output that information in an Excel file and mark a standard as complete if it complies with the following conditions:
- An acknowledged standard must have a date of registration, date of approval by the data standards working group and date of approval by the steering committee

When a standard is not complete, the `compleet?` field in the Excel file will be marked with a red color, indicating the this standard needs some follow-up. Because of the ever-increasing number of standards, a separate sheet is provided with standards that already have a data of registration and data of approval by the data standards working group, but not yet a date of approval by the steering committee. This could be derived from the other sheet, but it is just more convenient.

Standards with a status of 'kandidaat-standaard', 'standaard-in-ontwikkeling' or 'zonder-status' are ignored.

## Install

```bash
> npm i -g @oslo-flanders/oslo-standards-registry-report
```

## Usage

| Parameter  | Description | Default | Required |
| ------------- | ------------- | ------------- | ------------- |
|  -u, --url | Raw URL of the OSLO standards registry configuration file on GitHub  | https://github.com/Informatievlaanderen/OSLO-Standaarden/blob/configuratie/standaardenregister.json | No

```bash
> generate-standards-registry-report -u https://github.com/Informatievlaanderen/OSLO-Standaarden/blob/configuratie/standaardenregister.json
# OR
> generate-standards-registry-report
```

Running this tool will output a file in the current working directory, called `standaardenregister-status-{CURRENT-DATE}.xlsx`
npm package: @oslo-flanders/output-handlers
Description: Writing the input from an RDF store in an RDF serialization to a WritableStream
Author: Digitaal Vlaanderen
Latest version: 0.0.4-alpha.0

# OSLO Output handler

> Writing the contents of an RDF store to an RDF serialization to a WritableStream (file or process.stdout)

## Install
```bash
npm install @oslo-flanders/output-handlers
```
npm package: @oslo-flanders/rdf-vocabulary-generator
Description: Transform an Enterprise Architect UML diagram to RDF
Author: Digitaal Vlaanderen
Latest version: 1.0.2

# `OSLO RDF Vocabulary Generator`

> Given an OSLO-compliant RDF file, this tool generates an RDF vocabulary

## Install
```bash
npm install @oslo-flanders/rdf-vocabulary-generator
```

## Global install
To use the service from the command line anywhere, you can install it globally.
```bash
npm install -g @oslo-flanders/rdf-vocabulary-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--input` | The URL or local file path of an OSLO-compliant RDF file | :heavy_check_mark: ||
| `--output` | The name of the output file | :heavy_check_mark: ||
| `--language` | The language in which the rdf vocabulary must be generated (labels) | :heavy_check_mark: ||
| `--contentType` | Prefix every attribute with its domain | No | `text/turtle`, `application/n-quads`, `application/n-triples`, `application/ld+json` |
| `--silent` | Suppress log messages | No | `true` or `false` (default) |

## Usage
```bash
oslo-generator-rdf --input report.jsonld --output report.ttl --language nl --contentType text/turtle
oslo-generator-rdf --input report.jsonld --output report.ttl --language nl --contentType application/n-quads
```
npm package: @oslo-flanders/sparql-generator
Description: Generate SPARQL queries.
Author: Digitaal Vlaanderen
Latest version: 1.0.2

# `OSLO SPARQL Generator`

> Given an OSLO-compliant RDF file, this tool generates for each class a SPARQL query for it.

## Install
```bash
npm install @oslo-flanders/sparql-generator
```

## Global install
To use the service from the command line anywhere, you can install it globally.
```bash
npm install -g @oslo-flanders/sparql-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter          | Description                                                  | Required           | Possible values             |
| ------------------ | ------------------------------------------------------------ | ------------------ | --------------------------- |
| `--input`          | The URL or local file path of an OSLO-compliant RDF file     | :heavy_check_mark: |                             |
| `--output`         | The name of the output directory to store query files in     | No                 |                             |
| `--language`       | The language in which the SPARQL must be generated (labels)  | No                 |                             |
| `--silent`         | Suppress log messages                                        | No                 | `true` or `false` (default) |

## Usage
```bash
oslo-generator-sparql --input report.jsonld --output queries --language nl
```
npm package: @oslo-flanders/stakeholders-converter
Description: Converts an OSLO stakeholders csv file to a different format
Author: Digitaal Vlaanderen
Latest version: 1.0.4

# OSLO Stakeholders Conversion Service

> Transforms an OSLO stakeholders csv file to JSON-LD

## Install

```bash
npm install @oslo-flanders/stakeholders-converter
```

## Global install

To use the service from the command line anywhere, you can install it globally.

```bash
npm install -g @oslo-flanders/stakeholders-converter
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter | Description | Required | Possible values |
| --------- | --------- | ----------- | --------------- |
| `--input` | The URL or local file path of an OSLO stakeholders csv file | :heavy_check_mark: ||
| `--output` | Name of the output file | No, default `stakeholders.jsonld` ||
| `--contributorsColumn` | Name of the contributors column | No, default `MijnKolom` ||
| `--outputFormat` | Which output format to generate the stakeholders file for | No, default `application/ld+json` |`application/ld+json` or `application/json`|

## Usage

```bash
oslo-stakeholders-converter --input path/to/stakeholders.csv
oslo-stakeholders-converter --input path/to/stakeholders.csv --contributorsColumn contributors
oslo-stakeholders-converter --input path/to/stakeholders.csv --output path/to/output.jsonld --contributorsColumn MijnKolom
oslo-stakeholders-converter --input path/to/stakeholders.csv --output path/to/output.jsonld --outputFormat application/ld+json
oslo-stakeholders-converter --input path/to/stakeholders.csv --output path/to/output.json --outputFormat application/json
```
npm package: @oslo-flanders/stakeholders-validator
Description: Validates the generated stakeholders file to a set of validation rules
Author: Digitaal Vlaanderen
Latest version: 1.0.3

# OSLO Stakeholders Validator

> Validates stakeholder files for usage of OVO codes.

## Install

```bash
npm install @oslo-flanders/stakeholders-validator

```

## Global install

```bash
npm install -g @oslo-flanders/stakeholders-validator

```

## API

| Parameter  | Description                                              | Required           | Possible values                       |
| ---------- | -------------------------------------------------------- | ------------------ | ------------------------------------- |
| `--input`  | The URL or local file path of an OSLO stakeholders file. | :heavy_check_mark: |                                       |
| `--format` | Input format of the stakeholders file.                   | :heavy_check_mark: | application/json, application/ld+json |

## Usage

```bash
oslo-stakeholders-validator --input stakeholders.json --format application/json
oslo-stakeholders-validator --input https://somewebsite.com/stakeholders.json --format application/ld+json
```
npm package: @oslo-flanders/swagger-generator
Description: Generate OpenAPI Swagger YAML documentation.
Author: Digitaal Vlaanderen
Latest version: 1.0.3

# `OSLO Swagger Generator`

> Given an OSLO-compliant RDF file, this tool generates a Swagger API from it.

## Install
```bash
npm install @oslo-flanders/swagger-generator
```

## Global install
To use the service from the command line anywhere, you can install it globally.
```bash
npm install -g @oslo-flanders/swagger-generator
```

## API

The service is executed from the CLI and expects the following parameters:
| Parameter          | Description                                                  | Required           | Possible values             |
| ------------------ | ------------------------------------------------------------ | ------------------ | --------------------------- |
| `--input`          | The URL or local file path of an OSLO-compliant RDF file     | :heavy_check_mark: |                             |
| `--output`         | The name of the output file                                  | :heavy_check_mark: |                             |
| `--language`       | The language in which the Swagger must be generated (labels) | No                 |                             |
| `--versionSwagger` | Swagger OpenAPI specification version                        | :heavy_check_mark: |                             |
| `--versionAPI`     | API version                                                  | :heavy_check_mark: |                             |
| `--title`          | Title of the API document                                    | :heavy_check_mark: |                             |
| `--description`    | Description of the API document                              | :heavy_check_mark: |                             |
| `--contextURL`     | JSON-LD context URL of the datastandard used in the API      | :heavy_check_mark: |                             |
| `--baseURL`        | API base URL for endpoints and PURIs                         | :heavy_check_mark: |                             |
| `--contactName`    | Name of the person or organisation to contact about the API  | No                 |                             |
| `--contactEmail`   | E-mail to contact for questions about the API                | No                 |                             |
| `--contactURL`     | Link to follow as contact about the API                      | No                 |                             |
| `--licenseName`    | Name of the license of the API                               | No                 |                             |
| `--licenseURL`     | URL of the license of the API                                | No                 |                             |
| `--silent`         | Suppress log messages                                        | No                 | `true` or `false` (default) |

## Usage
```bash
oslo-generator-swagger --input report.jsonld --output swagger.json --language nl --versionSwagger 3.0.4 --versionAPI 1.0.0 --title "Mijn API" --description "Mijn API beschrijving." --contextURL http://example.com/context.jsonld --baseURL http://example.com
```