123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- const fs = require('fs');
- const preamble = require('./preamble');
- const ts = require('typescript');
- const path = require('path');
- const fsExtra = require('fs-extra');
- const umdWrapperHead = `
- ${preamble.js}
- /**
- * AUTO-GENERATED FILE. DO NOT MODIFY.
- */
- (function(root, factory) {
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define(['exports'], factory);
- } else if (
- typeof exports === 'object' &&
- typeof exports.nodeName !== 'string'
- ) {
- // CommonJS
- factory(exports);
- } else {
- // Browser globals
- factory({});
- }
- })(this, function(exports) {
- `;
- const umdWrapperHeadWithEcharts = `
- ${preamble.js}
- /**
- * AUTO-GENERATED FILE. DO NOT MODIFY.
- */
- (function(root, factory) {
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define(['exports', 'echarts'], factory);
- } else if (
- typeof exports === 'object' &&
- typeof exports.nodeName !== 'string'
- ) {
- // CommonJS
- factory(exports, require('echarts/lib/echarts'));
- } else {
- // Browser globals
- factory({}, root.echarts);
- }
- })(this, function(exports, echarts) {
- `;
- const umdWrapperTail = `
- });`;
- async function buildI18nWrap() {
- const targetDir = path.join(__dirname, '../i18n');
- const sourceDir = path.join(__dirname, '../src/i18n');
- const files = fs.readdirSync(sourceDir);
- files.forEach(t => {
- if(!t.startsWith('lang')) {
- return;
- }
- const fileName = t.replace(/\.ts$/, '');
- const type = fileName.replace(/^lang/, '');
- const echartsRegister = `
- echarts.registerLocale('${type}', localeObj);
- `;
- const pureExports = `
- for (var key in localeObj) {
- if (localeObj.hasOwnProperty(key)) {
- exports[key] = localeObj[key];
- }
- }
- `;
- const code = fs.readFileSync(path.join(sourceDir, t), 'utf-8');
-
-
-
-
- const outputCode = code.replace(/export\s+?default/, 'var localeObj =')
- .replace(/\/\*([\w\W]*?)\*\//, '');
- fsExtra.ensureDirSync(targetDir);
- fs.writeFileSync(path.join(targetDir, fileName + '.js'), umdWrapperHeadWithEcharts + outputCode + echartsRegister + umdWrapperTail, 'utf-8');
- fs.writeFileSync(path.join(targetDir, fileName + '-obj.js'), umdWrapperHead + outputCode + pureExports + umdWrapperTail, 'utf-8');
- })
- console.log('i18n build completed');
- }
- buildI18nWrap();
- module.exports = {
- buildI18n: buildI18nWrap
- };
|