@waldronmatt/babel-config

A shareable babel configuration for projects.


Keywords
babel, babel-config, auto-config, browserslist-config, commitizen-config, commitlint-config, eslint-config, htmlhint-config, jest-config, lerna, lint-staged-config, markdownlint-config, monorepo, postcss-config, prettier-config, secretlint-config, semantic-release-config, stylelint-config, tsconfig-config, webpack-config, yarn-workspaces
License
MIT
Install
npm install @waldronmatt/babel-config@1.0.2

Documentation

Shareable Configs

My personal shareable configurations with fully automated package publishing to the NPM Registry.

Features

  • Automated publishing to the NPM Registry for changed packages
  • Automated CHANGELOG.md generation and GitHub releases using conventional commits
  • Automated merging of Dependabot pull requests of dependency updates.

Installation

Install all configs and associated packages as development dependencies (excludes Webpack):

Note: This will automatically create configuration files in your root directory.

yarn add -D @waldronmatt/browserslist-config commitizen @waldronmatt/commitizen-config @commitlint/cli @waldronmatt/commitlint-config eslint @waldronmatt/eslint-config htmlhint @waldronmatt/htmlhint-config jest @waldronmatt/jest-config lint-staged @waldronmatt/lint-staged-config markdownlint @waldronmatt/markdownlint-config postcss @waldronmatt/postcss-config prettier @waldronmatt/prettier-config secretlint @waldronmatt/secretlint-config semantic-release @waldronmatt/semantic-release-config stylelint @waldronmatt/stylelint-config @waldronmatt/tsconfig-config

Add NPM Scripts

npm set-script commit "git-cz" && npm set-script lint:md "markdownlint --fix **/*.md --ignore node_modules --ignore **/CHANGELOG.md" && npm set-script lint:js "eslint --fix **/*.{js,jsx,ts,tsx}" && npm set-script lint:css "stylelint --fix **/*.{css,scss}" && npm set-script lint:html "htmlhint --config ./node_modules/@waldronmatt/htmlhint-config/index.json **/*.html" && npm set-script lint:secrets "npx secretlint **/*" && npm set-script lint "yarn lint:md && yarn lint:js && yarn lint:css && yarn lint:html && yarn lint:secrets" && npm set-script test "jest"

Install Husky and Git Hooks

Install husky and all hooks and npm scripts associated with configs:

yarn add -D husky && npm set-script prepare "husky install" && yarn prepare && npx husky add .husky/commit-msg 'npx --no-install commitlint --edit' && npx husky add .husky/pre-commit 'npx --no-install lint-staged'

Semantic Release

For semantic-release, create a release file by following the directions in the README.md.

Webpack

For Webpack, follow the directions in the README.md.

Packages

Other Awesome Monorepos

  • lerna-release-workflow - A basic Lerna monorepo with Yarn Workspaces, Conventional Commits and GitHub Actions.
  • base-configs - A collection of base configs for code quality and linting tools.
  • threepio - Shareable configurations that are used within the Galaxy.

License

MIT