Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Pack node-style source files from a stream of path's into a browser bundle
Pack node-style source files from a stream of path's into a browser bundle with require layering support.
Note: This plugin is highly sensitive to order, in which you call add
method.
var bempack = require('bem-pack');
var pack = bempack();
pack.add('base/base.js');
.add('main/base.js');
.bundle(function (err, buf) {
console.log(buf.toString());
});
This feature is really handy, when you want to achieve flexible extension of javascript files, that not exported in modules. In normal world to extend some base
module you possible create myBase
module and require base
constructor from myBase
constructor:
// base.js
module.exports = 'base';
// myBase.js
module.exports = require('./base.js') + ' extended!';
But in BEM world you have same filename for javascript file in different layers of definition (or directoires):
// base/base.js
module.exports = 'base';
// site/base.js
module.exports = require('./base.js') + ' extended!';
As you can see, snippet above will not work properly, because you should fix the path of the require call. Ofter there is no way to do this, because order of layers can change eventually. So we come up with this idea:
Every bundled file will "export" module with it BEM identifier.
For example base__elem.js
will export base__elem
module, that can be required in next bundled javascript file:
// base/base.js
module.exports = 'base';
// site/base.js
module.exports = require('base') + ' extended!';
This is not stable way of doing layered requires, but it seems nice and simple to implement.
Returns instance of browserify with additional step added to deps
pipeline.
All options are passed to browserify constructor, except ignoreMissing
is setted to true always.
Type: Function
Function, that will generate some kind of export name for given path.
By default we split filename by .
and take first part. For our usage cases it will contain BEM identificator.
MIT (c) 2014 Vsevolod Strukchinsky
FAQs
Pack node-style source files from a stream of path's into a browser bundle
The npm package bem-pack receives a total of 1 weekly downloads. As such, bem-pack popularity was classified as not popular.
We found that bem-pack 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.