npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

projex

v1.41.0

Published

A command line to manage the workflow

Downloads

326

Readme

Projex NPM Version


A command line to manage the workflow of the projects with git, vtex and bash commands

Installation

npm i projex

npm i -g projex

Available commands:

$ projex

    A command line to manage the workflow

    VERSION
      projex/1.26.0 darwin-x64 node-v18.20.1

    USAGE
      $ projex [COMMAND]

    TOPICS
      bash  Utilities for manage the bash process and workflow
      git   Utilities for manage the git repository
      vtex  Utilities for manage the vtex process and workflow

    COMMANDS
      help     display help for projex

Local development

Start npm run dev

local sudo npm link ò node npm link

Post in npm

Publish to npm npm run postrelease

How to create new module

Create the command file in the folder ./src/commands with the name of the command, for example ./src/commands/git/git.ts, create the examples, flags and args options in the file and export the command, you can check the hello-word example app of oclif to see how to create a command or check the existent commands in the folder ./src/commands

List of commands

You can see the list of commands with the command projex --help and you can see the help of a specific command with the command projex <command> --help

| Command | Description | | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | projex git init | Initialize base files for managing documentation and versioning in a Git repository | | projex git setup husky | Set up Husky for selected repositories (only for Git users) | | projex git setup devops template | Add necessary files and folders for Azure DevOps setup | | projex git update changelog | Update the changelog file with the latest changes in the current branch or with the provided content. (Only for git users) | | projex git clone | Clone the specified repositories (Only for git users) | | projex git release | Bumps the app version, commits, and pushes the app to the remote repository (Only for git users). | | projex bash run | Run a command in the current directory or select multiple directories | | projex vtex login | Command to log in to VTEX. This command uses the API key and API token to obtain the authentication token and save it in the VTEX config file, allowing the process to use the VTEX CLI. | | projex vtex cms backup | Download the files from the checkout files of a VTEX site | | projex vtex cms deploy | Deploy local files in the checkout of the current account | | projex vtex run | Run a command and automatically accept any "Yes/No" questions by default. | | projex vtex run-script | Run a command from the manifest.json file, if the command not exist in this file pass to search in the package.json file default. |

Commands

Bumps the app version, commits, and pushes the app to the remote repository (Only for git users).

USAGE
  $ projex git release [RELEASETYPE] [TAGNAME] [-v] [-h] [-y] [--no-push] [--no-deploy] [--no-check-release]
    [--no-tag] [--get-version]

ARGUMENTS
  RELEASETYPE  (pre|major|minor|patch|prerelease) [default: patch] The type of release. Defaults to "patch".
  TAGNAME      (stable|beta|hkignore) [default: beta] The name of the tag. Defaults to "beta".

FLAGS
  -h, --help              Shows this help message.
  -v, --verbose           Shows debug level logs.
  -y, --yes               Automatically answer yes to all prompts.
      --get-only-version-number  Get the version number only.
      --get-release-type         Get the release type of the current version.
      --get-version              Only get the current version without performing any release actions.
      --no-check-release         Do not automatically check if the release is valid and does not have local changes.
      --no-deploy                Do not automatically run the preRelease script from the manifest file.
      --no-post-release          Do not automatically run the postRelease script from the manifest file.
      --no-pre-release           Do not automatically run the preRelease script from the manifest file.
      --no-push                  Do not automatically push all changes to the remote repository.
      --no-tag                   Do not automatically tag the release.

DESCRIPTION
  Bumps the app version, commits, and pushes the app to the remote repository (Only for git users).

EXAMPLES
  projex git release

  projex git release patch

  projex git release patch beta

  projex git release minor stable

  projex git release pre

Manage the release version of your project

The command projex git release allows you to manage the release version of your project

To use the command you need to have the package.json file in the root of the project and the version field in the file, the command will update the version of the project in the package.json file and create a tag with the version in the git repository.

You can make the actualization of the version in another files creating the attribute projex.releaseFiles in the package.json file with the list of files that you want to update with the new version, for example:

  "projex": {
    "releaseFiles": [
      "library/package.json",
       "react/package.json",
       "node/package.json"
    ]
  }

When make the update of the version, the command will update the CHANGELOG.md file with the new version making a release section with the structure:

## [1.25.0] - 2024-04-24

The changelog file need to manage the next structure:

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]

Your changes all need to be under the ## [Unreleased] section, the command will move the changes to the new release section with the new version.

Manage the changelog of your project

The command projex git update changelog allows you to manage the changelog of your project, check the usage of the command:

Update the changelog file with the latest changes in the current branch or with the provided content. (Only for git users)

USAGE
  $ projex git update changelog [RELEASETYPE] [CHANGELOGCONTENT] [-v] [-h]

ARGUMENTS
  RELEASETYPE       (Added|Changed|Fixed|Major) [default: Changed] The type of release for the changelog.
  CHANGELOGCONTENT  Pass the list of comments in a string. This content is used to generate the changelog file changes
                    without using git rev-list. Example: 'test-change-01\ntest-change-02'. Use '\\n' to separate the
                    comments without adding space between them.

FLAGS
  -h, --help     Shows this help message.
  -v, --verbose  Shows debug level logs.

DESCRIPTION
  Update the changelog file with the latest changes in the current branch or with the provided content. (Only for git users)

EXAMPLES
  projex git update changelog [releaseType]

  projex git update changelog Major 'test-change-01\ntest-change-02'

To use the command you need to have the CHANGELOG.md file in the root of the project, the command will update the changelog file with the latest changes in the current branch or with the provided content.

Setup husky in your project

The command projex git setup husky allows you to setup husky in your project, check the usage of the command:

Create a basic git files

The command projex git init allows you to create the basic files for managing documentation and versioning in a Git repository, check the usage of the command:

this command will create the following files:

  - docs - Folder to store the documentation of the project
  - README.md - File with the description of the project
  - CHANGELOG.md - File with the changelog of the project
  - .gitignore - File with the gitignore rules