mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-05 13:28:49 +08:00
c591ab4381
* 尝试使用 vite 跑开发环境 * 尝试使用 vite 跑开发环境 * 尝试使用 vite 跑开发环境 * 尝试使用 vite 跑开发环境 * 样式文档调整 * 修复有多个 __inline 时的报错 * scirpt 调整 * feat:chart接入事件动作 (#5669) * chore: input-group 没有 name 不应该报 warning (#5667) * chore: 处理编译TS Warning,调整TableStore中label解析的顺序 (#5670) * feat: timeline时间轴支持自定义图标 (#5668) * fix:折叠器Collapse自定义图标&inputNumber对含后缀生效 * 修改 * 正则修改 * 正则修改 * 正则修改 * feat:将默认px替换为rem 2px===0.125rem * feat:timeline时间轴支持自定义图标 Co-authored-by: xujiahao01 <xujiahao01@baidu.com> * fix: 调整echarts-stat使用方式,兼容vite打包异步非esm模块 (#5672) * feat: chart 支持配置加载 geojson 及百度地图 (#5674) * feat: chart 支持配置 geoURL 及 geoName * 增加百度地图配置 * chore: 修复 coverage 运行报错 (#5678) * chore: coverage 执行换成 v8 解决内存问题 (#5679) * 尝试使用 vite 跑开发环境 * amis-formula 也添加 esm 模块 * 代码合并有问题,做些调整 Co-authored-by: hsm-lv <80095014+hsm-lv@users.noreply.github.com> Co-authored-by: 吴多益 <wuduoyi@baidu.com> Co-authored-by: RUNZE LU <36724300+lurunze1226@users.noreply.github.com> Co-authored-by: 徐佳豪 <1440054388@qq.com> Co-authored-by: xujiahao01 <xujiahao01@baidu.com> Co-authored-by: 刘丹 <365533093@qq.com>
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
import MagicString from 'magic-string';
|
|
import {createFilter} from 'rollup-pluginutils';
|
|
import type {Plugin} from 'vite';
|
|
|
|
export default function fis3replace(
|
|
options: {
|
|
include?: any;
|
|
exclude?: any;
|
|
sourcemap?: boolean;
|
|
sourceMap?: boolean;
|
|
} = {}
|
|
): Plugin {
|
|
const filter = createFilter(options.include, options.exclude);
|
|
|
|
return {
|
|
name: 'fis3',
|
|
enforce: 'pre',
|
|
apply: 'serve',
|
|
|
|
transform(code: string, id: string) {
|
|
if (!filter(id)) return null;
|
|
|
|
const magicString = new MagicString(code);
|
|
|
|
let hasReplacements = false;
|
|
let start;
|
|
let end;
|
|
|
|
code = code.replace(
|
|
/(__uri|__inline)\(\s*('|")(.*?)\2\s*\)/g,
|
|
(_, directive, quote, target, index) => {
|
|
hasReplacements = true;
|
|
|
|
start = index;
|
|
end = start + _.length;
|
|
|
|
if (directive === '__uri') {
|
|
let replacement = `new URL(${quote}${target}${quote}, import.meta.url).href`;
|
|
magicString.overwrite(start, end, replacement);
|
|
} else if (directive === '__inline') {
|
|
let varname = target
|
|
.replace(/[^a-zA-Z0-9]/g, '')
|
|
.replace(/^\d+/, '');
|
|
|
|
magicString.prepend(`import ${varname} from '${target}?inline';\n`);
|
|
magicString.overwrite(start, end, `${varname}`);
|
|
}
|
|
|
|
return _;
|
|
}
|
|
);
|
|
|
|
if (!hasReplacements) return null;
|
|
|
|
const result: any = {code: magicString.toString()};
|
|
if (options.sourceMap !== false && options.sourcemap !== false)
|
|
result.map = magicString.generateMap({hires: true});
|
|
|
|
return result;
|
|
}
|
|
};
|
|
}
|