fecs lint
This commit is contained in:
parent
c374e3a4ad
commit
3b6bcd2897
18
.fecsignore
Normal file
18
.fecsignore
Normal file
@ -0,0 +1,18 @@
|
||||
src/fonteditor/template/dialog/*
|
||||
src/fonteditor/template/export/*
|
||||
src/editor/shapes/*
|
||||
src/ttf/data/*
|
||||
build/*
|
||||
css/*
|
||||
demo/*
|
||||
dep/*
|
||||
font/*
|
||||
node_modules
|
||||
release
|
||||
test
|
||||
index.html
|
||||
index-en.html
|
||||
empty.html
|
||||
edp-build-config.js
|
||||
edp-build-config-node.js
|
||||
edp-webserver-config.js
|
@ -4,8 +4,9 @@
|
||||
*/
|
||||
|
||||
var esprima = require('esprima');
|
||||
var estraverse = require( 'estraverse' );
|
||||
var escodegen = require('escodegen');
|
||||
var estraverse = require('estraverse');
|
||||
|
||||
|
||||
var SYNTAX = estraverse.Syntax;
|
||||
|
||||
// 顶级模块,用来生成相对位置
|
||||
@ -32,7 +33,8 @@ function getAst(code) {
|
||||
ast = esprima.parse(code, {
|
||||
range: true
|
||||
});
|
||||
} catch (ex) {
|
||||
}
|
||||
catch (e) {
|
||||
throw 'can\'t parse amd code';
|
||||
}
|
||||
|
||||
@ -41,12 +43,12 @@ function getAst(code) {
|
||||
|
||||
/**
|
||||
* 获取define的factory
|
||||
*
|
||||
* @param {Object} defineExpr define表达式
|
||||
* @return {astNode}
|
||||
*/
|
||||
function getDefineFactory(defineExpr) {
|
||||
|
||||
var args = defineExpr['arguments'];
|
||||
var args = defineExpr.arguments;
|
||||
var factoryAst;
|
||||
|
||||
// 解析参数
|
||||
@ -74,9 +76,9 @@ function getDefineBlock(code) {
|
||||
// require('fs').writeFileSync('ast.json', JSON.stringify(ast));
|
||||
estraverse.traverse(ast, {
|
||||
enter: function (node, parent) {
|
||||
if ( node.type == SYNTAX.ExpressionStatement
|
||||
&& node.expression.type == SYNTAX.CallExpression
|
||||
&& node.expression.callee.name == 'define'
|
||||
if (node.type === SYNTAX.ExpressionStatement
|
||||
&& node.expression.type === SYNTAX.CallExpression
|
||||
&& node.expression.callee.name === 'define'
|
||||
) {
|
||||
|
||||
var factory = getDefineFactory(node.expression);
|
||||
@ -91,7 +93,7 @@ function getDefineBlock(code) {
|
||||
}
|
||||
|
||||
// define(function() {})
|
||||
else if (factory.type === SYNTAX.FunctionExpression){
|
||||
else if (factory.type === SYNTAX.FunctionExpression) {
|
||||
defineBlock = {
|
||||
type: 'function',
|
||||
defineRange: node.range,
|
||||
@ -101,6 +103,18 @@ function getDefineBlock(code) {
|
||||
var body = factory.body.body;
|
||||
var returnRange = defineBlock.returnRange = [];
|
||||
|
||||
var enterHandler = function (returnNode) {
|
||||
if (
|
||||
returnNode.type === SYNTAX.FunctionExpression
|
||||
|| returnNode.type === SYNTAX.FunctionDeclaration
|
||||
) {
|
||||
this.skip();
|
||||
}
|
||||
else if (returnNode.type === SYNTAX.ReturnStatement) {
|
||||
returnRange.push(returnNode.range);
|
||||
}
|
||||
};
|
||||
|
||||
// 替换return
|
||||
for (var i = 0, l = body.length; i < l; i++) {
|
||||
// 直接在函数体里的return
|
||||
@ -109,19 +123,9 @@ function getDefineBlock(code) {
|
||||
}
|
||||
// 在函数内部块里的return
|
||||
else if (body[i].type !== SYNTAX.FunctionExpression) {
|
||||
var functionEnter = 0;
|
||||
|
||||
estraverse.traverse(body[i], {
|
||||
enter: function (returnNode) {
|
||||
if (
|
||||
returnNode.type === SYNTAX.FunctionExpression
|
||||
|| returnNode.type === SYNTAX.FunctionDeclaration
|
||||
) {
|
||||
this.skip();
|
||||
}
|
||||
else if (returnNode.type === SYNTAX.ReturnStatement){
|
||||
returnRange.push(returnNode.range);
|
||||
}
|
||||
}
|
||||
enter: enterHandler
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -166,7 +170,7 @@ function replaceDefine(code) {
|
||||
|
||||
index = block.defineRange[1];
|
||||
}
|
||||
else if (block.type === 'object'){
|
||||
else if (block.type === 'object') {
|
||||
segments.push(code.slice(index, block.defineRange[0]));
|
||||
segments.push('module.exports =');
|
||||
segments.push(code.slice(block.factoryRange[0], block.factoryRange[1]) + ';');
|
||||
@ -202,16 +206,6 @@ function replaceRequire(code, codeDepth) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成commonjs代码
|
||||
* @param {Object} ast ast树
|
||||
* @return {string} 生成后的代码
|
||||
*/
|
||||
function genCommonJS(ast) {
|
||||
return escodegen.generate(ast);
|
||||
}
|
||||
|
||||
module.exports = function (code, codeDepth) {
|
||||
|
||||
if (codeDepth && codeDepth[codeDepth.length - 1] !== '/') {
|
||||
|
@ -3,6 +3,7 @@
|
||||
* @author mengke01(kekee000@gmail.com)
|
||||
*/
|
||||
|
||||
/* eslint-disable*/
|
||||
|
||||
// 测试define函数
|
||||
|
||||
@ -11,14 +12,14 @@
|
||||
test1: 'test1',
|
||||
test2: 'test2'
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
// 测试 string
|
||||
|
||||
|
||||
module.exports = 'test string';
|
||||
|
||||
|
||||
|
||||
|
||||
// 测试commonjs wrapper
|
||||
@ -28,7 +29,7 @@
|
||||
test1: 'test1',
|
||||
test2: 'test2'
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -56,7 +57,7 @@ module.exports ={
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 测试 nodejs兼容写法
|
||||
@ -65,7 +66,7 @@ if (typeof exports !== 'undefined') {
|
||||
module.exports = exports = require('xmldom').DOMParser;
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
module.exports = window.DOMParser;
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,10 +3,11 @@
|
||||
* @author mengke01(kekee000@gmail.com)
|
||||
*/
|
||||
|
||||
/* eslint-disable*/
|
||||
|
||||
// 测试define函数
|
||||
define(
|
||||
function(require) {
|
||||
function (require) {
|
||||
|
||||
return require('common/test').test({
|
||||
test1: 'test1',
|
||||
@ -19,7 +20,7 @@ define(
|
||||
// 测试 string
|
||||
|
||||
define(
|
||||
function(require) {
|
||||
function (require) {
|
||||
return 'test string';
|
||||
}
|
||||
);
|
||||
@ -28,7 +29,7 @@ define(
|
||||
// 测试commonjs wrapper
|
||||
|
||||
define('test-module', ['test-module'],
|
||||
function(require) {
|
||||
function (require) {
|
||||
return {
|
||||
test1: 'test1',
|
||||
test2: 'test2'
|
||||
@ -49,7 +50,7 @@ define('test-module', {
|
||||
|
||||
// 测试多return
|
||||
define(
|
||||
function(require) {
|
||||
function (require) {
|
||||
|
||||
var string = require('common/string');
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
fonteditor/template/dialog/*
|
||||
fonteditor/template/export/*
|
||||
editor/shapes/*
|
||||
ttf/data/*
|
@ -124,7 +124,7 @@ define(
|
||||
var buffer = e.target.result;
|
||||
var imported = svg2ttf(buffer);
|
||||
// 设置单个字形名字
|
||||
if (imported.glyf && imported.glyf.length == 1) {
|
||||
if (imported.glyf && imported.glyf.length === 1) {
|
||||
imported.glyf[0].name = fName;
|
||||
}
|
||||
fileReader = null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user