Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
broccoli-css-modules
Advanced tools
A Broccoli plugin for compiling CSS Modules.
Given a Broccoli tree containing CSS files, this plugin will emit a tree containing scoped versions of those files alongside a .js
file for each containing a mapping of the original class names to the scoped ones.
var CSSModules = require('broccoli-css-modules');
var compiled = new CSSModules(inputCSS, {
// options
});
All configuration parameters listed below are optional.
encoding
The assumed character encoding for all files being processed. Defaults to utf-8
.
extension
The extension that input files will have. Defaults to css
.
virtualModules
A hash of pre-defined modules with exported values, useful for passing in configuration to your CSS modules. For example, given this configuration:
virtualModules: {
'color-constants': {
'grass-green': '#4dbd33'
}
}
The following import would retrieve the value #fdbd33
:
@value grass-green from 'color-constants';
plugins
Additional PostCSS plugins that will be applied to the input styles. May be either
an array or a hash with before
and/or after
keys, each containing an array of plugins.
Specifying only a plain array is shorthand for including those plugins in after
.
generateScopedName
A callback to generate the scoped version of an identifier. Receives two arguments:
name
: the identifier to be scopedpath
: the location of the module containing the identifier
The function should return a string that uniquely globally identifies this name originating from the given module.getJSFilePath
Allows for the customizing the output path for the JS file resulting from processing a CSS module. Defaults to simply replacing the extension on the input file with .js
.
resolvePath
A callback to resolve a given import path from one file to another. Receives two arguments:
importPath
: the path from which to import, as specified in the importing modulefromFile
: the absolute path of the importing module
The function should return an absolute path where the contents of the target imported module can be located.onBuildStart
A callback that will be invoked whenever a build or rebuild begins. Receives no arguments.
onBuildEnd
A callback that will be invoked whenever a build or rebuild concludes, whether it was successful or not. Receives no arguments.
onBuildSuccess
A callback that will be invoked whenever a build or rebuild successfully completes. Receives no arguments.
onBuildError
A callback that will be invoked whenever a build or rebuild fails with an error. Receives no arguments.
onProcessFile
A callback that will be invoked whenever a file is about to be processed. Receives one argument:
path
: the path of the file about to be processedformatCSS
A function that will be invoked to determine the output format of the namespaced CSS for a module. Receives two arguments:
namespacedCSS
: a string representing the processed CSS for a given modulemodulePath
: the relative path of the module to be formatted
The function should return a string representing the content to be written out. By default, the given CSS will be emitted with a leading content indicating the path of the original module.formatJS
A function that will be invoked to determine the output format of class name mapping for a module. Receives two arguments:
classMapping
: a hash mapping each original classname from the module to its namespaced equivalent(s)modulePath
: the relative path of the module to be formatted
The function should return a string representing the content to be written out. By default, the given object will be emitted as the default export of an ES6 module.enableSourceMaps
Whether inline source maps should be generated for the transformed module CSS.
sourceMapBaseDir
The base directory relative to which paths in source maps should be encoded. Defaults to the base of the input tree.
postcssOptions
A hash of options that will be passed directly through to the PostCSS processor. This allows the use of e.g. custom syntax in the processed files.
onModuleResolutionFailure
A function that will be invoked when a referenced module cannot be found. Receives three arguments:
failure
: details of why the lookup failed, if applicablemodulePath
: the path specified to locate the modulerelativeTo
: the absolute path of the importing moduleonImportResolutionFailure
A function that will be invoked when an imported symbol is not exported by the target module. Receives three arguments:
symbol
: the unresolved identifier for which an import was attemptedmodulePath
: the path specified to locate the containing modulefromFile
: the absolute path of the importing moduleFAQs
A broccoli plugin for compiling CSS modules
The npm package broccoli-css-modules receives a total of 6,395 weekly downloads. As such, broccoli-css-modules popularity was classified as popular.
We found that broccoli-css-modules 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.