Files
Agent-n8n/backups/exhibition-demo-backup-20250928-210916/node_modules/react-syntax-highlighter/scripts/build-languages-highlightjs.js
Yep_Q 67f5dfbe50 feat: 实现多订单班支持系统
主要功能:
- 修改RequirementModal支持12个订单班选择
- 添加OrderClassIconMap图标映射组件
- Store中添加selectedOrderClass状态管理
- WorkflowPage支持传递orderClass参数
- web_result添加URL参数切换功能
- 创建order-class-handler.js动态处理页面主题

技术改进:
- 创建软链接关联订单班数据目录
- 生成wenlu.json和food.json数据结构
- 删除重复的web_result目录
- 添加测试页面test-order-class.html

影响范围:
- 展会策划系统现支持12个订单班
- 结果展示页面自动适配不同订单班主题
- 用户可选择不同行业生成对应方案

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 10:02:15 +08:00

128 lines
3.2 KiB
JavaScript

'use strict';
/*
* Build javascript passthrough modules for highlight.js languages
*/
const path = require('path');
const fs = require('fs');
const camel = require('to-camel-case');
const autogenMessage =
'//\n// This file has been auto-generated by the `npm run build-languages-hljs` task\n//\n\n';
function makeImportName(name) {
if (name === '1c') {
return 'oneC';
}
return camel(name);
}
function createAsyncLanguageLoaderLine(file) {
const fileWithoutJS = file.split('.js')[0];
const importName = makeImportName(fileWithoutJS);
return ` ${importName}: createLanguageAsyncLoader("${importName}", () => import(/* webpackChunkName: "react-syntax-highlighter_languages_highlight_${importName}" */ "highlight.js/lib/languages/${fileWithoutJS}")),`;
}
function createAsyncLanguageLoadersIndex(files) {
let lines = [
`import createLanguageAsyncLoader from "./create-language-async-loader"`,
`export default {`
];
lines = lines.concat(files.map(file => createAsyncLanguageLoaderLine(file)));
lines.push(`}`);
fs.writeFile(
path.join(__dirname, `../src/async-languages/hljs.js`),
lines.join('\n'),
err => {
if (err) {
throw err;
}
}
);
}
function createSupportedLanguagesArray(files) {
let lines = [autogenMessage, `export default [`];
lines = lines.concat(files.map(file => `\n '${file.split('.js')[0]}',`));
lines.push(`\n];\n`);
fs.writeFile(
path.join(__dirname, `../src/languages/hljs/supported-languages.js`),
lines.join(''),
err => {
if (err) {
throw err;
}
}
);
}
function createLanguagePassthroughModule(file) {
const fileWithoutJS = file.split('.js')[0];
const importName = makeImportName(fileWithoutJS);
const lines = [
`import ${importName} from "highlight.js/lib/languages/${fileWithoutJS}"`,
`export default ${importName}`,
''
];
fs.writeFile(
path.join(__dirname, `../src/languages/hljs/${file}`),
lines.join(';\n'),
err => {
if (err) {
throw err;
}
}
);
}
fs.readdir(
path.join(__dirname, '../node_modules/highlight.js/lib/languages'),
(err, files) => {
if (err) {
throw err;
}
files.forEach(createLanguagePassthroughModule);
createAsyncLanguageLoadersIndex(files);
createSupportedLanguagesArray(files);
const availableLanguageNames = files.map(file => file.split('.js')[0]);
const languagesLi = availableLanguageNames.map(
name =>
`\n* ${makeImportName(name)}${
makeImportName(name) !== name ? ` (${name})` : ''
}`
);
const languageMD = `## Available \`language\` imports ${languagesLi.join(
''
)}`;
fs.writeFile(
path.join(__dirname, '../AVAILABLE_LANGUAGES_HLJS.MD'),
languageMD,
err => {
if (err) {
throw err;
}
}
);
const defaultExports = availableLanguageNames.map(
name =>
`export { default as ${makeImportName(name)} } from './${name}';\n`
);
fs.writeFile(
path.join(__dirname, '../src/languages/hljs/index.js'),
defaultExports.join(''),
err => {
if (err) {
throw err;
}
}
);
}
);