A zero-config, out-of-the-box, multi-purpose toolbox and development environment.
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.
- 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.
npm install mhy -g
From npm@7.0.0
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.
npm install mhy -g --legacy-peer-deps
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.
mkdir src
echo "console.log('Hello mhy!')" > src/index.js
mhy wds
Create a production ready library. From the src
folder it creates a complied dist
folder.
mhy babel --mhy-env=prod
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.
mhy webpack --mhy-env=prod
It'll run Jest, Webpack Dev Server, TypeScript compiler, Storybook at once in a single Terminal UI (TUI).
mhy
These are only a few examples from all the possibilities
mhy
provides. Start exploring on https://mhy.js.org
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.
Andy1210 π |
Pablo Henrique π |
Eugen Guriev π» |
Fabian Lauer π» |
Thomas Winckell π» π |
Steven Mitts π |
Zakhar π» π |
Andor Polgar π» |
Andrei Bunulu π» |
Zakhar π» π |
β€ Thank you all! β€
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.
wintercounter
while(!credits.length) |
π PLEASE STAR THIS REPO IF YOU FOUND SOMETHING INTERESTING! π