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.3 to 6.0.4

106

index.js

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

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 = {
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 = {
recursive: true,

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

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

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

async function importUrl(tree, _, parentRemoteFile) {
function importUrl(tree, dummy, parentRemoteFile) {
parentRemoteFile = parentRemoteFile || tree.source.input.file;
const imports = [];
var imports = [];
tree.walkAtRules('import', function checkAtRule(atRule) {
const params = space(atRule.params);
let remoteFile = cleanupRemoteFile(params[0]);
var params = space(atRule.params);
var remoteFile = cleanupRemoteFile(params[0]);
if (parentRemoteFile) {
remoteFile = resolveRelative(remoteFile, parentRemoteFile);
}
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 (!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 (options.resolveUrls) {
// Convert relative paths to absolute paths
newNode = newNode.replaceValues(
urlRegexp,
{ fast: 'url(' },
url => resolveUrls(url, remoteFile),
);
}
if (options.resolveUrls) {
// Convert relative paths to absolute paths
newNode = newNode.replaceValues(urlRegexp, { fast: 'url(' }, function (url) {
return resolveUrls(url, remoteFile);
});
}
const tree = await (options.recursive
? importUrl(newNode, null, r.parent)
: Promise.resolve(newNode));
var p = options.recursive
? importUrl(newNode, null, r.parent)
: Promise.resolve(newNode);
return p.then(function (tree) {
atRule.replaceWith(tree);
},
);
});
});
});
await Promise.all(imports);
return tree;
return Promise.all(imports).then(function () {
return tree;
});
}

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

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

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

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

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

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

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

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

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

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

@@ -49,0 +48,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