@envsa/repo-config

8.0.3 • Public • Published

@envsa/repo-config

NPM Package @envsa/repo-config License: MIT

Repository configuration and GitHub workflows for @envsa/shared-config.

Overview

It's a pnpm-flavored shared config with some essential files for a fresh repo.

This includes the following:

  • .npmrc with hoisting patterns for shared-config tool access
  • .gitignore with typical patterns
  • .editorconfig for basic code style settings
  • .vscode extension recommendations (additional settings and recommendations come from other shared-config packages)
  • .github folder with workflows:
    • github-release.yml Automates turning turning vX.X.X tags on main into GitHub releases with changelogs
    • sync-metadata.yml Populates GitHub repo metadata from package.json

In order to work around some hoisting issues related to plugin resolution in the other @envsa/shared-config packages, it's critical that it is applied before any other @envsa/shared-config packages are installed.

See @envsa/shared-config for the recommended single-package approach.

Setup

Run-once approach

If you just need to set up your .npmrc in anticipation of installing another shared config, you can run the script via dlx to copy the .npmrc to your home folder:

pnpm dlx @envsa/repo-config --init

Installation approach

Optionally, you can install the package if you think you'll ever want to regenerate the repo config files.

  1. Add the package:

    pnpm add -D @envsa/repo-config
  2. If / when you need to regenerate the repo config files, you can run the bundled script:

    pnpm exec repo-config --init

GitHub Configuration

There are two options for authenticating the release workflow action:

GitHub Token

  1. Ensure that read / write permissions are set for actions on the repository under Settings → Actions → General → Workflow permissions.

Personal Access token

If you want releases to come from your account instead of github_actions, then:

  1. Create a fine-grained personal access token in your GitHub account with the following permissions:

    Permission Access
    Administration Read and write
    Contents Read and write
    Metadata Read-only
  2. Add the token as a secret to the repository under the key PERSONAL_ACCESS_TOKEN.

GitHub Actions

Note: Action dependencies have been forked.

Original Fork Modifications
bullrich/generate-release-changelog kitschpatrol/github-action-release-changelog
softprops/action-gh-release kitschpatrol/github-action-release
kbrashears5/github-action-repo-sync kitschpatrol/github-action-repo-sync

Usage

CLI

Command: repo-config

Repository configuration and GitHub workflows for @envsa/shared-config.

Usage:

repo-config [<file|glob> ...]
Option Argument Description
--init
-i
Initialize by copying starter config files to your project root.
--print-config
-p
<path> Print the effective configuration at a certain path.
--help
-h
Print this help info.
--version
-v
Print the package version.

Credits

Eric Mika is the author of the original @kitschpatrol/shared-config project on which this is based.

License

MIT © Liam Rella

/@envsa/repo-config/

    Package Sidebar

    Install

    npm i @envsa/repo-config

    Weekly Downloads

    23

    Version

    8.0.3

    License

    MIT

    Unpacked Size

    185 kB

    Total Files

    12

    Last publish

    Collaborators

    • rellafella