@mahameru/cli 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -0
- package/package.json +60 -43
- package/bin.js +0 -606
- package/mpm/assets/CartesianChart-B51AYOAb.js +0 -2
- package/mpm/assets/CategoricalChart-Co5NZKJw.js +0 -11
- package/mpm/assets/customer-insights-TeZ4O-CA.js +0 -3
- package/mpm/assets/dashboard-CJ1I00AU.js +0 -2
- package/mpm/assets/eye-DWDjYPPv.js +0 -1
- package/mpm/assets/index-C8qHc9ZS.js +0 -108
- package/mpm/assets/index-SBk3lk5W.css +0 -1
- package/mpm/assets/jsx-runtime-DIBGU2nq.js +0 -1
- package/mpm/assets/metrics-overview-BoKfDsgl.js +0 -1
- package/mpm/assets/not-found-BMYPEFbE.js +0 -1
- package/mpm/assets/project-DEpqfD40.js +0 -1
- package/mpm/assets/quick-actions-Dpas0JuQ.js +0 -1
- package/mpm/assets/recent-transactions-BVeaMgnN.js +0 -1
- package/mpm/assets/revenue-breakdown-e4JsCYXu.js +0 -1
- package/mpm/assets/sales-chart-BiTfVffl.js +0 -1
- package/mpm/assets/tooltipContext-D95ZMUkW.js +0 -1
- package/mpm/assets/top-products-Bhs_diJI.js +0 -1
- package/mpm/assets/trending-down-er9_YGzq.js +0 -1
- package/mpm/assets/trending-up-CnNmAQYy.js +0 -1
- package/mpm/favicon.svg +0 -1
- package/mpm/icons.svg +0 -24
- package/mpm/index.html +0 -15
package/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# MahameruJS CLI Utility
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/mahameru)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
`@mahameru/cli` is the command-line interface for running and building Mahameru-based applications. This package provides the core workflow for local development and project builds from the terminal.
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
Install the CLI globally so the `mahameru` command is available directly from your terminal:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install -g @mahameru/cli
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
After that, you can run `mahameru` commands from any Mahameru project.
|
|
17
|
+
|
|
18
|
+
If you don't have any MahameruJS projects, you can create one by running:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm create mahameru
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
or
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx create-mahameru
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
and follow the prompts.
|
|
31
|
+
|
|
32
|
+
## Project Requirements
|
|
33
|
+
|
|
34
|
+
This CLI expects a `mahameru.config.ts` file in the project root. That file is loaded when running development mode.
|
|
35
|
+
|
|
36
|
+
Some commands also rely on these project dependencies:
|
|
37
|
+
|
|
38
|
+
- `tsx` to load the TypeScript config file for the `dev` command
|
|
39
|
+
- `typescript` for the compile step in the `build` command
|
|
40
|
+
- `tsc-alias` to rewrite path aliases after compilation
|
|
41
|
+
|
|
42
|
+
For application source aliases, prefer `tsconfig.json` paths such as `@/*`. Do not rely on `package.json#imports` for `src/**` files that must run from `dist/` in production.
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
### Development
|
|
47
|
+
|
|
48
|
+
Run the Mahameru development server with Hot Reload:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
mahameru dev
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Available options:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
mahameru dev --port 3000
|
|
58
|
+
mahameru dev -p 3000
|
|
59
|
+
mahameru dev --host localhost
|
|
60
|
+
mahameru dev -h localhost
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This command will:
|
|
64
|
+
|
|
65
|
+
- load `mahameru.config.ts`
|
|
66
|
+
- run TypeScript typechecking before each start or restart
|
|
67
|
+
- apply default config values when they are not provided
|
|
68
|
+
- run the Mahameru application from the current project
|
|
69
|
+
- watch `src/**` and `mahameru.config.ts`, then hot reload the development server automatically when files change
|
|
70
|
+
|
|
71
|
+
This Hot Reload flow refreshes the server during development when project files change. It does not provide browser HMR or module replacement inside the running app.
|
|
72
|
+
If typechecking fails, the error is shown in the console and the dev server will wait until the next valid save before starting again.
|
|
73
|
+
|
|
74
|
+
### Build
|
|
75
|
+
|
|
76
|
+
Build the project with TypeScript:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
mahameru build
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
This command will:
|
|
83
|
+
|
|
84
|
+
- run `tsc --project tsconfig.json`
|
|
85
|
+
- run `tsc-alias -p tsconfig.json`
|
|
86
|
+
- fail if compiled `dist/**/*.js` files still contain unresolved `@/` or `#/` specifiers
|
|
87
|
+
|
|
88
|
+
### Start
|
|
89
|
+
|
|
90
|
+
Run the production server from the compiled `dist/` output:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
mahameru start
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
This command will:
|
|
97
|
+
|
|
98
|
+
- load `dist/mahameru.config.js`
|
|
99
|
+
- run the Mahameru application using `dist/`, `dist/modules`, and `dist/routes`
|
|
100
|
+
- expect all application path aliases to have been rewritten during `mahameru build`
|
|
101
|
+
|
|
102
|
+
## Quick Workflow
|
|
103
|
+
|
|
104
|
+
This CLI is focused on the basic development workflow:
|
|
105
|
+
|
|
106
|
+
1. Use `mahameru dev` during local development and let Hot Reload refresh the server on file changes.
|
|
107
|
+
2. Use `mahameru build` to produce the TypeScript build output.
|
|
108
|
+
3. Use `@/*` path aliases in `tsconfig.json` when you want non-relative imports inside `src/`.
|
|
109
|
+
4. Run `mahameru start` after a successful build to verify the production output.
|
|
110
|
+
|
|
111
|
+
## Notes
|
|
112
|
+
|
|
113
|
+
- If `mahameru.config.ts` is missing, the CLI will stop and show an error.
|
|
114
|
+
- If `tsx`, `typescript`, or `tsc-alias` are not installed in the project, the related command will fail.
|
|
115
|
+
- `mahameru dev` ignores changes inside `dist/` and `node_modules/`.
|
package/package.json
CHANGED
|
@@ -1,43 +1,60 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@mahameru/cli",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "MahameruJS CLI Utility - The command-line interface for running and building Mahameru-based applications",
|
|
5
|
-
"bin": {
|
|
6
|
-
"mahameru": "./
|
|
7
|
-
},
|
|
8
|
-
"scripts": {
|
|
9
|
-
"typecheck": "tsc --noEmit --project tsconfig.json",
|
|
10
|
-
"clean": "rimraf dist",
|
|
11
|
-
"build": "npm run clean && webpack"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@mahameru/cli",
|
|
3
|
+
"version": "0.0.18",
|
|
4
|
+
"description": "MahameruJS CLI Utility - The command-line interface for running and building Mahameru-based applications",
|
|
5
|
+
"bin": {
|
|
6
|
+
"mahameru": "./cli.js"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"typecheck": "tsc --noEmit --project tsconfig.json",
|
|
10
|
+
"clean": "rimraf dist",
|
|
11
|
+
"build": "npm run clean && webpack",
|
|
12
|
+
"build:install": "npm run clean && webpack && cd dist && npm i -g ."
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"mahameruJS",
|
|
16
|
+
"mahameru",
|
|
17
|
+
"cli",
|
|
18
|
+
"framework",
|
|
19
|
+
"nodejs",
|
|
20
|
+
"typescript",
|
|
21
|
+
"web-server",
|
|
22
|
+
"build-tool",
|
|
23
|
+
"developer-tools",
|
|
24
|
+
"process-manager"
|
|
25
|
+
],
|
|
26
|
+
"author": "Bintan <hello@bintvn.co>",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"files": [
|
|
29
|
+
"bin.js",
|
|
30
|
+
"mpm"
|
|
31
|
+
],
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=20.6.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"commander": "^15.0.0",
|
|
37
|
+
"ora": "^9.4.1",
|
|
38
|
+
"picocolors": "^1.1.1",
|
|
39
|
+
"porterman": "^0.0.3",
|
|
40
|
+
"socket.io": "^4.8.3",
|
|
41
|
+
"tsc-alias": "^1.8.17",
|
|
42
|
+
"tsx": "^4.22.4"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/node": "^26.0.0",
|
|
46
|
+
"@types/socket.io": "^3.0.1",
|
|
47
|
+
"@types/webpack-node-externals": "^3.0.4",
|
|
48
|
+
"boxen": "^8.0.1",
|
|
49
|
+
"rimraf": "^6.1.3",
|
|
50
|
+
"strip-ansi": "^7.2.0",
|
|
51
|
+
"terser-webpack-plugin": "^5.6.1",
|
|
52
|
+
"ts-loader": "^9.6.1",
|
|
53
|
+
"ts-node": "^10.9.2",
|
|
54
|
+
"tsconfig-paths-webpack-plugin": "^4.2.0",
|
|
55
|
+
"typescript": "^6.0.3",
|
|
56
|
+
"webpack": "^5.107.2",
|
|
57
|
+
"webpack-cli": "^7.0.3",
|
|
58
|
+
"webpack-node-externals": "^3.0.0"
|
|
59
|
+
}
|
|
60
|
+
}
|