Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wintercounter/mhy
🧩 A zero-config, out-of-the-box, multi-purpose toolbox and development environment
https://github.com/wintercounter/mhy
babel build cli development-environment jest out-of-the-box react redux storybook webpack zero-configuration
Last synced: 10 days ago
JSON representation
🧩 A zero-config, out-of-the-box, multi-purpose toolbox and development environment
- Host: GitHub
- URL: https://github.com/wintercounter/mhy
- Owner: wintercounter
- License: mit
- Created: 2018-06-22T06:29:28.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-11T04:09:49.000Z (12 months ago)
- Last Synced: 2024-10-11T16:11:12.201Z (25 days ago)
- Topics: babel, build, cli, development-environment, jest, out-of-the-box, react, redux, storybook, webpack, zero-configuration
- Language: JavaScript
- Homepage: https://mhy.js.org
- Size: 5.44 MB
- Stars: 135
- Watchers: 8
- Forks: 32
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
mhy
A zero-config, out-of-the-box, multi-purpose toolbox and development environment.
---
## Summary
It's really hard to define what `mhy` \(my\) is, because it tries to create a unified developer experience for any stage of your project:
- a pre-configured **development environment** to not waste time with the set-up when starting a new project or just need a quick playground.
- a pre-configured **production environment** to help you reach production faster compiling/building your code without any necessary setup.
- an **ecosystem** to be able to run different task together at once, connected together perfectly.
- a **toolbox** help your work with the most common tasks.
- a **solution for littering** your machine with the same npm package over and over again.
- a **config management** tool to make necessary changes faster at a single place.
- an **interoperable environment** to be shared across multiple projects and ensure they are being build on the same principles/stack.> `mhy` helps you to be able to focus on your code again rather then the tech behind it.
## Using `mhy` you'll have
- a **zero-configuration** environment **out-of-the-box**.
- a **portable** codebase without any `npm install`.
- **simple customization** if you don't favor the default settings.
- **package.json based customization** for any configs value `mhy` provides.
- **boot templates** for easy setup.
- **most common packages** provided to your work.
- **less boilerplate**.
- configs/tools **well-playing** together _(webpack+swc, jest+swc, storybook+swc, webpack+typescript, etc.)_.
- **pre-built and public Docker images** for faster CI.> Note that `mhy`'s focus is on client side currently, but server side features are about to come.
## Setup
### Install
```bash
npm install mhy -g
```From `[email protected]` peer dependencies are automatically being installed. `mhy` uses some dependencies that are not prepared
yet for this new mechanism. We cannot do anything, but wait for updates. You need to install `mhy` using the
`--legacy-peer-deps` or `--force` flag.```bash
npm install mhy -g --legacy-peer-deps
```### Start a new Webpack project
Create an empty project with a single `index.js` file that is being served using `webpack-dev-server` _(wds)_
pre-configured with **Babel**, **React** and **React Fast-Refresh**.```bash
mkdir src
echo "console.log('Hello mhy!')" > src/index.js
mhy wds
```### Compile library
Create a production ready library. From the `src` folder it creates a complied `dist` folder.
```bash
mhy babel --mhy-env=prod
```### Build bundle
Create a production ready bundle for you website/app using pre-configured **Webpack**. From the `src` folder it creates a `build` folder with your bundle ready to be served supporting many popular features/loaders.
```bash
mhy webpack --mhy-env=prod
```### Start the default ecosystem
It'll run Jest, Webpack Dev Server, TypeScript compiler, Storybook at once in a single Terminal UI (TUI).
```bash
mhy
```### That's not all
> These are only a few examples from all the possibilities `mhy` provides. Start exploring on https://mhy.js.org
## Supported packages
`mhy` is providing many common/popular packages. There are continuous adjustments being made to the includes to match the most common needs and being able to develop without the need of your own `npm install` command ever again. It's in plan to accurately list these on the site, for now the best is to check the dependencies of our `package.json` for the included packages, and I also advice you to check out our sources for more details.
## Contributors ✨
Andy1210
🐛 ⚠️
Pablo Henrique
📖
Eugen Guriev
💻
Fabian Lauer
💻
Thomas Winckell
💻 📖
Steven Mitts
📖
Zakhar
💻 📖
Andor Polgar
💻
Andrei Bunulu
💻
Zakhar
💻 📖
❤ Thank you all! ❤
## Credits ❤
I'm using Webpack's logo to build an `M` shape from multiple blocks. I'd like to say **Thank You** for their great logo.
I also would like to thank to every developer's hard work which I'm using as a dependency in `mhy`. It would be really hard to collect all those people, but in case you find your work in our `package.json`, please feel free to create a pull request and add your logo and link.
while(!credits.length)
console.log('Example')
---
🌟 PLEASE STAR THIS REPO IF YOU FOUND SOMETHING INTERESTING! 🌟