Socket
Socket
Sign inDemoInstall

webpack-dev-middleware

Package Overview
Dependencies
Maintainers
6
Versions
117
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webpack-dev-middleware - npm Package Compare versions

Comparing version 4.0.0-rc.1 to 4.0.0-rc.2

7

CHANGELOG.md

@@ -5,2 +5,9 @@ # Changelog

## [4.0.0-rc.2](https://github.com/webpack/webpack-dev-middleware/compare/v4.0.0-rc.1...v4.0.0-rc.2) (2020-06-30)
### Bug Fixes
* prefer mime type option over built-in ([#670](https://github.com/webpack/webpack-dev-middleware/issues/670)) ([7fa2c15](https://github.com/webpack/webpack-dev-middleware/commit/7fa2c151cfc84001a0116e07532c464aefe9f56c))
## [4.0.0-rc.1](https://github.com/webpack/webpack-dev-middleware/compare/v4.0.0-rc.0...v4.0.0-rc.1) (2020-02-20)

@@ -7,0 +14,0 @@

8

dist/index.js

@@ -40,5 +40,7 @@ "use strict";

types
} = _mimeTypes.default;
_mimeTypes.default.types = { ...mimeTypes,
...types
} = _mimeTypes.default; // mimeTypes from user provided options should take priority
// over existing, known types
_mimeTypes.default.types = { ...types,
...mimeTypes
};

@@ -45,0 +47,0 @@ }

@@ -21,8 +21,16 @@ "use strict";

function wrapper(context) {
return function middleware(req, res, next) {
// fixes #282. credit @cexoso. in certain edge situations res.locals is undefined.
return async function middleware(req, res, next) {
const acceptedMethods = context.options.methods || ['GET', 'HEAD']; // fixes #282. credit @cexoso. in certain edge situations res.locals is undefined.
// eslint-disable-next-line no-param-reassign
res.locals = res.locals || {};
function goNext() {
if (!acceptedMethods.includes(req.method)) {
await goNext();
return;
}
(0, _ready.default)(context, processRequest, req);
async function goNext() {
if (!context.options.serverSideRender) {

@@ -43,54 +51,42 @@ return next();

const acceptedMethods = context.options.methods || ['GET', 'HEAD'];
async function processRequest() {
const filename = (0, _getFilenameFromUrl.default)(context, req.url);
const {
headers
} = context.options;
let content;
if (acceptedMethods.indexOf(req.method) === -1) {
return goNext();
}
if (!filename) {
await goNext();
return;
}
return new Promise(resolve => {
// eslint-disable-next-line consistent-return
function processRequest() {
const filename = (0, _getFilenameFromUrl.default)(context, req.url);
try {
content = context.outputFileSystem.readFileSync(filename);
} catch (_ignoreError) {
await goNext();
return;
}
if (!filename) {
return resolve(goNext());
}
if (!res.get('Content-Type')) {
// content-type name(like application/javascript; charset=utf-8) or false
const contentType = _mimeTypes.default.contentType(_path.default.extname(filename));
let content;
try {
content = context.outputFileSystem.readFileSync(filename);
} catch (_ignoreError) {
return resolve(goNext());
if (contentType) {
res.set('Content-Type', contentType);
}
}
content = (0, _handleRangeHeaders.default)(content, req, res);
if (!res.get('Content-Type')) {
const contentType = _mimeTypes.default.contentType(_path.default.extname(filename));
if (contentType) {
res.set('Content-Type', contentType);
}
if (headers) {
for (const name of Object.keys(headers)) {
res.set(name, headers[name]);
}
} // Buffer
const {
headers
} = context.options;
if (headers) {
for (const name in headers) {
if ({}.hasOwnProperty.call(headers, name)) {
res.set(name, context.options.headers[name]);
}
}
}
content = (0, _handleRangeHeaders.default)(content, req, res); // send Buffer
res.send(content);
resolve();
}
(0, _ready.default)(context, processRequest, req);
});
res.send(content);
}
};
}

@@ -6,3 +6,3 @@ "use strict";

});
exports.default = void 0;
exports.default = getFilenameFromUrl;

@@ -40,3 +40,3 @@ var _path = _interopRequireDefault(require("path"));

var _default = (context, url) => {
function getFilenameFromUrl(context, url) {
const {

@@ -109,4 +109,2 @@ options

return filename;
};
exports.default = _default;
}

@@ -34,3 +34,3 @@ "use strict";

} else {
outputFileSystem = (0, _memfs.createFsFromVolume)(new _memfs.Volume()); // Todo remove when we drop webpack@4 support
outputFileSystem = (0, _memfs.createFsFromVolume)(new _memfs.Volume()); // TODO: remove when we drop webpack@4 support

@@ -49,4 +49,2 @@ outputFileSystem.join = _path.default.join.bind(_path.default);

context.outputFileSystem = outputFileSystem;
}
module.exports = setupOutputFileSystem;
}
{
"name": "webpack-dev-middleware",
"version": "4.0.0-rc.1",
"version": "4.0.0-rc.2",
"description": "A development middleware for webpack",

@@ -11,2 +11,6 @@ "license": "MIT",

"main": "dist/index.js",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"engines": {

@@ -38,36 +42,35 @@ "node": ">= 10.13"

"dependencies": {
"mem": "^6.0.1",
"memfs": "^3.1.1",
"mime-types": "^2.1.26",
"mem": "^6.1.0",
"memfs": "^3.2.0",
"mime-types": "^2.1.27",
"range-parser": "^1.2.1",
"schema-utils": "^2.6.4"
"schema-utils": "^2.7.0"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@commitlint/cli": "^8.3.5",
"@commitlint/config-conventional": "^8.3.4",
"@babel/cli": "^7.10.3",
"@babel/core": "^7.10.3",
"@babel/preset-env": "^7.10.3",
"@commitlint/cli": "^9.0.1",
"@commitlint/config-conventional": "^9.0.1",
"@webpack-contrib/defaults": "^6.3.0",
"@webpack-contrib/eslint-config-webpack": "^3.0.0",
"babel-jest": "^25.1.0",
"commitlint-azure-pipelines-cli": "^1.0.3",
"cross-env": "^7.0.0",
"babel-jest": "^26.1.0",
"chokidar": "^3.4.0",
"cross-env": "^7.0.2",
"del": "^5.1.0",
"del-cli": "^3.0.0",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.10.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-prettier": "^3.1.2",
"del-cli": "^3.0.1",
"eslint": "^7.3.1",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-prettier": "^3.1.4",
"express": "^4.17.1",
"file-loader": "^5.1.0",
"husky": "^4.2.3",
"jest": "^25.1.0",
"jest-junit": "^10.0.0",
"lint-staged": "^10.0.7",
"file-loader": "^6.0.0",
"husky": "^4.2.5",
"jest": "^26.1.0",
"lint-staged": "^10.2.11",
"npm-run-all": "^4.1.5",
"prettier": "^1.19.1",
"standard-version": "^7.1.0",
"prettier": "^2.0.5",
"standard-version": "^8.0.0",
"supertest": "^4.0.2",
"webpack": "^4.41.6"
"webpack": "^4.43.0"
},

@@ -74,0 +77,0 @@ "keywords": [

@@ -347,3 +347,3 @@ <div align="center">

[CONTRIBUTING](./.github/CONTRIBUTING.md)
[CONTRIBUTING](./CONTRIBUTING.md)

@@ -360,4 +360,4 @@ ## License

[deps-url]: https://david-dm.org/webpack/webpack-dev-middleware
[tests]: https://dev.azure.com/webpack/webpack-dev-middleware/_apis/build/status/webpack.webpack-dev-middleware?branchName=master
[tests-url]: https://dev.azure.com/webpack/webpack-dev-middleware/_build/latest?definitionId=8&branchName=master
[tests]: https://github.com/webpack/webpack-dev-middleware/workflows/webpack-dev-middleware/badge.svg
[tests-url]: https://github.com/webpack/webpack-dev-middleware/actions
[cover]: https://codecov.io/gh/webpack/webpack-dev-middleware/branch/master/graph/badge.svg

@@ -364,0 +364,0 @@ [cover-url]: https://codecov.io/gh/webpack/webpack-dev-middleware

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc