New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

postcss-import-url

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-import-url - npm Package Compare versions

Comparing version 6.0.0 to 6.0.1

106

index.js

@@ -1,8 +0,10 @@

var postcss = require('postcss');
var hh = require('http-https');
var isUrl = require('is-url');
var trim = require('lodash.trim');
var resolveRelative = require('resolve-relative-url');
var assign = require('lodash.assign');
var defaults = {
const postcss = require('postcss');
const hh = require('http-https');
const isUrl = require('is-url');
const trim = require('lodash.trim');
const resolveRelative = require('resolve-relative-url');
const assign = require('lodash.assign');
const url = require('url');
const defaults = {
recursive: true,

@@ -13,5 +15,4 @@ resolveUrls: false,

};
var space = postcss.list.space;
var url = require('url');
var urlRegexp = /url\(["']?.+?['"]?\)/g;
const space = postcss.list.space;
const urlRegexp = /url\(["']?.+?['"]?\)/g;

@@ -21,42 +22,48 @@ function postcssImportUrl(options) {

function importUrl(tree, dummy, parentRemoteFile) {
async function importUrl(tree, _, parentRemoteFile) {
parentRemoteFile = parentRemoteFile || tree.source.input.file;
var imports = [];
const imports = [];
tree.walkAtRules('import', function checkAtRule(atRule) {
var params = space(atRule.params);
var remoteFile = cleanupRemoteFile(params[0]);
const params = space(atRule.params);
let remoteFile = cleanupRemoteFile(params[0]);
if (parentRemoteFile) {
remoteFile = resolveRelative(remoteFile, parentRemoteFile);
}
if (!isUrl(remoteFile)) return;
imports[imports.length] = createPromise(remoteFile, options).then(function (r) {
var newNode = postcss.parse(r.body);
var mediaQueries = params.slice(1).join(' ');
if (mediaQueries) {
var mediaNode = postcss.atRule({
name: 'media',
params: mediaQueries,
});
mediaNode.append(newNode);
newNode = mediaNode;
}
if (!isUrl(remoteFile)) {
return;
}
imports[imports.length] = createPromise(remoteFile, options).then(
async r => {
let newNode = postcss.parse(r.body);
const mediaQueries = params.slice(1).join(' ');
if (mediaQueries) {
const mediaNode = postcss.atRule({
name: 'media',
params: mediaQueries,
source: atRule.source,
});
mediaNode.append(newNode);
newNode = mediaNode;
} else {
newNode.source = atRule.source;
}
if (options.resolveUrls) {
// Convert relative paths to absolute paths
newNode = newNode.replaceValues(urlRegexp, { fast: 'url(' }, function (url) {
return resolveUrls(url, remoteFile);
});
}
if (options.resolveUrls) {
// Convert relative paths to absolute paths
newNode = newNode.replaceValues(
urlRegexp,
{ fast: 'url(' },
url => resolveUrls(url, remoteFile),
);
}
var p = options.recursive
? importUrl(newNode, null, r.parent)
: Promise.resolve(newNode);
return p.then(function (tree) {
const tree = await (options.recursive
? importUrl(newNode, null, r.parent)
: Promise.resolve(newNode));
atRule.replaceWith(tree);
});
});
},
);
});
return Promise.all(imports).then(function () {
return tree;
});
await Promise.all(imports);
return tree;
}

@@ -86,3 +93,3 @@

function createPromise(remoteFile, options) {
var reqOptions = url.parse(remoteFile);
const reqOptions = urlParse(remoteFile);
reqOptions.headers = {};

@@ -92,3 +99,3 @@ reqOptions.headers['connection'] = 'keep-alive';

reqOptions.headers['user-agent'] =
'Mozilla/5.0 AppleWebKit/538.0 Chrome/80.0.0.0 Safari/538';
'Mozilla/5.0 AppleWebKit/538.0 Chrome/88.0.0.0 Safari/538';
}

@@ -99,8 +106,8 @@ if (options.userAgent) {

function executor(resolve, reject) {
var request = hh.get(reqOptions, function (response) {
var body = '';
response.on('data', function (chunk) {
const request = hh.get(reqOptions, response => {
let body = '';
response.on('data', chunk => {
body += chunk.toString();
});
response.on('end', function () {
response.on('end', () => {
resolve({

@@ -117,1 +124,6 @@ body: body,

}
function urlParse(remoteFile) {
const reqOptions = url.parse(remoteFile);
return reqOptions;
}
{
"name": "postcss-import-url",
"version": "6.0.0",
"version": "6.0.1",
"description": "PostCSS plugin inlines remote files.",

@@ -41,7 +41,8 @@ "main": "index.js",

"gulp-mocha": "^7.0.2",
"husky": "^4.3.5",
"postcss": "^8.2.0",
"husky": "^4.3.8",
"ololog": "^1.1.164",
"postcss": "^8.2.4",
"precise-commits": "^1.0.2",
"prettier": "^2.2.1",
"semantic-release": "^17.3.0",
"semantic-release": "^17.3.7",
"tcp-ping": "^0.1.1"

@@ -48,0 +49,0 @@ },

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