Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fluent-ci-templates/nodejs-pipeline
A ready-to-use CI/CD Pipeline and jobs for NodeJS projects.
https://github.com/fluent-ci-templates/nodejs-pipeline
dagger deno deno-module devops pipeline typescript
Last synced: about 6 hours ago
JSON representation
A ready-to-use CI/CD Pipeline and jobs for NodeJS projects.
- Host: GitHub
- URL: https://github.com/fluent-ci-templates/nodejs-pipeline
- Owner: fluent-ci-templates
- License: mit
- Created: 2023-07-04T17:09:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-18T19:58:07.000Z (5 months ago)
- Last Synced: 2024-07-24T01:02:24.395Z (4 months ago)
- Topics: dagger, deno, deno-module, devops, pipeline, typescript
- Language: TypeScript
- Homepage:
- Size: 297 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Node.js Pipeline
[![fluentci pipeline](https://shield.fluentci.io/x/nodejs_pipeline)](https://pkg.fluentci.io/nodejs_pipeline)
[![deno module](https://shield.deno.dev/x/nodejs_pipeline)](https://deno.land/x/nodejs_pipeline)
![deno compatibility](https://shield.deno.dev/deno/^1.41)
[![dagger-min-version](https://shield.fluentci.io/dagger/v0.11.7)](https://dagger.io)
[![](https://jsr.io/badges/@fluentci/nodejs)](https://jsr.io/@fluentci/nodejs)
[![codecov](https://img.shields.io/codecov/c/gh/fluent-ci-templates/nodejs-pipeline)](https://codecov.io/gh/fluent-ci-templates/nodejs-pipeline)
[![ci](https://github.com/fluent-ci-templates/nodejs-pipeline/actions/workflows/ci.yml/badge.svg)](https://github.com/fluent-ci-templates/nodejs-pipeline/actions/workflows/ci.yml)A ready-to-use CI/CD Pipeline for your [Node.js](https://nodejs.org/en) projects.
## 🚀 Usage
Run the following command:
```bash
fluentci run nodejs_pipeline
```Or, if you want to use it as a template:
```bash
fluentci init -t nodejs
```This will create a `.fluentci` folder in your project.
Now you can run the pipeline with:
```bash
fluentci run .
```Or simply:
```bash
fluentci
```## 🧩 Dagger Module
Use as a [Dagger](https://dagger.io) module:
```bash
dagger install github.com/fluent-ci-templates/nodejs-pipeline@main
```Call a function from the module:
```bash
dagger -m github.com/fluent-ci-templates/nodejs-pipeline@main call \
test --src .dagger -m github.com/fluent-ci-templates/nodejs-pipeline@main call \
build --src .
```## 🛠️ Environment variables
| Variable | Description | Default |
| ----------------- | ------------------------------------------ | ---------- |
| NODE_VERSION | Node version to use | 18.16.1 |
| PACKAGE_MANAGER | Package manager to use (npm, yarn, pnpm) | npm |## ✨ Jobs
| Job | Description |
| ------- | -------------------- |
| build | Build the project |
| install | Install dependencies |
| test | Run the tests |
| run | Run a custom task |```typescript
test(
src: Directory | string | undefined = ".",
packageManager?: string,
nodeVersion?: string
): Promisebuild(
src: Directory | string | undefined = ".",
packageManager?: string,
nodeVersion?: string
): Promiserun(
src: Directory | string | undefined = ".",
task: string,
packageManager?: string,
nodeVersion?: string
): Promiseinstall(
src: Directory | string | undefined = ".",
packageManager?: string,
nodeVersion?: string
): Promisedev(
src: Directory | string | undefined = ".",
packageManager?: string,
nodeVersion?: string
): Promise
```## 👨💻 Programmatic usage
You can also use this pipeline programmatically:
```ts
import { test, build } from "jsr:@fluentci/nodejs";await test();
await build();
```