Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
case-sensitive-paths-webpack-plugin
Advanced tools
Enforces module path case sensitivity in Webpack
The case-sensitive-paths-webpack-plugin is a Webpack plugin that ensures that the file paths you use in your project are case-sensitive. This is particularly useful when developing on an operating system like Windows, which is not case-sensitive, but deploying to an environment that is, such as Linux. The plugin helps prevent runtime errors in production by ensuring that all imports and requires are case-correct.
Enforce case-sensitive paths
This feature ensures that all paths in your Webpack project are used in a case-sensitive manner. If a file is imported with a path that does not match the exact case of the actual file path, the plugin will cause the build to fail, alerting you to the issue.
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
module.exports = {
plugins: [
new CaseSensitivePathsPlugin()
]
};
This is another Webpack plugin that serves a similar purpose to case-sensitive-paths-webpack-plugin. It forces the resolution of modules to be case-sensitive. It is very similar in functionality but might differ slightly in implementation details or additional options provided.
This Webpack plugin enforces the entire path of all required modules match the exact case of the actual path on disk. Using this plugin helps alleviate cases where developers working on OSX, which does not follow strict path case sensitivity, will cause conflicts with other developers or build boxes running other operating systems which require correctly cased paths.
Previous iterations on this same idea provide the basis for this plugin, but unfortunately do not properly check case on the entire path. This plugin fixes that. Example output:
ERROR in ./src/containers/SearchProducts.js Module not found: Error: [CaseSensitivePathsPlugin]
/Users/example/yourproject/src/components/searchProducts/searchproducts.js
does not match the corresponding path on disk/Users/example/yourproject/src/components/searchproducts
@ ./src/containers/SearchProducts.js 9:22-84
npm install --save-dev case-sensitive-paths-webpack-plugin
var CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
var webpackConfig = {
plugins: [
new CaseSensitivePathsPlugin()
// other plugins ...
]
// other webpack config ...
}
Want more information? Pass {debug: true}
to the plugin like so:
new CaseSensitivePathsPlugin({debug: true})
It will output every directory it reads, as well as a sum total of filesystem operations. This is mostly useful for internal debugging of the plugin, but if you find it useful, more power to you.
Check the /demo
directory for a working example of the plugin in action, with tests demonstrating the effect of the plugin. See /demo/README.md
for more.
1d11967
31491e0
3bf9fa2
f12aa57
dc7765e
198c7e1
7d05a0a
737dadd
c662bc4
08dec5d
30dcfc1
FAQs
Enforces module path case sensitivity in Webpack
The npm package case-sensitive-paths-webpack-plugin receives a total of 5,877,938 weekly downloads. As such, case-sensitive-paths-webpack-plugin popularity was classified as popular.
We found that case-sensitive-paths-webpack-plugin 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
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.