Registry / web-framework / ndx-framework

ndx-framework

JSON →
library0.2.27jsnpmunverified

ndx-framework is a full-stack JavaScript application framework built on established technologies like Express.js for the backend and AngularJS (version 1) for the frontend. Designed for stability, scalability, and rapid development, it promotes modularity and utilizes an opinionated stack including CoffeeScript, Pug (formerly Jade), and Stylus for code legibility and conciseness. A key differentiator is its built-in `ndxdb`, an in-memory SQL/NoSQL database that treats JavaScript objects as first-class citizens and can persist data to S3. The framework emphasizes a small footprint, suitable for constrained environments like Heroku, and includes features for SSL, token-based authentication, and OAuth2. It integrates with Grunt for development workflows and Yeoman for scaffolding. The current stable version, 0.2.27, indicates it is a pre-1.0 release, suggesting a potentially slow or ceased development cadence, especially given its reliance on older web technologies.

npm install ndx-framework
INSTALL
IMPORT
SIG · NDX-FRAMEWORK
N
ndx-framework
web-frameworkjavascriptv0.2.27
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ndx
const ndx = require('ndx-framework');
import ndx from 'ndx-framework';
The framework primarily uses CommonJS `require()` syntax. The 'ndx' object is the main entry point for configuration and module management within a scaffolded application.
serverConfig
const serverConfig = require('ndx-server').config;
import { config } from 'ndx-server';
Environment variables are often exposed via `ndx-server`, a core dependency. Direct ES module imports are not supported.
App
const app = ndx.createApp();
After requiring the main 'ndx' object, application instances are typically created via methods exposed on it, like `createApp()` (inferred pattern).

Demonstrates the initial global installation of the ndx-framework CLI, scaffolding a new application, and starting it in development mode with Grunt.

npm install -g ndx-framework ndx-framework --init ndx-framework --create --appname=myNdxApp cd myNdxApp grunt # Access your app at http://localhost:3000 # To build for production: # grunt build
Debug
Known issues
breakingThe framework relies heavily on severely outdated and unmaintained technologies such as AngularJS 1, CoffeeScript, and Grunt. These dependencies are incompatible with modern Node.js versions and pose significant security risks and operational challenges.
fix
Migration to a modern, actively maintained framework is strongly recommended. Attempting to run this framework on current Node.js versions will likely result in numerous dependency resolution and runtime errors.
affects: >=0.2.0
gotchandx-framework uses non-standard languages (CoffeeScript, Pug, Stylus) that require specific build tooling and introduce a learning curve. Modern JavaScript development typically uses plain JavaScript/TypeScript, HTML, and CSS/Sass.
fix
Developers must be proficient in CoffeeScript, Pug, and Stylus, or integrate robust build pipelines to transpile these languages to standard web formats.
affects: >=0.1.0
gotchaThe built-in `ndxdb` database is primarily in-memory. For persistent data storage, it explicitly requires configuration for S3, which introduces external cloud dependency and specific setup.
fix
Carefully configure S3 for data persistence, or integrate a different database via `ndx-database-engine` if more traditional persistent storage is needed.
affects: >=0.1.0
gotchaThe framework's primary interaction model is through its command-line interface (`ndx-framework`) and `grunt` tasks. Direct `node app.js` execution or standard Node.js module loading might bypass critical initialization steps.
fix
Always use the provided `ndx-framework` CLI and `grunt` commands for initialization, development, and building to ensure proper environment setup and task execution.
affects: >=0.1.0
gotchaSecurity-related environment variables like `SESSION_SECRET` are critical for encryption and session management. Failing to set a strong, unique secret exposes the application to security vulnerabilities.
fix
Always set a long, random, and unique `SESSION_SECRET` in production environments. Understand the implications of `SKIP_IP_ENCRYPT` before disabling token IP encryption.
affects: >=0.1.0
Errors
Common errors & fixes
Error: Cannot find module 'coffeescript'
The CoffeeScript compiler, required to run or build the application, is not installed or not accessible in the current environment.
fix
Install CoffeeScript globally or ensure it's a project dependency: `npm install -g coffeescript`.
'grunt' is not recognized as an internal or external command, operable program or batch file.
The Grunt CLI (command-line interface) is not installed globally on the system, which is necessary to run development and build tasks.
fix
Install the Grunt CLI globally: `npm install -g grunt-cli`.
Error: listen EADDRINUSE :::3000
Another process is already occupying the default port (3000) that ndx-framework attempts to use.
fix
Stop the conflicting process, or specify a different port using the `PORT` environment variable (e.g., `PORT=4000 grunt`).
ReferenceError: ndx is not defined
Attempting to access the `ndx` object before it has been properly initialized or made available within the current scope by the framework.
fix
Ensure your code executes within the framework's lifecycle or, if external, explicitly `const ndx = require('ndx-framework');` and reference the variable.
Error: [$injector:unpr] Unknown provider: SomeServiceProvider
An AngularJS (Angular 1) service or dependency specified in the frontend application could not be located or injected by the AngularJS injector.
fix
Verify that `SomeService` (or the missing provider) is correctly defined and registered as an AngularJS module, and that all its own dependencies are met.
Upgrade
Version history
0.2.27latest on npm
Audit
Dependencies
expressrequiredCore web server framework for Node.js.
angularrequiredFrontend framework (AngularJS 1.x) for client-side applications.
coffeescriptrequiredPrimary language for application logic, requiring compilation.
pugrequiredTemplate engine (formerly Jade) for server-side rendering.
stylusrequiredCSS preprocessor for styling.
gruntrequiredTask runner for development (livereload) and build processes.
yeomanrequiredScaffolding tool for generating application structure and modules.
ndx-serverrequiredCore server component, likely wrapped by ndx-framework.
ndxdbrequiredBuilt-in in-memory database with S3 persistence capabilities.
ndx-database-engineoptionalAbstraction for plugging in alternative databases.
Agent activity
5 hits · last 30 days
node
4
Resources