npm.io
0.2.0 • Published 2 years ago

@ws-ui/datasources

Licence
MIT
Version
0.2.0
Deps
2
Size
246 kB
Vulns
0
Weekly
0

Qodly Datasources

Getting started

  1. git clone git@git-ps.wakanda.io:4d/web-studio/qodly-ds.giton GitHub!
  2. cd qodly-ds
  3. npm install
  4. npm run setup

Features

Node.js, npm version

This project relies on volta to ensure node version to be consistent across developers. It's also used in the GitHub/Gitlab workflow file.

Typescript

Leverages esbuild for blazing fast builds, but keeps tsc to generate .d.ts files. Generates two builds to support both ESM and CJS.

Commands:

  • build: runs typechecking then generates CJS, ESM and d.ts files in the build/ directory
  • clean: removes the build/ directory
  • type:dts: only generates d.ts
  • type:check: only run typechecking
  • type:build: only generates CJS and ESM
Tests

The project uses vitest. The coverage is done through vitest, using c8.

Commands:

  • test: runs vitest test runner
  • test:watch: runs vitest test runner in watch mode
  • test:coverage: runs vitest test runner and generates coverage reports
Format & lint

This project relies on the combination of eslint — through typescript-eslint for linting and prettier for formatting. It also uses cspell to ensure spelling

Commands:

  • format: runs prettier with automatic fixing
  • format:check: runs prettier without automatic fixing (used in CI)
  • lint: runs eslint with automatic fixing
  • lint:check: runs eslint without automatic fixing (used in CI)
  • spell:check: runs spellchecking
Releasing

Under the hood, this library uses semantic-release and commitizen. The goal is to avoid manual release process. Using semantic-release will automatically create a github release (hence tags) as well as an npm release. Based on your commit history, semantic-release will automatically create a patch, feature or breaking release.

Commands:

  • cz: interactive CLI that helps you generate a proper git commit message, using commitizen
  • semantic-release: triggers a release (used in CI)