UNPKG

@zohodesk/client_build_tool

Version:

A CLI tool to build web applications and client libraries

57 lines (48 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cssDirTemplate = void 0; exports.getInitialAssetsFuncTemplate = getInitialAssetsFuncTemplate; exports.localeTemplate = void 0; var _utils = require("../utils"); var _replaceCssDirTemplate = require("./RtlSplitPlugin/replaceCssDirTemplate"); var _getInitialI18nAssetsArrayStr = require("./getInitialI18nAssetsArrayStr"); const cssDirTemplate = '@dir@'; exports.cssDirTemplate = cssDirTemplate; const localeTemplate = '@locale@'; exports.localeTemplate = localeTemplate; function getInitialAssetsFuncTemplate({ entryPoint, enableRTLSplit, compilation, i18nStore, chunkSplitEnable, i18nFileNameTemplate, functionName = 'getInitialAssets' }) { const initialFiles = entryPoint.getFiles(); let initialJsFiles = initialFiles.filter(_utils.isJsFile); let initialCssFiles = initialFiles.filter(_utils.isCssFile); if (enableRTLSplit) { initialCssFiles = (0, _replaceCssDirTemplate.replaceCssDirTemplateMapper)(initialCssFiles, cssDirTemplate); } if (chunkSplitEnable) { initialJsFiles = (0, _replaceCssDirTemplate.replaceI18nLocaleTemplateMapper)(initialJsFiles, localeTemplate); } const initialI18nAssets = (0, _getInitialI18nAssetsArrayStr.getInitialI18nAssetsArrayStr)({ entryPoint, compilation, i18nStore, chunkSplitEnable, i18nFileNameTemplate }); const initialAssetsFuncTemplate = `function ${functionName}() { return { js: ${JSON.stringify(initialJsFiles)}.map(urlPath => urlPath.replace('smap/', '')), css: ${JSON.stringify(initialCssFiles)}, i18n: ${initialI18nAssets} } }`; return initialAssetsFuncTemplate; }