https://github.com/sifrr/sifrr-dev
Development tools for packages/webapps etc
https://github.com/sifrr/sifrr-dev
changelog development npm package testing
Last synced: 8 months ago
JSON representation
Development tools for packages/webapps etc
- Host: GitHub
- URL: https://github.com/sifrr/sifrr-dev
- Owner: sifrr
- License: mit
- Created: 2019-05-30T08:44:07.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T03:49:44.000Z (over 3 years ago)
- Last Synced: 2025-01-31T09:05:27.521Z (over 1 year ago)
- Topics: changelog, development, npm, package, testing
- Language: JavaScript
- Homepage: https://github.com/sifrr/sifrr
- Size: 3.5 MB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# sifrr-dev · [](https://www.npmjs.com/package/@sifrr/dev)
> Development tools for sifrr packages, webapps
## Size
| Type | Size |
| :------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| Normal (`dist/sifrr.dev.cjs.js`) | [](https://github.com/sifrr/sifrr-dev/blob/master/dist/sifrr.dev.cjs.js) |
## Tools
- `getRollupConfig` Rollup configs to bundle JavaScript/TypeScript for node packages, es modules and browser packs. Supports node syntax as well as es module syntax, and TypeScript.
- `generateChangelog` Generate Changelog during release
- `loadDir` Load directory recursively
- `eslintrc` ESLint config and prettier
- `deepMerge` Deep Merge Objects
- `checkTag` check if a tag exists on github
- `exec` async execute a shell command with stdout and stderr
- `gitAddCommitPush` run command > git add files > git commit > git push
- `runTests` Run a full fledged test suite using mocha, chai, sinon, puppeteer, etc. Supports node syntax as well as es module syntax.
## Other packages
- [@commitlint/cli](https://github.com/conventional-changelog/commitlint) - Linting commits
- [Husky](https://github.com/typicode/husky) - Git hooks made easy
- [browserslist](https://github.com/browserslist/browserslist#readme) - browserlist used by babel, eslint, postcss, etc.
- [coveralls](https://github.com/nickmerwin/node-coveralls#readme) - upload coverage to coveralls.io
- [mock-require](https://github.com/boblauer/mock-require) - Simple, intuitive mocking of Node.js modules.
## Usage
### Husky
Just add `.huskyrc` and you are good to go.
### ESlint
Add this to your `eslintrc` config
```js
{
extends: ['sifrr']
}
```
and add pre-commit hook in your `.huskyrc`
```json
{
"hooks": {
"pre-commit": "yarn eslint --fix \"src/**/*.js\" && git add -A"
}
}
```
sifrr eslint config extends prettier config and plugin, you can add `prettier.config.js` if you want to change default options for prettier.
### commitlint
add commit-msg hook in your `.huskyrc`
```rc
{
"hooks": {
"commit-msg": "yarn commitlint -e $HUSKY_GIT_PARAMS"
}
}
```
add `commitlint.config.js` to your root folder
```js
module.exports = {
extends: ['@commitlint/config-conventional']
};
```
### Upload coverage to Coveralls
set `COVERALLS_REPO_TOKEN` environment variable, run tests with `lcov` reporter, Upload with this command:
```sh
cat ./coverage/lcov.info | yarn coveralls
```
### Eslint
Add tihs to your `.eslintrc.js`
```js
module.exports = {
extends: ['@sifrr']
};
```
### Prettier
Add `prettier.config.js`, and it will be picked by eslint. Add prettier extension in code editor you use for best use.