Socket
Socket
Sign inDemoInstall

css-url-rewriter-ex

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

css-url-rewriter-ex

CSS URL rewriter


Version published
Weekly downloads
7
Maintainers
1
Weekly downloads
 
Created
Source

CSS URL Rewriter

Features

  • Designed to be used as dependency for other libraries (sass, less, stylus etc)
  • Rewrite CSS URLs to project root path with default resolver
  • Rewrite CSS URLs with custom URL resolver
  • Track all processed URLs
  • Could be used in combination with css-asset-copier library

TODO

  • By default this rewriter modify code only inside lines, so it source code line number is preserved but column could be different, but precise column level mapping for css has no benefits while debugging. But it could be implemented using source-map npm package.
  • Implement more precise parser using css npm package.

Installation

npm install css-url-rewriter-ex

Usage

Default Resolver

  • root: specify path to project root folder which will be used to resolve all relative urls.
  • publicPath: set to target public path to prefix relative paths with it. Required for <link href="blob:..."/> or <link href="data:..."/> style injections for some browsers, for example, for Chrome 54.x (otherwise Chrome will not be able to resolve relative urls).
var CssUrlRewriter = require('css-url-rewriter-ex');
var rewriter = new CssUrlRewriter({ root: path.resolve('.') });
var fixedContent = rewriter.rewrite(filename, originalContent);

Custom Resolver

  • Pass resolver option as function resolver(url, filename, option) { ... }
  • absolute and data urls are not resolved by default
  • return false to skip rewrite
  • return undefined or null to use default resolver
  • return string with resolved url to use it
var CssUrlRewriter = require('css-url-rewriter-ex');

var rewriter = new CssUrlRewriter({
  root: SystemJS.baseURL,
  resolver: function (url, filename, options) {
    // resolve jspm: paths here and use default for all others
    if (url.match(/^jspm:/)) {
      return SystemJS.normalizeSync(url.substr(5));
    }
  }
});

var fixedContent = rewriter.rewrite(filename, originalContent);

Keywords

FAQs

Package last updated on 03 Nov 2016

Did you know?

Socket

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.

Install

Related posts

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