Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
simple-dev-server
Advanced tools
A webpack optional dev server with proxies and mocking that requires almost no configuration.
This is a simple dev server that works with webpack apps or without webpack. It is meant to make development easier and aims to end the prickly practice of running two servers in development.
devserver.config.js
.module.exports = {
proxy: {
'/api/*': 'http://url.of.prod.api/'
},
publicPaths: {
'/assets': 'assets'
},
mockPath: 'mock',
app: '/index.html', // this can also be an express app
serverConfig: {}, // config for webpack-hot-server-middleware
port: 5450, // 3000 by default
};
All options are optional.
If you'd like to start more than one server with the same build (useful when making multiple apps) use an array of config objects instead of a single one.
If you're rendering on the server it will use webpack-hot-server-middleware to recompile your server side code. Just be sure to have a server entry in your webpack config.
proxy
- key/value pairs of URLs to servers to proxy requests. This allows you to work with an external API and/or image server.publicPaths
- a key/value pair of URLs to the static file directories in which they are contained.mockPath
- You can make a folder on your project that contains sample responses from your API calls. Paths that exist in this directory structure will be used instead of making HTTP calls.app
- An express app or a string that will be used to server your single page app.apps
- an array of apps, end with a string to serve a single page app. Ignored if app
is present.serverConfig
- used for webpack-hot-server-middleware if there's a server entry in your webpack config.port
- the port number that will be used.The recommended way is to install it as a devDependency to your project, then save it as your npm start
or npm run dev
script.
yarn add --dev simple-dev-server
Then add this to the "scripts" section of your package.json:
{
"name": "YourApp",
"scripts": {
"start": "simple-dev-server"
}
}
and run yarn start
yarn global add simple-dev-server
Then you may simply run simple-dev-server
// Nothing. It'll default to port 3000
module.exports = {
proxy: {
'/api/*': 'http://url.of.prod/',
'/usercontent/*': 'http://url.of.prod/'
},
publicPaths: {
'/assets': 'assets'
}
};
module.exports = {
proxy: {
'/api/*': 'http://url.of.prod.api/',
},
app: '/index.html'
};
You can have webpack serve index.html using the webpack-html-plugin
, if it doesn't exist in the build it will be served statically.
var app = require('./back-end-express-app');
module.exports = {
proxy: {
'/api/*': 'http://url.of.prod.api/',
},
apps: [app, '/index.html']
};
FAQs
A webpack optional dev server with proxies and mocking that requires almost no configuration.
We found that simple-dev-server demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.