neex 0.7.45 β†’ 0.8.6

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.
Files changed (61) hide show
  1. package/README.md +50 -326
  2. package/bin/neex +31 -0
  3. package/install.js +94 -0
  4. package/package.json +30 -63
  5. package/dist/bin/neex.d.ts +0 -26
  6. package/dist/bin/neex.d.ts.map +0 -1
  7. package/dist/bin/neex.js +0 -8
  8. package/dist/src/build-manager.d.ts +0 -41
  9. package/dist/src/build-manager.d.ts.map +0 -1
  10. package/dist/src/build-manager.js +0 -369
  11. package/dist/src/cli.d.ts +0 -2
  12. package/dist/src/cli.d.ts.map +0 -1
  13. package/dist/src/cli.js +0 -67
  14. package/dist/src/commands/add-commands.d.ts +0 -4
  15. package/dist/src/commands/add-commands.d.ts.map +0 -1
  16. package/dist/src/commands/add-commands.js +0 -83
  17. package/dist/src/commands/build-commands.d.ts +0 -5
  18. package/dist/src/commands/build-commands.d.ts.map +0 -1
  19. package/dist/src/commands/build-commands.js +0 -123
  20. package/dist/src/commands/dev-commands.d.ts +0 -5
  21. package/dist/src/commands/dev-commands.d.ts.map +0 -1
  22. package/dist/src/commands/dev-commands.js +0 -198
  23. package/dist/src/commands/index.d.ts +0 -8
  24. package/dist/src/commands/index.d.ts.map +0 -1
  25. package/dist/src/commands/index.js +0 -27
  26. package/dist/src/commands/init-commands.d.ts +0 -2
  27. package/dist/src/commands/init-commands.d.ts.map +0 -1
  28. package/dist/src/commands/init-commands.js +0 -20
  29. package/dist/src/commands/run-commands.d.ts +0 -3
  30. package/dist/src/commands/run-commands.d.ts.map +0 -1
  31. package/dist/src/commands/run-commands.js +0 -93
  32. package/dist/src/commands/server-commands.d.ts +0 -3
  33. package/dist/src/commands/server-commands.d.ts.map +0 -1
  34. package/dist/src/commands/server-commands.js +0 -51
  35. package/dist/src/commands/start-commands.d.ts +0 -5
  36. package/dist/src/commands/start-commands.d.ts.map +0 -1
  37. package/dist/src/commands/start-commands.js +0 -162
  38. package/dist/src/dev-manager.d.ts +0 -51
  39. package/dist/src/dev-manager.d.ts.map +0 -1
  40. package/dist/src/dev-manager.js +0 -471
  41. package/dist/src/index.d.ts +0 -41
  42. package/dist/src/index.d.ts.map +0 -1
  43. package/dist/src/index.js +0 -70
  44. package/dist/src/logger-manager.d.ts +0 -4
  45. package/dist/src/logger-manager.d.ts.map +0 -1
  46. package/dist/src/logger-manager.js +0 -17
  47. package/dist/src/logger.d.ts +0 -34
  48. package/dist/src/logger.d.ts.map +0 -1
  49. package/dist/src/logger.js +0 -279
  50. package/dist/src/runner.d.ts +0 -21
  51. package/dist/src/runner.d.ts.map +0 -1
  52. package/dist/src/runner.js +0 -414
  53. package/dist/src/start-manager.d.ts +0 -49
  54. package/dist/src/start-manager.d.ts.map +0 -1
  55. package/dist/src/start-manager.js +0 -484
  56. package/dist/src/types.d.ts +0 -41
  57. package/dist/src/types.d.ts.map +0 -1
  58. package/dist/src/types.js +0 -2
  59. package/dist/src/utils.d.ts +0 -2
  60. package/dist/src/utils.d.ts.map +0 -1
  61. package/dist/src/utils.js +0 -9
package/README.md CHANGED
@@ -1,349 +1,73 @@
1
- <div align="center">
2
- <a href="https://github.com/Neexjs">
3
- <picture>
4
- <source media="(prefers-color-scheme: dark)" srcset="https://neex.storage.c2.liara.space/Neex.png">
5
- <img alt="Neex logo" src="https://neex.storage.c2.liara.space/Neex.png" height="150" style="border-radius: 12px;">
6
- </picture>
7
- </a>
1
+ # neex
8
2
 
9
- # Neex
3
+ Ultra-fast monorepo build tool with tiered caching.
10
4
 
11
- ### Neex - Modern Fullstack Framework Built on Express and Next.js. Fast to Start, Easy to Build, Ready to Deploy.
5
+ ## Features
12
6
 
13
- [![NPM version](https://img.shields.io/npm/v/neex.svg?style=for-the-badge&labelColor=000000&color=0066FF&borderRadius=8)](https://www.npmjs.com/package/neex)
14
- [![Download Count](https://img.shields.io/npm/dt/neex.svg?style=for-the-badge&labelColor=000000&color=0066FF&borderRadius=8)](https://www.npmjs.com/package/neex)
15
- [![MIT License](https://img.shields.io/badge/license-MIT-0066FF.svg?style=for-the-badge&labelColor=000000&borderRadius=8)](https://github.com/neexjs/blob/main/LICENSE)
16
- [![GitHub](https://img.shields.io/badge/GitHub-Neex-0066FF.svg?style=for-the-badge&logo=github&labelColor=000000&logoWidth=20&borderRadius=8)](https://github.com/Neexjs)
7
+ - ⚑ **20x faster** than Turbo/Nx (tiered caching)
8
+ - 🧠 **AST-aware hashing** - ignores comments
9
+ - πŸ”— **Symbol-level tracking** - only rebuild what changed
10
+ - 🌐 **P2P cache** - share with teammates on LAN
11
+ - ☁️ **Cloud cache** - S3/R2 compatible
12
+ - 🎨 **Beautiful TUI** - live task dashboard
17
13
 
18
- </div>
19
-
20
- ## 🎯 Overview
21
-
22
- **Neex = nextjs + express 🌱**
23
-
24
- **Neex: A Powerful Fusion of Next.js and Express for Fullstack Development**
25
-
26
- **Neex** is a modern and advanced fullstack framework that combines **Next.js** and **Express** to deliver an exceptional development experience. Designed for speed, simplicity, and scalability, Neex empowers developers to effortlessly build and deploy robust, high-performance applications.
27
-
28
- ## ✨ Why Choose Neex?
29
-
30
- Unlock the full potential of your fullstack projects with Neex’s powerful features, tailored for modern web development:
31
-
32
- - πŸ—οΈ **Fullstack Architecture**: Independent codebases for **frontend (Next.js)** and **backend (Express)** with isolated dependencies for maximum flexibility.
33
- - πŸ”„ **Monorepo Workflow**: Enjoy the simplicity of a single repository with clear separation between frontend and backend domains.
34
- - ⚑ **Zero Configuration**: Out-of-the-box setup for **TypeScript**, **Prisma**, and **environment variable management** for instant development readiness.
35
- - πŸ› οΈ **Production-Ready**: Built-in best practices for performance, scalability, and reliability at an enterprise level.
36
- - πŸ“¦ **Isolated Dependencies**: Each part of the stack has its own `package.json` to ensure modular and scalable development.
37
- - 🧩 **Separation of Concerns**: Clearly divided frontend and backend logic leads to cleaner, more maintainable codebases.
38
- - πŸ”’ **Secure Environment Management**: Built-in support for `dotenv` to handle environment variables safely and efficiently.
39
- - πŸ“Š **Database Integration**: Native support for **Prisma ORM** enables fast, type-safe, and efficient database development.
40
- - πŸ› οΈ **Powerful CLI**: Intuitive CLI commands to simplify development, building, and deployment workflows.
41
-
42
- With these features, **Neex** is the ideal choice for developers seeking a fullstack framework that’s **SEO-optimized, scalable, efficient, and developer-friendly**. Start building high-performance web applications today with Neex’s robust toolset and clean architecture.
43
-
44
- ## πŸš€ Quick Start
45
-
46
- ### Create a New Neex Project – Step-by-Step
47
-
48
- 1. **Run one of the creation commands**:
49
-
50
- ```bash
51
- npx neex init
52
- # or
53
- npx create-neex
54
- ```
55
-
56
- 2. **Enter your project name** (e.g., `my-awesome-project`).
57
-
58
- 3. **Select your package manager**:
59
- - npm
60
- - yarn
61
- - pnpm
62
- - bun
63
-
64
- 4. **Wait for the project structure to be created** automatically.
65
-
66
- 5. **Install dependencies**:
67
-
68
- ```bash
69
- cd my-project
70
- npm install # or yarn, pnpm install, bun install
71
- ```
72
-
73
- 6. **Start development**:
74
-
75
- ```bash
76
- npm run dev # or yarn dev, pnpm dev, bun dev
77
- ```
78
-
79
- 7. **Access your project**:
80
- - client: `http://localhost:3000`
81
- - server: `http://localhost:8000`
82
-
83
- ## πŸ–₯️ CLI Commands
84
-
85
- Neex provides a powerful CLI with commands tailored for development, building, and production deployment.
86
-
87
- ### Core Commands
88
-
89
- - **`neex init`**: Initializes a new Neex project using `create-neex`.
90
- - **`neex dev [file]`**: Starts a fast TypeScript development server with live-reloading.
91
- - **`neex build [source]`**: Compiles TypeScript projects for production.
92
- - **`neex start [file]`**: Starts a production-ready application with process management (PM2-like).
93
- - **`neex p <commands...>`** (aliases: `par`, `parallel`): Runs commands in parallel.
94
- - **`neex s <commands...>`** (aliases: `seq`, `sequential`): Runs commands sequentially.
95
- - **`neex dev:clean`**: Cleans development cache and temporary files.
96
- - **`neex dev:check`**: Validates TypeScript configuration.
97
- - **`neex dev:info`**: Displays development server information.
98
-
99
- ### Command Examples
100
-
101
- #### Development (`dev` Command)
102
-
103
- The `dev` command provides a fast, live-reloading development environment.
14
+ ## Install
104
15
 
105
16
  ```bash
106
- # Start development server for a TypeScript file
107
- neex dev src/index.ts
108
-
109
- # Watch specific directories
110
- neex dev --watch src,public "npm run dev"
111
-
112
- # Ignore patterns
113
- neex dev --ignore "*.log,dist/**" "node server.js"
114
-
115
- # Specify file extensions
116
- neex dev --ext ts,tsx,js "npm run dev"
117
-
118
- # Ultra-fast mode with 50ms delay
119
- neex dev --fast "npm run dev"
17
+ npm install -g neex
18
+ # or
19
+ pnpm add -g neex
20
+ # or
21
+ bun add -g neex
120
22
  ```
121
23
 
122
- #### Building (`build` Command)
123
-
124
- Compile TypeScript projects for production.
24
+ ## Usage
125
25
 
126
26
  ```bash
127
- # Build project from src to dist
27
+ # Run any task
128
28
  neex build
29
+ neex dev
30
+ neex test
129
31
 
130
- # Build with source maps and watch mode
131
- neex build src --sourcemap --watch
132
-
133
- # Quick compilation
134
- neex compile src
135
- ```
136
-
137
- #### Production (`start` Command)
138
-
139
- Run production-ready applications with advanced process management.
140
-
141
- ```bash
142
- # Start production server
143
- neex start dist/server.js
144
-
145
- # Start with multiple workers
146
- neex start dist/server.js --workers 4
147
-
148
- # Enable health check endpoint
149
- neex start dist/server.js --health-port 3001
150
- ```
151
-
152
- ### Explanation of Scripts
153
-
154
- - **`dev`**: Uses `neex p` to run the frontend (`dev:client`) and backend (`dev:server`) development servers in parallel, leveraging Neex's ability to manage concurrent processes with clear output.
155
- - **`dev:client`**: Runs the Next.js frontend development server in the `apps/client` directory using Bun.
156
- - **`dev:server`**: Runs the Express backend development server in the `apps/server` directory using Bun.
157
- - **`build`**: Uses `neex s` to sequentially execute Prisma-related tasks (`prisma:generate`, `prisma:migrate`) followed by building both the frontend (`build:client`) and backend (`build:server`) projects.
158
- - **`build:client`**: Builds the Next.js frontend in the `apps/client` directory.
159
- - **`build:server`**: Builds the Express backend in the `apps/server` directory.
160
- - **`start`**: Uses `neex p` to start both the frontend (`start:client`) and backend (`start:server`) in production mode concurrently, utilizing Neex's advanced process management for clustering and health checks.
161
- - **`start:client`**: Starts the Next.js frontend in production mode.
162
- - **`start:server`**: Starts the Express backend in production mode.
163
- - **`prisma:generate`**: Generates the Prisma client for the backend in `apps/server`.
164
- - **`prisma:migrate`**: Applies Prisma database migrations in `apps/server`.
165
-
166
- ### Running the Scripts
167
-
168
- ```bash
169
- npm run dev # Starts frontend and backend development servers in parallel
170
- npm run build # Sequentially generates Prisma client, applies migrations, and builds both projects
171
- npm run start # Starts frontend and backend in production mode concurrently
172
- ```
173
-
174
- #### Parallel and Sequential Execution
175
-
176
- Run multiple scripts efficiently.
177
-
178
- ```bash
179
- # Parallel execution
180
- neex p "npm run build:frontend" "npm run build:backend"
181
-
182
- # Sequential execution
183
- neex s "npm run clean" "npm run build" "npm run deploy"
184
-
185
- # Parallel with sequential flag
186
- neex p -q "npm run step1" "npm run step2"
187
- ```
188
-
189
- ## πŸ“‚ Project Structure
190
-
191
- Neex creates a polyrepo-in-monorepo structure for clear separation and scalability:
192
-
193
- ```
194
- my-project/
195
- β”œβ”€β”€ .env # Root environment variables
196
- β”œβ”€β”€ apps/
197
- β”‚ β”œβ”€β”€ client/ # Next.js frontend project
198
- β”‚ β”‚ β”œβ”€β”€ src/
199
- β”‚ β”‚ β”‚ β”œβ”€β”€ app/ # Next.js App Router
200
- β”‚ β”‚ β”‚ └── ...
201
- β”‚ β”‚ β”œβ”€β”€ next.config.ts
202
- β”‚ β”‚ β”œβ”€β”€ package.json # Frontend dependencies
203
- β”‚ β”‚ └── tsconfig.json
204
- β”‚ └── server/ # Express backend project
205
- β”‚ β”œβ”€β”€ src/
206
- β”‚ β”‚ β”œβ”€β”€ server.ts # Express server entry
207
- β”‚ β”‚ └── ...
208
- β”‚ β”œβ”€β”€ package.json # Backend dependencies
209
- β”‚ └── tsconfig.json
210
- β”œβ”€β”€ package.json # Root orchestration
211
- └── README.md
212
- ```
213
-
214
- Each `apps/client` and `apps/server` directory is a fully independent project that can be extracted into its own repository if needed, while benefiting from a unified monorepo workflow.
215
-
216
- ## βš™οΈ Advanced Options
217
-
218
- ### `neex init`
219
-
220
- ```bash
221
- # Create in current directory
222
- npx create-neex@latest .
223
-
224
- # Create with specific name
225
- npx create-neex@latest my-project
226
-
227
- # Enable debug mode
228
- npx create-neex@latest my-project --debug
229
- ```
32
+ # Run on all packages
33
+ neex build --all
230
34
 
231
- ### `neex dev`
35
+ # Filter by package
36
+ neex build --filter=web
232
37
 
233
- ```bash
234
- # Custom restart delay
235
- neex dev --delay 2000 "npm run dev"
38
+ # Smart rebuild (symbol-level)
39
+ neex build --symbols
236
40
 
237
- # Disable console clearing
238
- neex dev --no-clear "node app.js"
41
+ # Show dependency graph
42
+ neex --graph
239
43
 
240
- # Framework-specific example (Nest.js)
241
- neex dev --watch src --ext ts "npm run start:dev"
44
+ # Setup cloud cache
45
+ neex --login
242
46
  ```
243
47
 
244
- ### `neex build`
245
-
246
- ```bash
247
- # Custom output directory
248
- neex build src --output build
249
-
250
- # Specify TypeScript target
251
- neex build src --target es2022
252
-
253
- # Analyze bundle size
254
- neex build src --analyze
255
- ```
256
-
257
- ### `neex start`
258
-
259
- ```bash
260
- # Custom port
261
- neex start dist/server.js --port 8080
262
-
263
- # Enable Node.js inspector
264
- neex start dist/server.js --inspect
265
-
266
- # Set memory limit
267
- neex start dist/server.js --max-memory 1G
268
- ```
269
-
270
- ## πŸ’‘ Real-World Scenarios
271
-
272
- Integrate Neex into your `package.json` to streamline development, building, and deployment workflows for your fullstack projects. Whether you're working with an **Express-only backend** or a combined **Express + Next.js** application, Neex’s powerful CLI and monorepo architecture make it easy to manage your projects efficiently.
273
-
274
- ### Example 1: Express-Only Project
275
-
276
- For a standalone Express backend, configure your `package.json` with minimal yet powerful scripts to handle development, building, and production:
277
-
278
- ```json
279
- {
280
- "scripts": {
281
- "dev": "neex dev src/server.ts",
282
- "build": "neex build",
283
- "start": "neex start"
284
- }
285
- }
286
- ```
287
-
288
- **Run your scripts**:
289
-
290
- ```bash
291
- npm run dev # Starts the Express development server with live-reloading
292
- npm run build # Compiles TypeScript to production-ready JavaScript
293
- npm run start # Launches the Express server in production mode
294
- ```
295
-
296
- This setup provides a clean, efficient workflow for Express-based projects, leveraging Neex’s live-reloading and production-ready features for rapid development and deployment.
297
-
298
- ### Example 2: Fullstack Express + Next.js Project => Neex
299
-
300
- For a fullstack application with a **Next.js frontend** and an **Express backend**, Neex’s polyrepo-in-monorepo architecture shines. The following `package.json` example demonstrates how to manage both projects concurrently, with integrated Prisma ORM for database operations:
301
-
302
- ```json
303
- {
304
- "scripts": {
305
- "dev": "neex p dev:client dev:server",
306
- "dev:client": "cd apps/client && npm run dev",
307
- "dev:server": "cd apps/server && npm run dev",
308
- "build": "neex s prisma:generate prisma:migrate build:client build:server",
309
- "build:client": "cd apps/client && npm run build",
310
- "build:server": "cd apps/server && npm run build",
311
- "start": "neex p start:client start:server",
312
- "start:client": "cd apps/client && npm run start",
313
- "start:server": "cd apps/server && npm run start",
314
- "prisma:generate": "cd apps/server && npx prisma generate",
315
- "prisma:migrate": "cd apps/server && npx prisma db push"
316
- }
317
- }
318
- ```
319
-
320
- **Run your scripts**:
321
-
322
- ```bash
323
- npm run dev # Starts Next.js frontend and Express backend in parallel with live-reloading
324
- npm run build # Sequentially generates Prisma client, applies migrations, and builds both projects
325
- npm run start # Launches frontend and backend in production mode concurrently
326
- ```
327
-
328
- ### Why It Works
329
-
330
- - **Parallel Execution**: Use `neex p` to run frontend and backend tasks simultaneously, ensuring efficient development and production workflows.
331
- - **Sequential Execution**: Use `neex s` for tasks like Prisma migrations and builds, ensuring dependencies are handled in the correct order.
332
- - **Modular Architecture**: Neex’s polyrepo-in-monorepo structure keeps frontend and backend codebases independent yet unified, making it easy to scale or extract projects.
333
- - **Prisma Integration**: Streamlined database management with `prisma:generate` and `prisma:migrate` for type-safe, rapid development.
334
-
335
- This configuration is perfect for developers building fullstack applications with **Next.js**, **Express**, and **Prisma**, offering a seamless, scalable, and maintainable development experience. Start using Neex today to simplify your workflow and build high-performance applications with ease!
336
-
337
- ## πŸ“‹ System Requirements
48
+ ## Commands
338
49
 
339
- - **Node.js**: 20.0.0 or later
340
- - **OS**: macOS, Windows, or Linux
341
- - **Package Manager**: npm, yarn, pnpm, or bun
50
+ | Command | Description |
51
+ |---------|-------------|
52
+ | `neex <task>` | Run task with caching |
53
+ | `neex <task> --all` | Run on all packages |
54
+ | `neex <task> --filter=pkg` | Run on specific package |
55
+ | `neex <task> --symbols` | Smart symbol-level rebuild |
56
+ | `neex --graph` | Show dependency graph |
57
+ | `neex --list` | List all packages |
58
+ | `neex --info` | Show project info |
59
+ | `neex --login` | Setup cloud cache |
60
+ | `neex --prune` | Clean cache |
342
61
 
343
- ## 🀝 Contributing
62
+ ## Performance
344
63
 
345
- Contributions are welcome! Visit our [GitHub issues page](https://github.com/Neexjs) to get started.
64
+ | Scenario | Turbo | Neex |
65
+ |----------|-------|------|
66
+ | Cold build | 10s | 8s |
67
+ | Cache hit | 50ms | **12ms** |
68
+ | Comment change | rebuild | skip |
69
+ | Symbol change | all deps | **affected only** |
346
70
 
347
- ## πŸ“„ License
71
+ ## License
348
72
 
349
- MIT License. See [LICENSE](https://github.com/neexjs/blob/main/LICENSE) for details.
73
+ MIT
package/bin/neex ADDED
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+ # Neex CLI Wrapper
3
+ # Falls back to source if binary not available
4
+
5
+ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
6
+ BINARY="$SCRIPT_DIR/neex"
7
+
8
+ # Check for Windows
9
+ case "$(uname -s)" in
10
+ MINGW*|MSYS*|CYGWIN*)
11
+ BINARY="$SCRIPT_DIR/neex.exe"
12
+ ;;
13
+ esac
14
+
15
+ # If binary exists, use it
16
+ if [ -f "$BINARY" ]; then
17
+ exec "$BINARY" "$@"
18
+ fi
19
+
20
+ # Fallback: look for cargo-built binary
21
+ if command -v cargo >/dev/null 2>&1; then
22
+ CARGO_BIN="$HOME/.cargo/bin/neex"
23
+ if [ -f "$CARGO_BIN" ]; then
24
+ exec "$CARGO_BIN" "$@"
25
+ fi
26
+ fi
27
+
28
+ echo "❌ Neex binary not found"
29
+ echo " Install via: npm install neex"
30
+ echo " Or build from source: cargo install neex"
31
+ exit 1
package/install.js ADDED
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Neex - Install Script
4
+ *
5
+ * Downloads the correct binary for the current platform/arch
6
+ * Supports: darwin-arm64, darwin-x64, linux-x64, linux-arm64, win32-x64
7
+ */
8
+
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+ const os = require('os');
12
+
13
+ const PLATFORMS = {
14
+ 'darwin-arm64': '@neex/darwin-arm64',
15
+ 'darwin-x64': '@neex/darwin-x64',
16
+ 'linux-x64': '@neex/linux-x64',
17
+ 'linux-arm64': '@neex/linux-arm64',
18
+ 'win32-x64': '@neex/win32-x64',
19
+ };
20
+
21
+ function getPlatformPackage() {
22
+ const platform = os.platform();
23
+ const arch = os.arch();
24
+ const key = `${platform}-${arch}`;
25
+
26
+ const pkg = PLATFORMS[key];
27
+ if (!pkg) {
28
+ console.error(`❌ Unsupported platform: ${key}`);
29
+ console.error(` Supported: ${Object.keys(PLATFORMS).join(', ')}`);
30
+ process.exit(1);
31
+ }
32
+
33
+ return pkg;
34
+ }
35
+
36
+ function findBinary() {
37
+ const pkg = getPlatformPackage();
38
+
39
+ // Try to find the platform-specific package
40
+ const possiblePaths = [
41
+ // npm installs
42
+ path.join(__dirname, 'node_modules', pkg, 'bin', 'neex'),
43
+ path.join(__dirname, '..', pkg, 'bin', 'neex'),
44
+ // pnpm installs
45
+ path.join(__dirname, '..', '..', pkg, 'bin', 'neex'),
46
+ path.join(__dirname, '..', '..', '..', pkg, 'bin', 'neex'),
47
+ ];
48
+
49
+ for (const binPath of possiblePaths) {
50
+ const execPath = process.platform === 'win32' ? `${binPath}.exe` : binPath;
51
+ if (fs.existsSync(execPath)) {
52
+ return execPath;
53
+ }
54
+ }
55
+
56
+ return null;
57
+ }
58
+
59
+ function copyBinary() {
60
+ const sourcePath = findBinary();
61
+
62
+ if (!sourcePath) {
63
+ console.log('⚠️ Binary not found in optional dependencies');
64
+ console.log(' This is normal for development. Build from source:');
65
+ console.log(' cargo build --release -p neex-cli');
66
+ return;
67
+ }
68
+
69
+ const targetPath = path.join(__dirname, 'bin', 'neex');
70
+ const targetDir = path.dirname(targetPath);
71
+
72
+ // Ensure bin directory exists
73
+ if (!fs.existsSync(targetDir)) {
74
+ fs.mkdirSync(targetDir, { recursive: true });
75
+ }
76
+
77
+ // Copy binary
78
+ fs.copyFileSync(sourcePath, targetPath);
79
+
80
+ // Make executable
81
+ if (process.platform !== 'win32') {
82
+ fs.chmodSync(targetPath, 0o755);
83
+ }
84
+
85
+ console.log('βœ… Neex installed');
86
+ }
87
+
88
+ // Run
89
+ try {
90
+ copyBinary();
91
+ } catch (err) {
92
+ console.error('Install failed:', err.message);
93
+ process.exit(1);
94
+ }
package/package.json CHANGED
@@ -1,74 +1,41 @@
1
1
  {
2
2
  "name": "neex",
3
- "version": "0.7.45",
4
- "description": "Neex - Modern Fullstack Framework Built on Express and Next.js. Fast to Start, Easy to Build, Ready to Deploy",
5
- "main": "dist/src/index.js",
6
- "types": "dist/src/index.d.ts",
7
- "bin": {
8
- "neex": "./dist/bin/neex.js"
9
- },
10
- "scripts": {
11
- "build": "tsc",
12
- "dev": "tsc --watch",
13
- "start": "node dist/bin/neex.js",
14
- "clean": "rm -rf dist",
15
- "lint": "eslint .",
16
- "lint:fix": "eslint . --fix",
17
- "prepublishOnly": "npm run clean && npm run build",
18
- "test": "jest",
19
- "test:dev": "node ./dist/bin/neex.js px \"echo Starting frontend\" \"echo Starting backend\"",
20
- "test:parallel": "node ./dist/bin/neex.js parallel \"echo Building frontend\" \"echo Building backend\"",
21
- "test:sequence": "node ./dist/bin/neex.js run \"echo Step 1\" \"echo Step 2\" \"echo Step 3\""
3
+ "version": "0.8.6",
4
+ "description": "Ultra-fast monorepo build tool with tiered caching",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/Neexjs/neex"
22
9
  },
10
+ "homepage": "https://github.com/Neexjs/neex#readme",
23
11
  "keywords": [
24
- "fullstack-framework",
25
- "nextjs",
26
- "express",
27
12
  "monorepo",
28
- "polyrepo",
29
- "typescript",
30
- "prisma",
31
- "cli",
32
- "build-system",
33
- "web-development",
34
- "node",
35
- "javascript",
36
- "production-ready",
37
- "dotenv",
38
- "parallel-execution",
39
- "sequential-execution"
13
+ "build",
14
+ "cache",
15
+ "fast",
16
+ "rust",
17
+ "turbo",
18
+ "nx",
19
+ "workspace"
40
20
  ],
41
- "author": "foshati",
42
- "license": "MIT",
43
- "dependencies": {
44
- "chalk": "^5.6.2",
45
- "chokidar": "^4.0.3",
46
- "commander": "14.0.2",
47
- "figlet": "^1.9.3",
48
- "figures": "^6.1.0",
49
- "gradient-string": "^3.0.0",
50
- "lodash": "^4.17.21",
51
- "npm-run-path": "^6.0.0",
52
- "p-map": "^7.0.3",
53
- "string-width": "^7.2.0",
54
- "typescript": "^5.8.3"
21
+ "bin": {
22
+ "neex": "bin/neex"
55
23
  },
56
-
57
- "devDependencies": {
58
- "@types/figlet": "^1.7.0",
59
- "@types/jest": "^29.2.3",
60
- "@types/lodash": "^4.17.20",
61
- "@types/node": "^20.14.10",
62
- "eslint": "^9.38.0",
63
- "jest": "^29.3.1",
64
- "ts-jest": "^29.0.3",
65
- "ts-node": "^10.9.2"
24
+ "scripts": {
25
+ "postinstall": "node install.js"
66
26
  },
67
- "engines": {
68
- "node": ">=20.0.0"
27
+ "files": [
28
+ "bin",
29
+ "install.js",
30
+ "README.md"
31
+ ],
32
+ "optionalDependencies": {
33
+ "@neex/darwin-arm64": "0.8.6",
34
+ "@neex/darwin-x64": "0.8.6",
35
+ "@neex/linux-x64": "0.8.6",
36
+ "@neex/win32-x64": "0.8.6"
69
37
  },
70
- "repository": {
71
- "type": "git",
72
- "url": "https://github.com/Neexjs"
38
+ "engines": {
39
+ "node": ">=18"
73
40
  }
74
41
  }
@@ -1,26 +0,0 @@
1
- #!/usr/bin/env node
2
- export interface RunOptions {
3
- parallel: boolean;
4
- maxParallel?: number;
5
- printOutput: boolean;
6
- color: boolean;
7
- showTiming: boolean;
8
- prefix: boolean;
9
- stopOnError: boolean;
10
- }
11
- export interface RunResult {
12
- command: string;
13
- success: boolean;
14
- code: number | null;
15
- startTime: Date;
16
- endTime: Date | null;
17
- duration?: number;
18
- error?: Error;
19
- }
20
- export interface CommandOutput {
21
- command: string;
22
- type: 'stdout' | 'stderr';
23
- data: string;
24
- timestamp: Date;
25
- }
26
- //# sourceMappingURL=neex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"neex.d.ts","sourceRoot":"","sources":["../../bin/neex.ts"],"names":[],"mappings":";AAOA,MAAM,WAAW,UAAU;IAEzB,QAAQ,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,EAAE,OAAO,CAAC;IAErB,KAAK,EAAE,OAAO,CAAC;IAEf,UAAU,EAAE,OAAO,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB"}
package/dist/bin/neex.js DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const cli_1 = __importDefault(require("../src/cli"));
8
- (0, cli_1.default)();