Skip to content

Nx target defaults for standalone setup in nx-plugin#1111

@BioPhoton

Description

@BioPhoton

Preconditions

User story

As a Nx user I want to have my CodePushup targets set up automatically in standalone mode.

Acceptance criteria

  • default target
  • plugin caching
  • DX when using with or without caching

Implementation details

nx.json

{"plugins": [{"plugin": "@code-pushup/nx-plugin", "options":{"targetName": "cp", "projectPrefix": "cli", } } ] }

packages/utils/project.json

{"targets":{"code-pushup":{"executor": "@code-pushup/nx-plugin:cli", "cache": true, "inputs": ["default", "code-pushup-inputs"], "outputs": ["{projectRoot}/.code-pushup/**/*"], "options":{"bin": "node ./packages/cli/src/index.ts", "config": "{projectRoot}/code-pushup.config.ts", "progress": false, "verbose": true, "persist":{"outputDir": "{projectRoot}/.code-pushup" } }, "configurations":{"autorun":{"command": "autorun" }, "print-config":{"command": "print-config", "output": "{projectRoot}/.code-pushup/code-pushup-config.json" }, "collect":{"command": "collect", "cache":{"write": true } }, "upload":{"command": "upload", "upload":{"project": "cli-{projectName}" } }, /* per-plugin “collect” configs (distinct cache keys) */"collect-eslint-cache":{"command": "collect", "onlyPlugins": ["eslint"], "cache":{"write": true }, "persist":{"skipReports": true } }, "collect-coverage-cache":{"command": "collect", "onlyPlugins": ["coverage"], "cache":{"write": true }, "persist":{"skipReports": true } }, "collect-typescript-cache":{"command": "collect", "onlyPlugins": ["typescript"], "cache":{"write": true }, "persist":{"skipReports": true } }, "collect-jsdocs-cache":{"command": "collect", "onlyPlugins": ["jsdocs"], "cache":{"write": true }, "persist":{"skipReports": true } }, "collect-lighthouse-cache":{"command": "collect", "onlyPlugins": ["lighthouse"], "cache":{"write": true }, "persist":{"skipReports": true } }, "collect-js-packages-cache":{"command": "collect", "onlyPlugins": ["js-packages"] } }, "defaultConfiguration": "autorun" } } }

Run examples:

  • nx run myproj:code-pushup → autorun
  • nx run myproj:code-pushup:collect-eslint → collect eslint only
  • nx run myproj:code-pushup:collect-eslint-cached → for plugin caching setup
  • nx run myproj:code-pushup:upload

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions