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

clam

Package Overview
Dependencies
Maintainers
2
Versions
158
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

clam - npm Package Compare versions

Comparing version 0.5.9 to 0.6.0

lib/assetsConfig.js

62

lib/compile.js

@@ -15,6 +15,9 @@ var debug = require('debug')('clam:compile');

var mocker = require('./mocker.js');
var assetsTool = require('./assetsTool');
var scriptExtern = /<script[^>]*? src=['"](.+?)['"].*?><\/script>/g;
var styleExtern = /<link rel="stylesheet"[^>]*? href=['"](.+?)['"].*>/g;
var assetsToolExtern = /\$assetsTool.(use|require|injectScript|injectStyle)\(['"]\S*['"]\)/g;
var recoverAssetsToolExtern = /\{\{__assetsTool__\d*\}\}/g;
var assetsToolPrefix = '__assetsTool__';

@@ -41,4 +44,46 @@ /**

}
/**
* 解析assetsTool内容
* @param content
* @returns content
*/
function parseAssetsTool(content){
var assetsToolPositionCount = -1;
var assetsMap = [];
var pageContent = content.replace(assetsToolExtern, function ($1, $2, $3) {
saveAssetsMap(assetsMap,$1,++assetsToolPositionCount);
return '\{\{'+assetsToolPrefix + assetsToolPositionCount + '\}\}';
});
return recoverAssetsTool(pageContent,assetsMap);
}
/**
* 生成assetsTool的模块列表
*/
function saveAssetsMap(root,content,pos){
root.push({
express:content,
id:pos
});
}
/**
* 复原assetsTool
* @param content
* @returns content
*/
function recoverAssetsTool(content,map){
function getAssets(id){
var ret = '';
assetsTool.feLoader(map).forEach(function(i){
if(i.id == id){
ret = i.express;
}
});
return ret;
}
content = content.replace(recoverAssetsToolExtern, function ($1, $2, $3) {
return getAssets(parseInt($1.split(assetsToolPrefix)[1]));
});
return content;
}
/**
* 解析页面内容

@@ -148,7 +193,7 @@ * @param page 页面路径

}
//获取当前页面到源代码根目录的相对路径
//获取当前页面到源代码根目录的相对路径
var srcRoot = path.join(config.root(), 'src');
var urlDir = path.relative(srcRoot, path.dirname(page));
debug('引用文件相对路径:%s', urlDir);
pageContent = assetUrl.toAbsolutePath(pageContent, urlDir);

@@ -208,6 +253,5 @@ return pageContent;

if (!fs.existsSync(page)) {
return '';
}
//处理cdnpath中最后一个'/'符号。如果有,去掉。

@@ -218,2 +262,4 @@ if (cdnPath[cdnPath.length - 1] === '/') {

var pageContent = textWithOnlineAssetsUrl(rootContent, page, cdnPath);
//解析assetsTool
pageContent = parseAssetsTool(pageContent);
var pageParam = parsePageParam(pageContent);

@@ -227,3 +273,3 @@

param = parentParam;
}

@@ -293,3 +339,3 @@ else{

}
}

@@ -296,0 +342,0 @@ debug('传递的参数是%s', util.inspect(passedParam));

2

lib/config.js

@@ -166,2 +166,2 @@ var fs = require('fs');

exports.on = on;
exports.init = init;
exports.init = init;
{
"name": "clam",
"version": "0.5.9",
"version": "0.6.0",
"description": "A full Web front end develop envirment.",

@@ -25,3 +25,3 @@ "main": "index.js",

"send":"0.1.0",
"civet":"git://github.com/xudafeng/civet.git"
"civet":"1.2.1"
},

@@ -28,0 +28,0 @@ "devDependencies": {},

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