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

rearguard

v5.2.52

Published

Tools for development browser (dll, lib, app), node (lib, app), isomorphic (lib).

Downloads

117

Readme

Rearguard

Getting Started

  npm i -g rearguard
  mkdir my-new-app
  cd my-new-app
  rearguard init browser app
  npm start
  • You will get a ready-made project for developing a browser application with an index.tsx entry point.
  • Then you can add your code to the index.tsx.
  • After you install the dependencies, you can list them in vendors.ts, this will allow rearguard to create a dll bundle.
import "react";
import "react-dom";
import "mobx";

For create DLL bundle you should run npm run build, after that you will have DLL bundle and you can run npm start.

  • The dll bundle is necessary in order to exclude rarely changing pieces of code from the Assembly process, thus saving time

What is it rearguard

Rearguard is a set of tools for developing client-server applications in which the code base is developed in a mono repository. This doesn't exclude the possibility of working in a familiar way, using separate repositories for the client, server and other libraries. But the way of code organization in the mono repository is considered to be the recommended one.

Rearguard supports the following types of projects: browser (dll, lib, app), node (lib, app), isomorphic (lib, app).

  • First of all, rearguard covers basic needs:

    • development
    • code verification by static analyzers (ESLint, Prettier)
    • testing (Jest)
    • assembly result (application, library, isomorphic library)
  • Second, the rearguard knows a lot about the project and can automatically manage VSCode configurations since VSCode settings are JSON files.

  • In the third case, the rearguard contains templates for the main project settings such as (.eslint.json, .eslintignore, .gitignore, Dockerfile, .dockerignore, nginx.conf, .prettierrc, .prettierignore). The rearguard adds these templates to the project and then uses them as settings for Webpack and other users, thus managing configurations such as .eslint.json. The rearguard allows you to overwrite the settings. If necessary, you can bring the settings to the current default settings, if the rearguard has been updated rearguard refresh --force.

  • The rearguard supports two schemes of code organization known as a mono repository and poly repository.

  • The rearguard also covers a large number of household moments, which eliminates the need to take care of these moments.

The rearguard as a caring parent :-)

Technology

  • Typescript
    • ts-loader
    • eslint with eslint-loader
    • ts-loader with ForkTsCheckerWebpackPlugin no yet implemented
  • React (TSX)
  • CSS
    • SCSS support
    • isomorphic-style-loader ( optional )
    • CSS-Modules for ( css and scss )
    • PostCSS
    • browserslist settings from package.json
    • stylelint
  • Webpack
  • WebpackDevServer
  • DllPlugin and DllReferencePlugin are applied
  • HotModuleReplacementPlugin, CaseSensitivePathsPlugin are applied
  • Enabled chunk optimization
  • All moment library locales are skipped
  • Mono and poly repositories support
  • BundleAnalyzer supported
  • The eslint with access to configuration from the project (rearguard use .eslint.json for eslint-loader)
  • The stylelint with access to configuration from the project (rearguard use .stylelintrc.json for stylelint-loader)
  • Supported testing environment (Jest, Karma), with access to configuration from the project no yet implemented
  • Workbox included no yet implemented

CLI

Project Initialization / Refresh

  • rearguard init browser app [ --force ]
  • rearguard init browser dll [ --force ]
  • rearguard init browser lib [ --force ]
  • rearguard init isomorphic [ --force ]
  • rearguard init node lib [ --force ]
  • rearguard init node app [ --force ]
  • rearguard refresh [ --force ]
  • rearguard sync

Develop mode

  • rearguard start [ --release | --debug | --ts_node_dev ]

Build mode

  • rearguard build [ --only_dev | --debug ]

Testing mode

  • rearguard test [ --debug ]

Validating

  • rearguard lint [ --fix ]

Group service

  • rearguard group bootstrap [ --only_dev | --debug ]
  • rearguard group clear
  • rearguard group link
  • rearguard group start [ --release | --debug | --ts_node_dev ]
  • rearguard group build [ --only_dev | --debug ]
  • rearguard group lint
  • rearguard group lint-fix
  • rearguard group typecheck
  • rearguard group validate-prettiness
  • rearguard group validate
  • rearguard group make-prettier
  • rearguard group test [ --debug ] no yet implemented
  • rearguard group publish [ --patch | --minor | --major ] no yet implemented
  • rearguard group refresh [ --force ]
  • rearguard group sync

Install

Globally, for use in multiple projects.

npm install -g rearguard

Locally, in the project for saves the exact version.

npm install -D rearguard

Examples

You can see an example of how to use it in the following projects:

!!! They're not perfect at the moment, but I'll upgrade them to a canonical look as much as I can.

Documentation / Документация