Git Product home page Git Product logo

simple-ci's Introduction

@tufan-io/simple-ci

action-ci

Standardized development tooling for tufan.io (node.js) projects.

Usage

# set registry config
npm config set @tufan-io:registry https://npm.pkg.github.com/tufan-io

# install the package
npm install @tufan-io/simple-ci --save-dev

# configure simple-ci -
#  - an interactive prompt to seek minimal information
#  - uses these answers to make modifications mentioned above
npx simple-ci config
# `npm simple-ci config --help` for details

Why?

tufan.io is a primarily TypeScript dev shop. The growing sophistication of tufan.io's development process, has resulted in an unexpected pain point - keeping the scores of modules in-sync as the individual tools used expand and evolve.

This is meant to be a single module that standardizes tufan.io development tooling. Importantly, it brings it under the semver management via npm.

The module uses a script to be run post-installation, and makes inplace modification to the dependent module. Specifically:

├── .editorconfig
├── .github
│   └── workflows
│       └── action-ci.yml
├── .gitignore
├── .npmignore
├── .npmrc
├── .vscode
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── LICENSE
├── README.md
├── SECURITY.md
├── docs
│   ├── DevTools.md
│   └── code-of-conduct.md
├── package.json       (partial overwirte)
├── src                (optional - only when absent, to allow run-scripts to work)
│   ├── index.ts        ...
│   └── test            ...
│       └── index.ts    ...
├── tsconfig.json
└── tslint.json

These files, with the exception of ./src/* and parts of package.json, are designed to be managed by simple-ci. Meaning a flow of:

 npm up @tufan-io/simple-ci
 npx simple-ci config

Will result in all ther files being overwritten. It's best to log issues against simple-ci for changes you want to be widely available. Any other changes will have to be manually managed in conjunction with git diff.

Development Tooling

License

Apache-2.0

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Support

Bugs, PRs, comments, suggestions welcomed!

simple-ci's People

Contributors

sramam avatar dependabot[bot] avatar

Watchers

 avatar James Cloos avatar Subu Gupta avatar

simple-ci's Issues

move postpublish run-script to prepublish

The git-pushes currently happening in postpublish should be happening before the publish.
There is a small chance of failure to push after publish. If left untended, this results is a
published version that cannot be recovered from version control.

Add coverage thresholds

coverage thresholds are needed in nyc config.

Need to add these to existing nyc config.

  "branches": 100,
  "lines": 100,
  "functions": 100,
  "statements": 100

The current config includes watermarks, which are only used for visual indication in reports.

"nyc": {
    "exclude": [
      "**/test/**",
      "**/helpers/**",
      ".tmp/**"
    ],
    "extension": [
      ".ts",
      ".tsx"
    ],
    "watermarks": {
      "branches": [
        100,
        100
      ],
      "functions": [
        100,
        100
      ],
      "lines": [
        100,
        100
      ],
      "statements": [
        100,
        100
      ]
    }
  },

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.