Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Meanie is a boilerplate for developing full-stack modular javascript applications using the MEAN stack (MongoDB, Express, AngularJS and Node.js), powered by the Gulp task runner.
Meanie is a boilerplate for developing full-stack modular javascript applications using the MEAN stack (MongoDB, Express, AngularJS and Node.js), powered by the Gulp task runner.
This package installs the meanie CLI tools with which you can create new Meanie projects and manage your Meanie modules and dependencies.
# Install meanie CLI globally
npm install -g meanie
# Create a new Meanie project in the current directory
meanie create
# Create a new Meanie project in a given directory
meanie create ~/some/path
# Install a specific Meanie module for the current project
meanie install client-storage
Meanie comes with fully configured Gulp tasks for all common development and build tasks.
Note: The gulpfile for Meanie has been configured for use with Gulp version 4. This version is not officially released yet, but you can install and use the alpha version by following these instructions.
The default task, which you can run by simply typing gulp
is to run the three main tasks, build, watch and start. This is perfect for ongoing development.
$ gulp
You can also run these tasks individually if needed.
Build the application and populate the public folder with compiled javascript, stylesheets and static assets. The build task also lints your files and runs your tests prior to building.
$ gulp build
Watch your files for changes and runs linters, unit tests and recompiles the application files as needed.
$ gulp watch
The watch task also comes with livereload, which gets triggered every time the index file is rebuilt. To use it, simply install the Chrome livereload plugin.
Starts the Node server using Nodemon.
$ gulp start
You can test your client and server side code without building by using one of the following tasks:
# Test server side code and client side code
$ gulp test
# Test server side code
$ gulp test-server
# Test client side code
$ gulp test-client
There are three versioning tasks which help you bump your version numbers in your package files and automatically update the version in your README file, as well as commit the bump to the repository and tag it with the new version.
This process uses semantic versioning.
# Bump the patch version (0.1.0 -> 0.1.1)
$ gulp patch
# Bump the minor version (0.1.0 -> 0.2.0)
$ gulp minor
# Bump the major version (0.1.0 -> 1.0.0)
$ gulp major
Some of the helper tasks have also been exposed to the CLI:``
# Cleans the public folder
$ gulp clean
# Copy all static assets to the public folder
$ gulp static
The following is an outline of the folder structure of this boilerplate:
# Client side code and assets
├─ client
# This is where your client side Angular application resides.
# Everything in this folder should be explicitly specific to
# your application.
├─ app
# The home module of your application. Feel free to rename to
# anything that suits better (e.g. index, dashboard, ...)
├─ home
# This folder contains the layout module for you application.
# It's a good place to store all common stylesheets and templates.
├─ layout
# The navigation module, for application wide navigation logic.
├─ nav
# Any application specific, but shared services, directives and
# filters that don't belong to one specific module reside here.
└─ shared
# Common (non packaged) services, directives and filters are arranged
# in this folder. Everything in here is not specific to a particular
# application and could be recycled in other projects.
├─ common
# Static assets for your client application go here. This is a good
# place to store fonts, images, audio files, etc. Anything in here
# will be copied as-is to the public folder.
├─ static
# Vendor resources reside here. Bower is configured to download all
# 3rd party resources into this folder, and this folder is excluded
# from the GIT repository.
└─ vendor
# Server side code and assets
├─ server
# This is where your server side Node/Express application resides.
# Everything in this folder should be specific to your application.
├─ app
# Common (non packaged) node modules are arranged in this folder.
# Everything in here is not specific to a particular application
# and could be recycled in other projects.
└─ common
# Environment configuration (shared by client and server)
├─ env
# Public folder for compiled assets (generated by Gulp)
└─ public
# Compiled CSS stylesheets
├─ css
# Compiled Javascript sources
├─ js
# Fonts (copied over from client/static)
├─ fonts
# Images (copied over from client/static)
└─ images
The most important difference between Meanie and other MEAN boilerplates like MEAN.JS, is that Meanie uses a modular approach to folder/file structuring, whereas most others use more of a "sock drawer" approach to organizing files. Meanie thinks that a modular approach is easier to navigate, easier to reuse/refactor, and easier to develop with.
Other differences are:
Yeoman prescribes a particular folder structure (e.g. must have /app in your root), whereas Meanie likes to split your code between server/ and client/ first.
Unfortunately, npm currently doesn't support moving package code outside of the node_modules
folder. Since the Meanie boilerplate has to reside in your project folder and not in node_modules
, it was necessary to circumvent this limitation by creating a custom CLI tool.
If at some point npm and Bower somehow fuse into a single wonderful tool to manage both client and server side dependencies, Meanie will be the first to use it!
Please report all bugs, issues, suggestions and feature requests in our GitHub issue tracker.
If you would like to contribute to Meanie, please check out CONTRIBUTING.md.
(MIT License)
Copyright 2015, Adam Buczynski
FAQs
Meanie is a a collection of libraries for developing, testing and building javascript applications using the MEAN stack (MongoDB, Express, AngularJS and Node).
The npm package meanie receives a total of 122 weekly downloads. As such, meanie popularity was classified as not popular.
We found that meanie demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.