
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
@lingxiteam/ebe-utils
Advanced tools
eve setup
出码模块的后置处理,如拷贝静态文件等
通过指定的入口文件,将该文件所有关联文件一起拷贝到指定产物目录下。用于将项目中的组件抽离出来成为一个独立的组件。减少人工抽离时,过多转移文件的问题。
eve move ./a/index.ts --o ./dist
以上表示,将 ./a/index.ts 文件所有关联文件一起拷贝到 ./dist 目录下。
一键出码
import {
findBusiCompById,
findPageInstByVersionId,
getThemeCss,
qryAttrSpecPage,
qryPageCompAssetList,
qryPageInstListByAppId,
queryFrontendDatasourcePage,
queryFrontendHookList,
findApplication,
} from '@/services/api';
import { useEffect } from 'react';
import { codeCreate, init } from '@lingxiteam/ebe-utils';
const Page = () => {
useEffect(() => {
init();
}, []);
const onFinish = async (values: any) => {
await codeCreate({
appId: values.appId,
platform: values.platform ? 'APP' : 'PC',
baseUrl: process.env.BASE_URL === 'http://10.10.179.140:8047/HJF/' ? 'http://10.10.179.140:8048/HJF/' : process.env.BASE_URL!,
services: {
findBusiCompById,
findPageInstByVersionId,
getThemeCss,
qryAttrSpecPage,
qryPageCompAssetList,
qryPageInstListByAppId,
queryFrontendDatasourcePage,
queryFrontendHookList,
findApplication,
},
// 为 true 时,会自动翻译页面名称作为路由 path
needTranslatePagePathToEnglish: true,
// 默认为 true,会自动发起浏览器下载 zip 文件
autoDownloadOnBower: true,
// 默认为 true,忽略静态文件生成,通过 ebe setup 命令下载静态文件
useEbeSetup: true,
});
};
return <></>;
};
export default Page;
使用内定规则清理 dsl,注意传入数据是一个页面 dsl 数组,如果仅有一个页面,可以传入 [page]
const clearPages = clearLXPagesDSL(pages);
for 开发
在 constants.ts 中修改规则
一个 key 对应一个规则,一般规则中需要存在 rule 函数,如果对象是数组,则必须存在 loopRule 和 loop
export interface IRule {
// 是否删除的判断规则,会根据
rule?: (props: IRulePrams) => any;
// 如果存在 loopRule 表示循环对象是一个数组,就根据 loop 中定义的规则清理 item,loop 中的 key 为 loopRule 返回值的判断依据
loopRule?: (item: any) => string;
loop?: IRulesType;
}
rule 函数
export interface IRulePrams {
// 根据当前循环的数据 key,比如 data.a.c ,paths 为 ['data','a','c']
paths: string[];
// 此时循环中的值
value: any;
// 此时循环中的key
key: string;
// 提供的工具类,此时的值和data比较,如果是字符串相等则返回 true,如果对象和 data key-value 都相同的值会被删除,并返回清楚后的新对象
diffraction?: (data: any) => any;
}
({ paths, value, key, diffraction }) => any;
rule 函数可以返回 true 或者对象,如果返回 true 表示删除当前的对象,如果返回对象,则表示用新对象替换旧对象
属性 diffraction 为提供的工具方法
const in = {
size: 'm',
title: 'hellp',
number: 123
}
const diff = {
size:'m',
}
const out = diffraction(diff);
此时 out 为
const in = {
title: 'hellp',
number: 123
}
以上逻辑表示当 in 中的值和 diff 中的值相等时,删除
一般用法为
const ruleObj = {
rule: ({ diffraction }) => {
// 当对象中的某个字为xxx的时候 delete value.xxx
const diff = {};
return diffraction(diff);
},
};
loopRule 传入数组 item 返回一个 key,比如常用到的 components 中要找到某个 组件类型。
export const lingxiDslRules: IRulesType = {
components: {
loopRule: item => item.compName,
loop: componentsRule,
},
};
返回 compName 作为 loop 的 key
const components = [
{ compName: 'A', title: 'A' },
{ compName: 'C', title: 'C' },
];
const loop = {
A: {
rule: () => any,
},
C: {
rule: () => any,
},
};
以上逻辑表示循环 components 当 item 的 compName 等于 A 时,执行 loop.A 的规则
由于 rule 返回对象时,会覆盖旧的值,因此可以在 rule 中调用 removeObjectByRules 等方法来进一步实现内层的数据清理。
比如 View 组件的 components 也需要清理,就可以如下使用
import { removeObjectByRules } from './index';
import { IRulesType } from './types';
const isTrue = {
rule: () => true,
};
const componentsRule: IRulesType = {
View: {
rule: ({ value, diffraction }) => {
if (value?.components) {
return removeObjectByRules(value, lingxiDslRules);
}
},
},
};
export const lingxiDslRules: IRulesType = {
components: {
loopRule: item => item.compName,
loop: componentsRule,
},
};
FAQs
## cli
We found that @lingxiteam/ebe-utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 17 open source maintainers collaborating on the project.
Did you know?

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.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.