Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xieyezi/monia-cli
一个同时支持Vue、React、Flutter的项目脚手架
https://github.com/xieyezi/monia-cli
cli compostion flutter flutter-cli hooks react react-cli vue vue-cli vue3 vue3-typescript
Last synced: 29 days ago
JSON representation
一个同时支持Vue、React、Flutter的项目脚手架
- Host: GitHub
- URL: https://github.com/xieyezi/monia-cli
- Owner: xieyezi
- Created: 2020-12-26T10:00:31.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-22T13:03:46.000Z (over 2 years ago)
- Last Synced: 2024-10-04T07:17:41.337Z (about 1 month ago)
- Topics: cli, compostion, flutter, flutter-cli, hooks, react, react-cli, vue, vue-cli, vue3, vue3-typescript
- Language: TypeScript
- Homepage:
- Size: 2.38 MB
- Stars: 85
- Watchers: 5
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README-EN.md
Awesome Lists containing this project
README
Language: EN | [中文简体](https://github.com/xieyezi/monia-cli)
![visitors](https://visitor-badge.glitch.me/badge?page_id=xieyezi.monia-cli)
![npm-version](https://img.shields.io/npm/v/monia-cli)
What is monia? The name of monia is inspired by the goddess of Greek mythology: [Harmonia](https://zh.wikipedia.org/wiki/%E5%93%88%E8%80%B3%E6%91%A9%E5%B0%BC%E4%BA%9E_(%E5%B8%8C%E8%87%98%E7%A5%9E%E8%A9%B1)).
It means "love that connects everyone". So as to achieve a state of harmonious coexistence.
So, this is one cli that supports Vue, React, and Flutter at the same time.
>Note: Before using ` monia-cli` to create a `flutter` project, please make sure you have installed the `flutter` development environment locally.
### feature
💡 quickly generate project templates⚡️ support `react + typescript + hooks` project
🌈 support `Vue 2.x` project
🛠️ support `Vue 3.x` project (`vite + typescript`)
🔩 support `flutter`+ `getx` project(`null-safety`)
🌟 error message
🔗 command Association### template repo
[flutter-getx-with-null-safety-template](https://github.com/xieyezi/flutter-getx-template)
[flutter-without-null-safety-template](https://github.com/xieyezi/flutter-template)
[vue3-vite-typescript-template](https://github.com/xieyezi/vue-vite-template)
[vue2-template](https://github.com/xieyezi/vue-template)
[react-vite-typescript-template](https://github.com/xieyezi/react-template)
### install
```js
yarn global add monia-cli || npm install -g monia-cli
```### Options and Commands
```
Usage: monia [options]Options:
-V, --version output the version number
-h, --help output usage informationCommands:
create Create a project with template from monia git repository.
init Generate new flutter getx page from monia.
```### Command Example
- init new `vue3` project:
```shell
monia create vue3-demo
``````
? Which framework do you want to create Vue
? Which vue version do you want to create Vue3
? Please input your project description description
? Please input your author name author
? Please input project version 1.0.0
? Which package manager do you want to use Yarn✨ Creating project in /Users/xieyezi/Desktop/vue3-demo.
🗃 Initializing git repository....
📦 Installing additional dependencies...
yarn install v1.22.10
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
✨ Done in 6.84s.🎉 Successfully created project vue3-demo.
👉 Get started with the following commands:$ cd vue3-demo
$ yarn start_ _ _
_ __ ___ ___ _ __ (_) __ _ ___| (_)
| '_ ` _ \ / _ \| '_ \| |/ _` |_____ / __| | |
| | | | | | (_) | | | | | (_| |_____| (__| | |
|_| |_| |_|\___/|_| |_|_|\__,_| \___|_|_|
```
- generate `flutter getx` new page:
```shell
monia init detail
``````
✨ Generate page in /Users/xieyezi/Desktop/flutter_demo/lib/pages/detail.
⠋ Generating, it's will not be wait long...
generate detail lib success.
generate /Users/xieyezi/Desktop/flutter_demo/lib/pages/detail/detail_view.dart success.
generate /Users/xieyezi/Desktop/flutter_demo/lib/pages/detail/detail_controller.dart success.
generate /Users/xieyezi/Desktop/flutter_demo/lib/pages/detail/detail_binding.dart success.🎉 Successfully generate page detail.
```
> Note: When you want to create a new `flutter` new page, you will use the unique method of `underscore` (although you enter `big hump` or `small hump`, `monia` can also be processed correctly, but we do not recommend you to do this).### Template directory
#### flutter + getx
```
.
├── README.md
├── android
├── ios
├── lib
│ ├── common
│ ├── components
│ ├── config.dart
│ ├── env.dart
│ ├── global.dart
│ ├── main.dart
│ ├── pages
│ ├── router
│ ├── services
│ └── utils
├── pubspec.lock
├── pubspec.yaml
├── test
├── web
└── xsds.iml```
#### React
```
.
├── README.md
├── apiTemplate.ts
├── package-lock.json
├── package.json
├── pont-config.json
├── public
├── setupProxy.js
├── src
│ ├── App.css
│ ├── App.test.tsx
│ ├── App.tsx
│ ├── assets
│ ├── components
│ ├── config
│ ├── index.css
│ ├── index.tsx
│ ├── logo.svg
│ ├── models
│ ├── pages
│ ├── react-app-env.d.ts
│ ├── router-menu-mapping
│ ├── routes
│ ├── serviceWorker.ts
│ ├── setupTests.ts
│ ├── style
│ └── utils
├── tsconfig.json
├── tsconfig.paths.json
├── tsconfig.prod.json
├── tslint.json
└── yarn.lock
```#### Vue
```
.
├── README.md
├── commitlint.config.js
├── index.html
├── package.json
├── public
├── src
│ ├── App.vue
│ ├── assets
│ ├── components
│ ├── config
│ ├── directive
│ ├── hooks
│ ├── main.ts
│ ├── router
│ ├── store
│ ├── views
│ └── vue-shim.d.ts
├── tsconfig.json
├── vite.config.ts
├── yarn-error.log
└── yarn.lock```