Official moon configurations for popular JavaScript developer tooling.

Overview

moon development configs

build status npm version npm license

This repository is a collection of moon owned and maintained configurations and presets for common developer tools -- primarily tools used by moonrepo and its authors.

It aims to provide a strict, modern, developer accessible, convention over configuration approach to JavaScript, TypeScript (first), and React/Solid projects! All of these configs have been designed for local and developer tooling based development!

Packages

The following packages are not tied to moon directly, and can be used stand-alone within their respective tools.

  • babel-preset-moon - Babel preset that utilizes env, typescript, and react presets.
  • eslint-config-moon - ESLint config that extends airbnb, unicorn, react, and a handful of other plugins.
  • jest-preset-moon - Jest preset that utilizes the circus runner, and provides code coverage.
  • prettier-config-moon - Prettier config that aligns with accessibility and community standards.
  • tsconfig-moon - TypeScript configs for normal, react, and reference based projects.

And last but not least, the @moonrepo/dev package that provides helpers, constans, and more. This should rarely be used directly!

FAQ

Can I contribute changes?

All these configs are personal preference and won't change drastically. You're welcome to use them as-is, but major changes are unlikely to land. Feel free to create an issue otherwise so that we can discuss any intended change.

Why tabs over spaces?

The JavaScript ecosystem heavily prefers spaces over tabs. However, tabs are more accessible as they allow developers with vision impairments to control their indentation and improve its readability. Preferring accessibility compliance over a stylistic choice is always the better option.

How are packages versioned?

To start, this repo utilizes conventional commits for versioning and publishing. We achieve this by requiring a specific prefix in pull request titles. With that being said, the versioning strategy is as follows:

  • Patch
    • Dependency upgrades.
    • Bug fixes.
  • Minor
    • Enabling or disabling settings or lint rules.
    • Adding new dependencies (like babel plugins).
    • Adding new features.
  • Major
    • Node.js minimum requirements / upgraes.
    • Major version upgrades for tools (e.g., eslint 7 -> 8).
You might also like...

This repo contains configurations for webpack, webhint, stylelint and eslint, it is a boiler-plate template and a starting point for coming projects.

Project Name Description the project. Built With Major languages Frameworks Technologies used Live Demo (if available) Experience a live Demo πŸš€ Getti

Oct 20, 2022

View a GCP project's API/service endpoint configurations.

View a GCP project's API/service endpoint configurations.

GCP Service Observer This is an application that displays GCP Service/API endpoint information for a given project. GCP requires API endpoints to be e

Dec 28, 2022

Git Frameworker is a CLI tool for quickly bootstrapping custom framework configurations.

Git Frameworker is a CLI tool for quickly bootstrapping custom framework configurations.

Git Frameworker Git Frameworker is a tool that allows you to quickly bootstrap a project using a framework from GitHub. If the repository you clone co

May 3, 2023

Component oriented framework with Virtual dom (fast, stable, with tooling)

Component oriented framework with Virtual dom (fast, stable, with tooling)

Bobril Main site bobril.com Changelog of npm version: https://github.com/Bobris/Bobril/blob/master/CHANGELOG.md Component oriented framework inspired

Dec 4, 2022

Intelligent Tailwind CSS tooling for coc.nvim

Intelligent Tailwind CSS tooling for coc.nvim

coc-tailwindcss3 fork from a vscode-tailwindcss Intelligent Tailwind CSS tooling for coc.nvim. Motivation There are two coc.nvim extensions to "tailwi

Jan 1, 2023

A Typescript Hardhat-based template to develop evm-based smart contracts with all the tooling you need.

EVM-based Smart Contract Scaffold A Typescript Hardhat-based template to develop evm-based smart contracts with all the tooling you need. Features Use

Oct 24, 2022

Connect Web Integration illustrates the integration of Connect-Web in various JS frameworks and tooling

Connect Web Integration Connect Web Integration is a repository of example projects using Connect-Web with various JS frameworks and tooling. It provi

Dec 29, 2022

Eth-explorers-extension - Chrome extension to open Ethereum addresses & transaction hash from any page on popular explorers + dashboards

Eth-explorers-extension - Chrome extension to open Ethereum addresses & transaction hash from any page on popular explorers + dashboards

eth-explorers-extension(s) This repository contains two folders with two extensions that work for address and transactions respectively. 1. eth-addres

Jan 6, 2023

A collaborative project to parody the once exceedingly popular video game Cloud from ThatGameCompany.

A collaborative project to parody the once exceedingly popular video game Cloud from ThatGameCompany.

A collaborative project to parody the once exceedingly popular video game Cloud from ThatGameCompany.

Mar 5, 2022
Owner
moonrepo
A build system and developer tools for the frontend ecosystem, written in Rust.
moonrepo
Grupprojekt fΓΆr kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet fΓΆr kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide FΓΆr information om hur utv

Svante Jonsson IT-HΓΆgskolan 3 May 18, 2022
Hemsida fΓΆr personer i Sverige som kan och vill erbjuda boende till mΓ€nniskor pΓ₯ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo fΓΆr kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
An NPM package to help you get started with modern javascript tooling easier & faster

MODERNIZE.JS Creating config files for webpack and babel can be an hell of stress, this NPM package helps you get started with writing code as soon as

Kelechi Okoronkwo 5 Sep 22, 2022
Source of the (Un)official Moodle Developer Resources

Moodle Developer Resources Introduction This repository includes the source for the Moodle Developer Resources - a collection of resources aimed at ma

Moodle Development 19 Dec 16, 2022
New base script bot wa by Ramdani Official, don't forget to subscribe youtube Ramdani Official.

Requirements β€’ Installation β€’ Thanks to β€’ Official Group Bot β€’ Donate Information bahasa Indonesia Ramdani Botz V17 adalah bot yang di ciptakan oleh R

Ramdani Official 22 Nov 1, 2022
βš™οΈ Monorepo for shared configurations used in Alphaworks

@alpha-dao/shared-config Usage Shared Config Wondering which configuration to use when starting a new project? Then you're probably looking for this m

Alphaworks 8 Nov 17, 2022
An Eleventy wrapper for type supported configurations

Shareable Eleventy configuration strap. The module can be dropped in to your .eleventy.js configuration file for Typed supported configuration options.

ΞΞ™ΞšΞŸΞ›Ξ‘Ξ£ 5 Jun 17, 2022
fcall, fetch and call any remote hot functions, anywhere, anytime, without installations or configurations.

fcall, fetch and call any remote hot functions, anywhere, anytime, without installations or configurations.

η«‹ε…š Lidang 4 Sep 20, 2022
πŸš€ A boilerplate with generic configurations to a Nextjs project with bun, vitest, cicd and etc

?? Next.JS Template with Linter ?? Tools: NextJS Typescript ESLint (Code Pattern) Prettier (Formatter) Husky (Pre-commit) Vitest (Unit/Integration Tes

Rodrigo Victor 8 Dec 18, 2022