Giter Site home page Giter Site logo

roms1383 / generator-kroms Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.01 MB

Yeoman generator based on custom presets

License: MIT License

JavaScript 99.88% Shell 0.12%
yeoman-generator opinionated eslint-config commitlint-config semantic-release-config renovate-config husky-config lint-staged remark-lint nvm

generator-kroms's Introduction

generator-kroms

Latest Release License Build Status Codacy Quality Codacy Coverage Renovate Dependencies Semantic Release Gitmoji

Very opinionated generator for Yeoman


install

First, install Yeoman.

yarn global add yo

use

Then, install generator-kroms and run it on your new project:

yarn add generator-kroms --dev
yo kroms

features

  • synchronise LICENSE from your package.json informations (thanks to generator-license)
  • synchronise .gitignore from files found in project (only basic set so far), thanks to gitignore.io
  • synchronise README.md header and footer while leaving content untouched only if using proper delimiters
  • add configuration file for Renovate
  • add configuration file for NVM
  • add configuration files, dependencies and script for ESLint, using eslint-config-kroms as preset
  • add configuration file, dependencies and script for RemarkLint, using remark-preset-lint-recommended as preset
  • add configuration file, dependency and script for Jest
  • add dependency and script for Codacy (more infos)
  • add configuration file, dependencies and script for semantic-release, using semantic-release-kroms as preset
  • add configuration file and dependencies for commitlint, using commitlint-config-kroms as preset
  • add configuration file and dependency for lint-staged
  • add configuration file and dependency for husky
  • add configuration file and Git hooks for travis

More to come...

getting to know Yeoman

  • Yeoman has a heart of gold. I don't πŸ˜‚.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.

Romain KELIFA - MIT - 2019

generator-kroms's People

Contributors

renovate-bot avatar roms1383 avatar

Watchers

 avatar

generator-kroms's Issues

Fix .yo-rc.json parser

On latest run the parser probably fails since it yields a changes like:

{
  "generator-kroms": {
    "year": "2019-2021-2021-2021-2021-2021-2021-2021"
  }
}

Validate package.json

Additional features ✨

Fail in case of missing fields :

  • name
  • author
  • repository
  • license

Warn about missing fields :

  • main
  • files
  • description
  • keywords

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can fix this πŸ’ͺ.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here are some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


No npm token specified.

An npm token must be created and set in the NPM_TOKEN environment variable on your CI environment.

Please make sure to create an npm token and to set it in the NPM_TOKEN environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org/.


Good luck with your project ✨

Your semantic-release bot πŸ“¦πŸš€

Synchronize package.json and README.md

Additional features ✨

  • set version to 0.0.0-semantically-released
  • suggest keywords depending on found files ?
  • generate README.md :
    • header with package name, description and badges
    • footer from package author, license and year
    • keep existing content wrapped inside a predefined delimiter by re-applying
    • fail without exiting and warn if delimiters are not found

Fix badgen

Use badgen like:

[![Latest Release](https://badgen.net/npm/v/semantic-release-kroms)](https://www.npmjs.com/package/semantic-release-kroms)

instead of:

[![Latest Release](https://badgen.net/github/release/Roms1383/semantic-release-kroms)](https://www.npmjs.com/package/semantic-release-kroms)

Or at least add optional way to choose how badgen should be configured.

Synchronize ignored globs

Additional features ✨

  • create or update existing .gitignore
    • use gitignore.io
    • introspect existing project files to deduce which profile(s) to add
    • keep existing entries and merge
    • add custom folder, at least my-tests
  • create or update existing .eslintignore
    • based on reasonable rules ?
    • at least for my-tests
  • update existing .lintstagedrc ignore property
    • based on reasonable rules ? (e.g. minified files)
    • at least for my-tests
  • create or update existing .dockerignore
    • provided there's Dockerfile in the project
    • based on the same rules as .gitignore ?
  • create or update jest configuration to ignore certain globs
    • based on reasonable rules ?
    • at least for my-tests
  • there shouldn't be the need for a .remarkignore but, if ever, that should be synchronized too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.