@nx-squeezer/workspace
TypeScript icon, indicating that this package has built-in type declarations

6.0.4 • Public • Published

@nx-squeezer/workspace

CI npm latest version CHANGELOG codecov compodoc renovate semantic-release

Contributing and maintaining OSS projects can be boosted 🚀 through a set of tools 🔨 and processes ⚙️. This package provides generators for Nx and Angular to configure a variety of those tools with just a command, integrating without any friction with your existing repo. Check the documentation to see all available features.

Setup

npm install --save-dev @nx-squeezer/workspace

Recommended order to setup all the generators:

nx g @nx-squeezer/workspace:prettier
nx g @nx-squeezer/workspace:eslint
nx g @nx-squeezer/workspace:tsconfig
nx g @nx-squeezer/workspace:lint-staged
nx g @nx-squeezer/workspace:contributors
nx g @nx-squeezer/workspace:github-workflow
nx g @nx-squeezer/workspace:codecov

Generators

Setup command:

nx g @nx-squeezer/workspace:codecov

Adds codecov to a project to have coverage information, including:

  • Generating configuration file .codecov.yml.
  • Configures individual projects with test target to expose coverage information.
  • Updates CI file to upload coverage report.
  • Adds badge to README.md.

Setup command:

nx g @nx-squeezer/workspace:commitlint

Uses commitlint and husky to lint commit messages to adhere to conventional commits. It uses the default configuration provided by @commitlint/config-conventional.

Setup command:

nx g @nx-squeezer/workspace:contributors

Adds contributors attribution to README.md using contrib.rocks.

Setup command, which will prompt one by one the set of rules that can be added:

nx g @nx-squeezer/workspace:eslint

Adds a set of ESLint rules to enhance code style in projects. Shipped as a generator instead of a configuration package so that it can be customized and edited by repo, and to automate the configuration of projects with TypeScript. Additionally, since it is an Nx plugin it can automatically apply upgrade changes if needed. The rules that it adds include:

  • eslint:recommended
  • sonarjs/recommended
  • unused-imports
  • @typescript-eslint/recommended
  • deprecation
  • import/recommended

Setup command:

nx g @nx-squeezer/workspace:github-workflow

Adds a GitHub Action workflow to automate the CI pipeline for your repo. It includes the following actions:

  • Checkout.
  • Setup Node.
  • Install dependencies.
  • Targets for build, test, lint, e2e.
  • Configure nx.json.
  • Workflow adapted to Nx workspaces.
  • Add a badge to README.md.

Options:

  • Force overwriting of workflow with --force (default false).
  • Provide default branch with --branch=master (default main).
  • Use Nx Cloud --useNxCloud (default true).

Setup command:

nx g @nx-squeezer/workspace:lint-staged

Uses lint-staged and husky to lint files when being committed to the repo.

Setup command:

nx g @nx-squeezer/workspace:prettier

Updates prettier configuration with some defaults, and adds prettier/recommended rule to ESLint configuration.

Setup command:

nx g @nx-squeezer/workspace:tsconfig

Updates the tsconfig.json file adding a default configuration with stricter options enabled.

Contributors

contributors

Package Sidebar

Install

npm i @nx-squeezer/workspace

Weekly Downloads

4

Version

6.0.4

License

MIT

Unpacked Size

135 kB

Total Files

159

Last publish

Collaborators

  • samuel.fernandez