Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Meanie is a boilerplate for developing, testing and building full-stack modular javascript applications using MEAN (MongoDB, Express, AngularJS and Node.js). Meanie is powered by the Gulp task runner.
Meanie is a boilerplate for developing, testing and building full-stack modular javascript applications using MEAN (MongoDB, Express, AngularJS and Node.js). Meanie is powered by the Gulp task runner.
This package contains the Meanie CLI tool which can be used to create new Meanie projects and install other Meanie modules. For more information about the boilerplate itself, please check the Meanie Boilerplate GitHub repository or the Meanie Boilerplate npm page.
# Install meanie CLI globally
npm install -g meanie
meanie create AppName
This will install the following core Meanie modules:
meanie install fontello
To find out what Meanie modules are available, check Meanie on github or find Meanie modules in the npm registry.
gulp
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 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!
Just delete the server
folder and replace it with whatever you'd like to use. You can use backend mocks for the client application by installing the Meanie Backend Mocks module.
The Meanie client app is built on the AngularJS framework. If you want to use a different framework, it is recommended you find a different boilerplate, suited for that specific framework.
Generally it's not advisable to prefix your own services with a dollar sign, because it might lead to conflicts with internal Angular services. However, since Angular 1.x is pretty stable and development on Angular 2.x is well underway, it is unlikely that new internal Angular services will be released which would conflict with Meanie services. Moreover, in some cases the same name is used inentionally to overwrite an existing Angular service (e.g. $log
) in order to improve its functionality.
By prefixing some of the common Angular services with a dollar sign, it is easier to distinguish them from your own application specific services and you can treat the common services as if they are an extension of the Angular framework.
Please report any bugs, issues, suggestions and feature requests in the appropriate 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).
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
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.