Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
grunt-devserver
Advanced tools
grunt-devserver provides a simple way to quickly get a development server serving up your content with
As a developer I needed a lightweight way to serve up client-side applications and content in isolation from a larger server application. Something that supported a rapid workflow and integrated with my tools.
Install it from the command line into your project
npm install grunt-devserver --save-dev
Or add it to your package.json devDependicies
"devDependencies": {
"grunt-devserver": "*"
}
Or install it globally
npm install grunt-devserver -g
Once grunt-devserver has been installed globally you can run it from any folder by typing devserver
Command line options:
-t, --type (server type) http|https (default is http)
-p, --port (port number) listen on this port
-f, --folder (full path to a folder) serves this folder
--cache (method) the method to return in the Cache-Control HTTP header. Default is no-cache.
--file (filename) loads a json configuration file
To start a server through grunt you need a devserver configuration in your Gruntfile.js
and tell
grunt to load the grunt-devserver as an available task. For more information see Configuring Tasks.
var config = {devserver: {server: {}}}
grunt.initConfig(config)
grunt.loadNpmTasks('grunt-devserver')
and execute using:
grunt devserver
Now you can add the following options:
devserver: { options: { 'type' : <string> (http|https defaults to http)
, 'port' : <port number> (defaults to 8888)
, 'base' : <directory> (defaults to .)
, 'cache' : <string> (defaults to 'no-cache')
, 'httpsOptions' : <object> https.createServer options
, 'file' : <filename>
, 'async' : <boolean> (defaults to true)
}
}
httpsOptions
are passed directly through to node's https.createServer() method. Read the docs for more information.async
if set to true it will keep Grunt from terminating (see Grunt Tasks)file
See Using Configuration Files for samples on how to use file configurations with devserverNOTE: Starting multiple devservers requires setting the async
option to false so that other server tasks may be
processed. async
can also be useful when a server is needed to support integration or functional testing.
Yeoman automatically loads all node_modules prefixed with "grunt" as grunt tasks. Just install grunt-devserver and add a server configuration and you're ready to go
grunt devserver
You can also use devserver directly as a module in your project.
var devserver = require('grunt-devserver')
, options = { type: "http", port: 8000 }
, serverStarted = devserver(options)
serverStarted.then(function(server) {
// TODO something awesome
})
As a developer tool integration is extremely important. If you are using a Jetbrains IDE like IntelliJ or WebStorm here are instructions to start a devserver directly in your IDE by adding an entry to your External Tools:
Q: I am getting "env: node: No such file or directory
"
You need to add node to your path. On a Mac 10.8.x or later see launchctl man page for more information.
sudo vim /etc/launchd.conf
setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Configuration files provide you with the same functionality as provided by a grunt configuration. Since it is decoupled from GruntFile.js, configuration files can be shared easily among projects or used from the command-line.
When a property exists in the grunt/command-line configuration and in the configuration file, the grunt/command-line option always overrides the file options.
A example devserverrc file
{ "options": { "type" : "http"
, "port" : 8888
}
}
When this file is loaded from the command-line
devserver --file "./devserverrc" --port 4321 --cache "no-store"
The resulting configuration used by devserver
{ "options": { "type" : "http"
, "port" : 4321
, "cache" : "no-store"
}
}
There are many ways to contribute:
Anything you do can make a big difference. In smaller, open projects feedback is vital to connect the project to the community, provide more value, and encourage adoption. It's part of the feedback loop that helps make software better, faster.
When resolving issues or adding features please be sure to follow the style guide and make sure code is fully tested.
Logos and tools are property of their respective owners.
Grunt
Yeoman
0.5.1
FAQs
a simple web server without caching for development
The npm package grunt-devserver receives a total of 62 weekly downloads. As such, grunt-devserver popularity was classified as not popular.
We found that grunt-devserver 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.