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

smile-config

v1.6.0

Published

A tool for cloning and templating code with configuration easily.

Downloads

8

Readme

Smile Config

A tool for cloning and templating code with configuration easily. It features sharable configs for any template, such as linters, file structure, and config files.

npx smile-config

usage-example

Table of Contents

  1. Table of Contents
  2. Goal and Philosophy
  3. Quickstart
  4. Custom select
  5. Built-in configs
  6. Build your config
  7. TODO
  8. License

Goal and Philosophy

Well configured projects allow a team to work effectively and fast. Some organizations have their configs and reuse them on different projects. Suddenly, the setup of each tool requires time, and often this step is skipped, which leads to worse and magic code.

Smile-Config allows you to save this config and files to a sharable module. You can apply this module to any project in few steps. Smile-Config will install all needed dependencies and copy files, so you don't need to waste time configuring your tools each time.

It features Node.js best practices techniques in the default config, so you can start using it immediately.

Additionally, you can manually select which modules you want to use in your project, so it's flexible. Each module can include different configs, such as for frontend, backend, frameworks, and others. Thus, you can build a pure and complex module as well.

Quickstart

  1. Install Node.js
  2. Install the package globally:
$ npm install smile-config -g

Or use it immediately:

$ npx smile-config

That's it! Now you can use the app in any folder.

Custom select

Built-in and your configs support custom module selecting, so you can choose your setup.

custom-select-demo

Built-in configs

Default

Built-in default config has:

  • Branch Name Lint - Validating and linting the git branch name;
  • CommitLint - Lint commit messages;
  • EditorConfig - EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs;
  • ESLint with addons: TypeScript, TSLint ordered-imports, SmileStyle;
  • StyleLint - A mighty, modern linter that helps you avoid errors and enforce conventions in your styles;
  • Prettier with addons: ESLint and StyleLint support;
  • Husky with git hooks: precommit, prepush, commit-msg;
  • Lint Staged - Run linters against staged git files and don't let 💩 slip into your code base!;
  • Smile Track - is an app for auto calculating and tracking time by using your git history;
  • VSCode suggested extensions - A good set of extensions can make working with a particular workspace or programming language more productive and you'd often like to share this list with your team or colleagues.

list-of-default-modules

Build your config

Note: API will be changed in the future

  1. Fork the repo;
  2. Create your own config. Use default as an example;
  3. Create pull request.

TODO

  • [ ] Add more configs
  • [ ] Expose API for building your configs
  • [ ] Support NPM packages as configs
  • [ ] Support GIT repos as configs

License

Created with ❤ by Dmytro Vakulenko, 2021.