# @versatiledatakit/data-pipelines

> Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')

Latest version **1.4.1710292213** (published 2025-03-11) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @versatiledatakit/data-pipelines
pnpm add @versatiledatakit/data-pipelines
yarn add @versatiledatakit/data-pipelines
bun add @versatiledatakit/data-pipelines
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.4.1710292213 |
| Published | 2025-03-11 |
| First published | 2023-03-07 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | ^14.15.0 \|\| >=16.10.0 |
| Dependencies | 1 |
| Unpacked size | 5.6 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Versatile Data Kit |
| Maintainers | versatiledatakit |
| Keywords | versatile-data-kit, vdk, data-pipelines |

## Links

- npm: https://www.npmjs.com/package/@versatiledatakit/data-pipelines
- Repository: -
- npm.io page: https://npm.io/package/@versatiledatakit/data-pipelines

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) 2.3.1

## Alternatives

- [byte-size](https://npm.io/package/byte-size.md) — 2.1M weekly downloads
- [speed-limiter](https://npm.io/package/speed-limiter.md) — 16.0K weekly downloads
- [@powersync/node](https://npm.io/package/@powersync/node.md) — 10.9K weekly downloads
- [@ledgerhq/coin-cardano](https://npm.io/package/@ledgerhq/coin-cardano.md) — 1.0K weekly downloads
- [@jayesol/jayeson.lib.streamfinder](https://npm.io/package/@jayesol/jayeson.lib.streamfinder.md) — 1.0K weekly downloads

## Recent versions

- 1.4.1710292213 (latest) — 2025-03-11
- 1.4.1458775894 — 2024-09-18
- 1.4.0 — 2024-09-17
- 1.3.1307149998 — 2024-05-27
- 1.3.1249531270 — 2024-04-11
- 1.3.1233522886 — 2024-03-29
- 1.3.1195113116 — 2024-02-29
- 1.3.1184833162 — 2024-02-21
- 1.3.1131719191 — 2024-01-09
- 1.3.1073118691 — 2023-11-15
- 1.3.1012912743 — 2023-09-21
- 1.3.974721696 — 2023-08-21
- 1.3.970628404 — 2023-08-17
- 1.3.951673056 — 2023-08-01
- 1.3.948418659 — 2023-07-28
- … 31 more at https://npm.io/package/@versatiledatakit/data-pipelines/versions

## README

# VDK Frontend

VDK Frontend help Data Engineers develop, deploy, run, and manage data processing workloads (called "Data Job").
This library provides UI screens that helps to manage data jobs via [Data Pipelines API](/projects/control-service/projects/model/apidefs/datajob-api/api.yaml).

## Implementation

### Include the packages and ngrx dependencies
```shell
npm i @versatiledatakit/{data-pipelines,shared} # Actual library
npm i @ngrx/{effects,entity,router-store,@ngrx/store} # NgRx (store management)
npm i @clr/{angular,icons,ui} # Clarity (UI Components like DataGrid)

```

### Include the module and router

1. In `app.module.ts` include ngrx modules and actual Data Pipeline module
```typescript
imports: [
  ...
  VdkSharedCoreModule.forRoot(), // VDK shared core services
  VdkSharedFeaturesModule.forRoot(), // VDK shared features
  VdkSharedNgRxModule.forRootWithDevtools(), // VDK redux, actual ngrx implementation
  ...
]
```

2. in `app.router.ts` you can specify the parent path for data pipelines screens.
   This example shows how can we expose the data jobs list by using `data-pipelines` string as parent.
```typescript
const routes: Routes = [
  ...
  {
    path: 'data-pipelines',
    loadChildren: () => import('@versatiledatakit/data-pipelines').then(m => m.DataPipelinesRouting)
  },
  ...
]

@NgModule({
  imports: [RouterModule.forRoot(routes, routerOptions)],
  exports: [RouterModule]
})
export class AppRouting {
}
```
**Note:** You can inspect the [data-pipelines.routing.ts](src/lib/data-pipelines.routing.ts) to see what pages could be routed

### Configure the route

3. In `app.component.ts` somewhere in you menu you can include a link to the data jobs list, like:
```angular2html
<a id="navDataJobs" routerLink="/data-pipelines/list">Data Jobs</a>
```

## Code scaffolding

Run `ng generate component component-name --project data-pipelines` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project data-pipelines`.
> Note: Don't forget to add `--project data-pipelines` or else it will be added to the default project in your `angular.json` file.

Also, this project uses [NgRx](https://ngrx.io/) for state management, you can check their [schematics](https://ngrx.io/guide/schematics) for code generation like:
```shell
ng generate @ngrx/schematics:effect DataJobs --module data-pipelines.module.ts
```
## Build & Running

Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.

### Publishing

After building your library with `npm run build`, go to the dist folder `cd dist/data-pipelines` and run `npm publish`.

### Running unit tests

Run `npm run test` to execute the unit tests via [Karma](https://karma-runner.github.io).

### Testing

You can use the implementation in projects/frontend/data-pipelines/gui/projects/ui.
Using `npm link`(https://docs.npmjs.com/cli/v9/commands/npm-link) you can achieve real-time development of the library without the need to upload it to repository

---
_Source: https://npm.io/package/@versatiledatakit/data-pipelines · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
