@modern-js/module-tools 2.25.2 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # @modern-js/module-tools
2
2
 
3
+ ## 2.27.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [91d14b8]
8
+ - Updated dependencies [8322a51]
9
+ - Updated dependencies [6d7104d]
10
+ - @modern-js/utils@2.27.0
11
+ - @modern-js/new-action@2.27.0
12
+ - @modern-js/plugin-i18n@2.27.0
13
+ - @modern-js/plugin-lint@2.27.0
14
+ - @modern-js/core@2.27.0
15
+ - @modern-js/plugin-changeset@2.27.0
16
+ - @modern-js/plugin@2.27.0
17
+ - @modern-js/upgrade@2.27.0
18
+
19
+ ## 2.26.0
20
+
21
+ ### Patch Changes
22
+
23
+ - 54c484c: fix(module-tools): support i18n for checkConfig warning message
24
+
25
+ fix(module-tools): checkConfig 的 warning 日志支持 i18n
26
+
27
+ - cc2e3b7: feat(module-tools): apply PostCSS plugins according to the target
28
+
29
+ feat(module-tools): 基于 target 启用 PostCSS 插件
30
+
31
+ - Updated dependencies [ad7139b]
32
+ - Updated dependencies [fbcac63]
33
+ - @modern-js/upgrade@2.26.0
34
+ - @modern-js/core@2.26.0
35
+ - @modern-js/new-action@2.26.0
36
+ - @modern-js/plugin-changeset@2.26.0
37
+ - @modern-js/plugin-i18n@2.26.0
38
+ - @modern-js/plugin-lint@2.26.0
39
+ - @modern-js/plugin@2.26.0
40
+ - @modern-js/utils@2.26.0
41
+
3
42
  ## 2.25.2
4
43
 
5
44
  ### Patch Changes
@@ -108,7 +108,8 @@ const checkConfig = async (config) => {
108
108
  const { buildConfig, buildPreset } = config;
109
109
  if (buildConfig && buildPreset) {
110
110
  const { logger } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("@modern-js/utils")));
111
- logger.warn(`因为同时出现 'buildConfig' 'buildPreset' 配置,因此仅 'buildConfig' 配置生效`);
111
+ const local = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("../locale")));
112
+ logger.warn(local.i18n.t(local.localeKeys.log.buildConfigTip));
112
113
  }
113
114
  };
114
115
  const normalizeBuildConfig = async (api, context, buildCmdOptions) => {
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":"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","names":["transformBuildPresetToBaseConfigs","transformBuildConfigToBaseConfigs","requiredBuildConfig","transformToAbsPath","checkConfig","normalizeBuildConfig","options","preset","BuildInPreset","presetList","addInputToPreset","extendPreset","presetName","extendConfig","originalBuildConfig","Array","isArray","map","config","partialBuildConfig","Error","inPresetList","p","context","validPartialBuildConfig","buildCmdOptions","ensureArray","assignTsConfigPath","partialConfigs","configs","Promise","all","newConfig","mergeDefaultBaseConfig","mergedConfig","baseConfig","slash","normalizeInput","outDir","path","isAbsolute","join","appDirectory","sourceDir","resolve","input","dts","distPath","tsconfigPath","buildConfig","buildPreset","logger","warn","api","isLegacyUserConfig","useConfigContext","createUserConfigFromLegacy","baseConfigs"],"sources":["../../src/config/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/config/normalize.ts"],"sourcesContent":["import path from 'path';\nimport type { PluginAPI } from '@modern-js/core';\nimport type {\n ModuleUserConfig,\n ModuleLegacyUserConfig,\n BaseBuildConfig,\n BuildPreset,\n PartialBuildConfig,\n PartialBaseBuildConfig,\n ModuleContext,\n BuildCommandOptions,\n ModuleTools,\n} from '../types';\n\nexport const transformBuildPresetToBaseConfigs = async (\n options: {\n context: ModuleContext;\n buildCmdOptions: BuildCommandOptions;\n },\n preset?: BuildPreset,\n): Promise<BaseBuildConfig[]> => {\n const { BuildInPreset, presetList } = await import(\n '../constants/buildPresets'\n );\n const { addInputToPreset } = await import('../utils/input');\n\n if (typeof preset === 'function') {\n const extendPreset = (\n presetName: keyof typeof BuildInPreset,\n extendConfig: PartialBaseBuildConfig,\n ) => {\n const originalBuildConfig = BuildInPreset[presetName];\n if (Array.isArray(originalBuildConfig)) {\n return originalBuildConfig.map(config => {\n return {\n ...config,\n ...extendConfig,\n };\n });\n } else if (originalBuildConfig) {\n return {\n ...originalBuildConfig,\n ...extendConfig,\n };\n }\n\n return extendConfig;\n };\n const partialBuildConfig = await preset({\n preset: BuildInPreset,\n extendPreset,\n });\n\n if (!partialBuildConfig) {\n throw new Error(\n 'The `buildPreset` function does not allow no return value',\n );\n }\n\n return transformBuildConfigToBaseConfigs(partialBuildConfig, options);\n }\n\n const inPresetList = (p: string): p is keyof typeof presetList =>\n p in presetList;\n\n if (preset && inPresetList(preset)) {\n return transformBuildConfigToBaseConfigs(\n await addInputToPreset(presetList[preset], options.context),\n options,\n );\n }\n\n // buildConfig and buildPreset is undefined\n return transformBuildConfigToBaseConfigs({}, options);\n};\n\nexport const transformBuildConfigToBaseConfigs = async (\n config: PartialBuildConfig,\n options: {\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n): Promise<BaseBuildConfig[]> => {\n const { validPartialBuildConfig } = await import('../utils/config');\n validPartialBuildConfig(config);\n const { buildCmdOptions } = options;\n const { ensureArray } = await import('@modern-js/utils');\n const { assignTsConfigPath } = await import('../utils/dts');\n const partialConfigs = ensureArray(config);\n const configs = await Promise.all(\n partialConfigs.map(async config => {\n let newConfig = await requiredBuildConfig(config, options.context);\n newConfig = await assignTsConfigPath(newConfig, buildCmdOptions);\n newConfig = await transformToAbsPath(newConfig, options);\n return newConfig;\n }),\n );\n return configs;\n};\n\nexport const requiredBuildConfig = async (\n partialBuildConfig: PartialBaseBuildConfig,\n context: ModuleContext,\n): Promise<BaseBuildConfig> => {\n const { mergeDefaultBaseConfig } = await import('../utils/config');\n const mergedConfig = await mergeDefaultBaseConfig(\n partialBuildConfig,\n context,\n );\n return mergedConfig;\n};\n\nexport const transformToAbsPath = async (\n baseConfig: BaseBuildConfig,\n options: { context: ModuleContext; buildCmdOptions: BuildCommandOptions },\n) => {\n const { slash } = await import('@modern-js/utils');\n const newConfig = baseConfig;\n const { normalizeInput } = await import('../utils/input');\n const { context } = options;\n\n newConfig.outDir = path.isAbsolute(newConfig.outDir)\n ? newConfig.outDir\n : path.join(context.appDirectory, newConfig.outDir);\n\n newConfig.sourceDir = slash(\n path.resolve(context.appDirectory, baseConfig.sourceDir),\n );\n newConfig.input = await normalizeInput(newConfig, {\n appDirectory: context.appDirectory,\n });\n\n // dts path\n if (newConfig.dts) {\n newConfig.dts.distPath = path.join(\n newConfig.outDir,\n newConfig.dts.distPath,\n );\n newConfig.dts.tsconfigPath = path.join(\n context.appDirectory,\n newConfig.dts.tsconfigPath,\n );\n }\n\n // Maybe need transform 'config.copy'\n\n return newConfig;\n};\n\nexport const checkConfig = async (config: ModuleUserConfig) => {\n const { buildConfig, buildPreset } = config;\n if (buildConfig && buildPreset) {\n const { logger } = await import('@modern-js/utils');\n logger.warn(\n `因为同时出现 'buildConfig' 'buildPreset' 配置,因此仅 'buildConfig' 配置生效`,\n );\n }\n};\n\nexport const normalizeBuildConfig = async (\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n buildCmdOptions: BuildCommandOptions,\n): Promise<BaseBuildConfig[]> => {\n const { isLegacyUserConfig } = await import('../utils/config');\n let config = api.useConfigContext() as unknown as ModuleUserConfig;\n\n if (isLegacyUserConfig(config as { legacy?: boolean })) {\n const { createUserConfigFromLegacy } = await import(\n './transformLegacyConfig'\n );\n config = await createUserConfigFromLegacy(config as ModuleLegacyUserConfig);\n }\n\n const { buildConfig, buildPreset } = config;\n\n await checkConfig(config);\n\n let baseConfigs: BaseBuildConfig[];\n\n // buildConfig High priority\n if (buildConfig) {\n baseConfigs = await transformBuildConfigToBaseConfigs(buildConfig, {\n buildCmdOptions,\n context,\n });\n } else {\n baseConfigs = await transformBuildPresetToBaseConfigs(\n {\n context,\n buildCmdOptions,\n },\n buildPreset,\n );\n }\n\n return baseConfigs;\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;;;;;;;;;EAcaA,mCAAiC;WAAjCA;;EA8DAC,mCAAiC;WAAjCA;;EAwBAC,qBAAmB;WAAnBA;;EAYAC,oBAAkB;WAAlBA;;EAqCAC,aAAW;WAAXA;;EASAC,sBAAoB;WAApBA;;;;;iEA9JI;AAcV,MAAML,oCAAoC,OAC/CM,SAIAC,WAC+B;AAC/B,QAAM,EAAEC,eAAeC,WAAU,IAAK,MAAM,iFAC1C;AAEF,QAAM,EAAEC,iBAAgB,IAAK,MAAM,iFAAO;AAE1C,MAAI,OAAOH,WAAW,YAAY;AAChC,UAAMI,eAAe,CACnBC,YACAC,iBACG;AACH,YAAMC,sBAAsBN,cAAcI;AAC1C,UAAIG,MAAMC,QAAQF,sBAAsB;AACtC,eAAOA,oBAAoBG,IAAIC,YAAU;AACvC,iBAAO;YACL,GAAGA;YACH,GAAGL;UACL;QACF;MACF,WAAWC,qBAAqB;AAC9B,eAAO;UACL,GAAGA;UACH,GAAGD;QACL;MACF;AAEA,aAAOA;IACT;AACA,UAAMM,qBAAqB,MAAMZ,OAAO;MACtCA,QAAQC;MACRG;IACF;AAEA,QAAI,CAACQ,oBAAoB;AACvB,YAAM,IAAIC,MACR;IAEJ;AAEA,WAAOnB,kCAAkCkB,oBAAoBb;EAC/D;AAEA,QAAMe,eAAe,CAACC,MACpBA,KAAKb;AAEP,MAAIF,UAAUc,aAAad,SAAS;AAClC,WAAON,kCACL,MAAMS,iBAAiBD,WAAWF,SAASD,QAAQiB,OAAO,GAC1DjB;EAEJ;AAGA,SAAOL,kCAAkC,CAAC,GAAGK;AAC/C;AAEO,MAAML,oCAAoC,OAC/CiB,QACAZ,YAI+B;AAC/B,QAAM,EAAEkB,wBAAuB,IAAK,MAAM,iFAAO;AACjDA,0BAAwBN;AACxB,QAAM,EAAEO,gBAAe,IAAKnB;AAC5B,QAAM,EAAEoB,YAAW,IAAK,MAAM,iFAAO;AACrC,QAAM,EAAEC,mBAAkB,IAAK,MAAM,iFAAO;AAC5C,QAAMC,iBAAiBF,YAAYR;AACnC,QAAMW,UAAU,MAAMC,QAAQC,IAC5BH,eAAeX,IAAI,OAAMC,YAAU;AACjC,QAAIc,YAAY,MAAM9B,oBAAoBgB,SAAQZ,QAAQiB,OAAO;AACjES,gBAAY,MAAML,mBAAmBK,WAAWP;AAChDO,gBAAY,MAAM7B,mBAAmB6B,WAAW1B;AAChD,WAAO0B;EACT;AAEF,SAAOH;AACT;AAEO,MAAM3B,sBAAsB,OACjCiB,oBACAI,YAC6B;AAC7B,QAAM,EAAEU,uBAAsB,IAAK,MAAM,iFAAO;AAChD,QAAMC,eAAe,MAAMD,uBACzBd,oBACAI;AAEF,SAAOW;AACT;AAEO,MAAM/B,qBAAqB,OAChCgC,YACA7B,YACG;AACH,QAAM,EAAE8B,MAAK,IAAK,MAAM,iFAAO;AAC/B,QAAMJ,YAAYG;AAClB,QAAM,EAAEE,eAAc,IAAK,MAAM,iFAAO;AACxC,QAAM,EAAEd,QAAO,IAAKjB;AAEpB0B,YAAUM,SAASC,cAAKC,WAAWR,UAAUM,MAAM,IAC/CN,UAAUM,SACVC,cAAKE,KAAKlB,QAAQmB,cAAcV,UAAUM,MAAM;AAEpDN,YAAUW,YAAYP,MACpBG,cAAKK,QAAQrB,QAAQmB,cAAcP,WAAWQ,SAAS;AAEzDX,YAAUa,QAAQ,MAAMR,eAAeL,WAAW;IAChDU,cAAcnB,QAAQmB;EACxB;AAGA,MAAIV,UAAUc,KAAK;AACjBd,cAAUc,IAAIC,WAAWR,cAAKE,KAC5BT,UAAUM,QACVN,UAAUc,IAAIC,QAAQ;AAExBf,cAAUc,IAAIE,eAAeT,cAAKE,KAChClB,QAAQmB,cACRV,UAAUc,IAAIE,YAAY;EAE9B;AAIA,SAAOhB;AACT;AAEO,MAAM5B,cAAc,OAAOc,WAA6B;AAC7D,QAAM,EAAE+B,aAAaC,YAAW,IAAKhC;AACrC,MAAI+B,eAAeC,aAAa;AAC9B,UAAM,EAAEC,OAAM,IAAK,MAAM,iFAAO;AAChC,UAAMC,QAAQ,MAAM,iFAAO;AAC3BD,WAAOE,KAAKD,MAAME,KAAKC,EAAEH,MAAMI,WAAWC,IAAIC,cAAc;EAC9D;AACF;AAEO,MAAMrD,uBAAuB,OAClCsD,KACApC,SACAE,oBAC+B;AAC/B,QAAM,EAAEmC,mBAAkB,IAAK,MAAM,iFAAO;AAC5C,MAAI1C,SAASyC,IAAIE,iBAAgB;AAEjC,MAAID,mBAAmB1C,SAAiC;AACtD,UAAM,EAAE4C,2BAA0B,IAAK,MAAM,iFAC3C;AAEF5C,aAAS,MAAM4C,2BAA2B5C;EAC5C;AAEA,QAAM,EAAE+B,aAAaC,YAAW,IAAKhC;AAErC,QAAMd,YAAYc;AAElB,MAAI6C;AAGJ,MAAId,aAAa;AACfc,kBAAc,MAAM9D,kCAAkCgD,aAAa;MACjExB;MACAF;IACF;EACF,OAAO;AACLwC,kBAAc,MAAM/D,kCAClB;MACEuB;MACAE;IACF,GACAyB;EAEJ;AAEA,SAAOa;AACT;","names":["transformBuildPresetToBaseConfigs","transformBuildConfigToBaseConfigs","requiredBuildConfig","transformToAbsPath","checkConfig","normalizeBuildConfig","options","preset","BuildInPreset","presetList","addInputToPreset","extendPreset","presetName","extendConfig","originalBuildConfig","Array","isArray","map","config","partialBuildConfig","Error","inPresetList","p","context","validPartialBuildConfig","buildCmdOptions","ensureArray","assignTsConfigPath","partialConfigs","configs","Promise","all","newConfig","mergeDefaultBaseConfig","mergedConfig","baseConfig","slash","normalizeInput","outDir","path","isAbsolute","join","appDirectory","sourceDir","resolve","input","dts","distPath","tsconfigPath","buildConfig","buildPreset","logger","local","warn","i18n","t","localeKeys","log","buildConfigTip","api","isLegacyUserConfig","useConfigContext","createUserConfigFromLegacy","baseConfigs"],"sources":["../../src/config/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/config/normalize.ts"],"sourcesContent":["import path from 'path';\nimport type { PluginAPI } from '@modern-js/core';\nimport type {\n ModuleUserConfig,\n ModuleLegacyUserConfig,\n BaseBuildConfig,\n BuildPreset,\n PartialBuildConfig,\n PartialBaseBuildConfig,\n ModuleContext,\n BuildCommandOptions,\n ModuleTools,\n} from '../types';\n\nexport const transformBuildPresetToBaseConfigs = async (\n options: {\n context: ModuleContext;\n buildCmdOptions: BuildCommandOptions;\n },\n preset?: BuildPreset,\n): Promise<BaseBuildConfig[]> => {\n const { BuildInPreset, presetList } = await import(\n '../constants/buildPresets'\n );\n const { addInputToPreset } = await import('../utils/input');\n\n if (typeof preset === 'function') {\n const extendPreset = (\n presetName: keyof typeof BuildInPreset,\n extendConfig: PartialBaseBuildConfig,\n ) => {\n const originalBuildConfig = BuildInPreset[presetName];\n if (Array.isArray(originalBuildConfig)) {\n return originalBuildConfig.map(config => {\n return {\n ...config,\n ...extendConfig,\n };\n });\n } else if (originalBuildConfig) {\n return {\n ...originalBuildConfig,\n ...extendConfig,\n };\n }\n\n return extendConfig;\n };\n const partialBuildConfig = await preset({\n preset: BuildInPreset,\n extendPreset,\n });\n\n if (!partialBuildConfig) {\n throw new Error(\n 'The `buildPreset` function does not allow no return value',\n );\n }\n\n return transformBuildConfigToBaseConfigs(partialBuildConfig, options);\n }\n\n const inPresetList = (p: string): p is keyof typeof presetList =>\n p in presetList;\n\n if (preset && inPresetList(preset)) {\n return transformBuildConfigToBaseConfigs(\n await addInputToPreset(presetList[preset], options.context),\n options,\n );\n }\n\n // buildConfig and buildPreset is undefined\n return transformBuildConfigToBaseConfigs({}, options);\n};\n\nexport const transformBuildConfigToBaseConfigs = async (\n config: PartialBuildConfig,\n options: {\n buildCmdOptions: BuildCommandOptions;\n context: ModuleContext;\n },\n): Promise<BaseBuildConfig[]> => {\n const { validPartialBuildConfig } = await import('../utils/config');\n validPartialBuildConfig(config);\n const { buildCmdOptions } = options;\n const { ensureArray } = await import('@modern-js/utils');\n const { assignTsConfigPath } = await import('../utils/dts');\n const partialConfigs = ensureArray(config);\n const configs = await Promise.all(\n partialConfigs.map(async config => {\n let newConfig = await requiredBuildConfig(config, options.context);\n newConfig = await assignTsConfigPath(newConfig, buildCmdOptions);\n newConfig = await transformToAbsPath(newConfig, options);\n return newConfig;\n }),\n );\n return configs;\n};\n\nexport const requiredBuildConfig = async (\n partialBuildConfig: PartialBaseBuildConfig,\n context: ModuleContext,\n): Promise<BaseBuildConfig> => {\n const { mergeDefaultBaseConfig } = await import('../utils/config');\n const mergedConfig = await mergeDefaultBaseConfig(\n partialBuildConfig,\n context,\n );\n return mergedConfig;\n};\n\nexport const transformToAbsPath = async (\n baseConfig: BaseBuildConfig,\n options: { context: ModuleContext; buildCmdOptions: BuildCommandOptions },\n) => {\n const { slash } = await import('@modern-js/utils');\n const newConfig = baseConfig;\n const { normalizeInput } = await import('../utils/input');\n const { context } = options;\n\n newConfig.outDir = path.isAbsolute(newConfig.outDir)\n ? newConfig.outDir\n : path.join(context.appDirectory, newConfig.outDir);\n\n newConfig.sourceDir = slash(\n path.resolve(context.appDirectory, baseConfig.sourceDir),\n );\n newConfig.input = await normalizeInput(newConfig, {\n appDirectory: context.appDirectory,\n });\n\n // dts path\n if (newConfig.dts) {\n newConfig.dts.distPath = path.join(\n newConfig.outDir,\n newConfig.dts.distPath,\n );\n newConfig.dts.tsconfigPath = path.join(\n context.appDirectory,\n newConfig.dts.tsconfigPath,\n );\n }\n\n // Maybe need transform 'config.copy'\n\n return newConfig;\n};\n\nexport const checkConfig = async (config: ModuleUserConfig) => {\n const { buildConfig, buildPreset } = config;\n if (buildConfig && buildPreset) {\n const { logger } = await import('@modern-js/utils');\n const local = await import('../locale');\n logger.warn(local.i18n.t(local.localeKeys.log.buildConfigTip));\n }\n};\n\nexport const normalizeBuildConfig = async (\n api: PluginAPI<ModuleTools>,\n context: ModuleContext,\n buildCmdOptions: BuildCommandOptions,\n): Promise<BaseBuildConfig[]> => {\n const { isLegacyUserConfig } = await import('../utils/config');\n let config = api.useConfigContext() as unknown as ModuleUserConfig;\n\n if (isLegacyUserConfig(config as { legacy?: boolean })) {\n const { createUserConfigFromLegacy } = await import(\n './transformLegacyConfig'\n );\n config = await createUserConfigFromLegacy(config as ModuleLegacyUserConfig);\n }\n\n const { buildConfig, buildPreset } = config;\n\n await checkConfig(config);\n\n let baseConfigs: BaseBuildConfig[];\n\n // buildConfig High priority\n if (buildConfig) {\n baseConfigs = await transformBuildConfigToBaseConfigs(buildConfig, {\n buildCmdOptions,\n context,\n });\n } else {\n baseConfigs = await transformBuildPresetToBaseConfigs(\n {\n context,\n buildCmdOptions,\n },\n buildPreset,\n );\n }\n\n return baseConfigs;\n};\n"]}
@@ -30,6 +30,7 @@ export declare const EN_LOCALE: {
30
30
  dev: {
31
31
  noDevtools: string;
32
32
  };
33
+ buildConfigTip: string;
33
34
  };
34
35
  errors: {
35
36
  externalHelpers: string;
package/dist/locale/en.js CHANGED
@@ -43,7 +43,8 @@ const EN_LOCALE = {
43
43
  log: {
44
44
  dev: {
45
45
  noDevtools: noDevTools
46
- }
46
+ },
47
+ buildConfigTip: "The configuration file of the current project has both `buildConfig` and `buildPreset` options. However, only the `buildConfig` configuration will take effect. If you need to override the content of `buildPreset`, please use the function type of `buildPreset` (refer to the API documentation for details)."
47
48
  },
48
49
  errors: {
49
50
  externalHelpers: `The 'externalHelpers' configuration is currently enabled, but the "@swc/helpers" dependency declaration was not found. This will cause issues with the build output.Use the following for installation:
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BASaA;;;WAAAA;;;uBATS;AAEtB,MAAMC,aAAa;MACbC,aAAMC,UACRD,aAAME,KAAK,gBACX;;AAIG,MAAMJ,YAAY;EACvBK,SAAS;IACPC,QAAQ;MACNC,QACE;IACJ;IACAC,OAAO;MACLC,UAAU;MACVC,OAAO;MACPC,UAAU;MACVC,WAAW;MACXC,UACE;MACFC,OAAO;MACPC,KAAK;MACLC,SAAS;IACX;IACAC,KAAK;MACHR,UAAU;MACVE,UAAU;IACZ;IACAO,KAAK;MACHT,UAAU;MACVU,OAAO;MACPZ,QAAQ;MACRa,SAAS;MACTC,UAAU;MACVC,MAAM;IACR;EACF;EACAC,KAAK;IACHN,KAAK;MACHO,YAAYvB;IACd;EACF;EACAwB,QAAQ;IACNC,iBAAiB;QACbxB,aAAME,KAAK;QACXF,aAAMyB,OAAO,8BAA8BzB,aAAMyB,OACnD;;QAGEzB,aAAME,KAAK;QACXF,aAAMyB,OAAO,+BAA+BzB,aAAMyB,OACpD;;QAGEzB,aAAME,KAAK;QACXF,aAAMyB,OAAO,iCAAiCzB,aAAMyB,OACtD;;EAGJ;EACAC,OAAO;IACLb,KAAK;MACHc,cACE;IACJ;IACAC,eACE;EACJ;AACF;","names":["EN_LOCALE","noDevTools","chalk","underline","blue","command","shared","config","build","describe","watch","tsconfig","styleOnly","platform","noTsc","dts","noClear","dev","new","debug","distTag","registry","lang","log","noDevtools","errors","externalHelpers","yellow","warns","abortOnError","clearRootPath"],"sources":["../../src/locale/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/locale/en.ts"],"sourcesContent":["import { chalk } from '@modern-js/utils';\n\nconst noDevTools = `There are no DevTools available, you can learn about them and choose to use them by following the link options.\n - ${chalk.underline(\n chalk.blue('[Storybook]'),\n 'https://modernjs.dev/module-tools/guide/basic/using-storybook.html',\n )}\n`;\n\nexport const EN_LOCALE = {\n command: {\n shared: {\n config:\n 'sspecify the configuration file, which can be a relative or absolute path',\n },\n build: {\n describe: 'build the module for production',\n watch: 'building module in watch mode',\n tsconfig: 'Specify a path to the tsconfig.json file',\n styleOnly: 'only build style',\n platform:\n 'build the specified task or all tasks, If exist. (tasks: \"storybook\", \"docs\")',\n noTsc: 'close tsc compiler to emit d.ts (Deprecated)',\n dts: 'Turn on dts generation and type checking',\n noClear: 'disable auto clear dist dir',\n },\n dev: {\n describe: 'run and debug the module',\n tsconfig: 'Specify a path to the tsconfig.json file',\n },\n new: {\n describe: 'enable optional features',\n debug: 'using debug mode to log something',\n config: 'set default generator config(json string)',\n distTag: `use specified tag version for it's generator`,\n registry: 'set npm registry url to run npm command',\n lang: 'set new command language(en or zh)',\n },\n },\n log: {\n dev: {\n noDevtools: noDevTools,\n },\n },\n errors: {\n externalHelpers: `The 'externalHelpers' configuration is currently enabled, but the \"@swc/helpers\" dependency declaration was not found. This will cause issues with the build output.Use the following for installation:\n ${chalk.blue('Package Manager is npm:')}\n ${chalk.yellow('`npm i @swc/helpers`')} Or ${chalk.yellow(\n '`npm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is pnpm:')}\n ${chalk.yellow('`pnpm i @swc/helpers`')} Or ${chalk.yellow(\n '`pnpm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is yarn:')}\n ${chalk.yellow('`yarn add @swc/helpers`')} Or ${chalk.yellow(\n '`yarn add @swc/helpers -D`',\n )}\n `,\n },\n warns: {\n dts: {\n abortOnError:\n 'With the `dts.abortOnError` configuration currently turned off, type errors do not cause build failures, but they do not guarantee proper type file output',\n },\n clearRootPath:\n 'It is detected that the outDir in the configuration is the same as the current project directory, and the current product directory will not be automatically deleted.',\n },\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BASaA;;;WAAAA;;;uBATS;AAEtB,MAAMC,aAAa;MACbC,aAAMC,UACRD,aAAME,KAAK,gBACX;;AAIG,MAAMJ,YAAY;EACvBK,SAAS;IACPC,QAAQ;MACNC,QACE;IACJ;IACAC,OAAO;MACLC,UAAU;MACVC,OAAO;MACPC,UAAU;MACVC,WAAW;MACXC,UACE;MACFC,OAAO;MACPC,KAAK;MACLC,SAAS;IACX;IACAC,KAAK;MACHR,UAAU;MACVE,UAAU;IACZ;IACAO,KAAK;MACHT,UAAU;MACVU,OAAO;MACPZ,QAAQ;MACRa,SAAS;MACTC,UAAU;MACVC,MAAM;IACR;EACF;EACAC,KAAK;IACHN,KAAK;MACHO,YAAYvB;IACd;IACAwB,gBACE;EACJ;EACAC,QAAQ;IACNC,iBAAiB;QACbzB,aAAME,KAAK;QACXF,aAAM0B,OAAO,8BAA8B1B,aAAM0B,OACnD;;QAGE1B,aAAME,KAAK;QACXF,aAAM0B,OAAO,+BAA+B1B,aAAM0B,OACpD;;QAGE1B,aAAME,KAAK;QACXF,aAAM0B,OAAO,iCAAiC1B,aAAM0B,OACtD;;EAGJ;EACAC,OAAO;IACLd,KAAK;MACHe,cACE;IACJ;IACAC,eACE;EACJ;AACF;","names":["EN_LOCALE","noDevTools","chalk","underline","blue","command","shared","config","build","describe","watch","tsconfig","styleOnly","platform","noTsc","dts","noClear","dev","new","debug","distTag","registry","lang","log","noDevtools","buildConfigTip","errors","externalHelpers","yellow","warns","abortOnError","clearRootPath"],"sources":["../../src/locale/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/locale/en.ts"],"sourcesContent":["import { chalk } from '@modern-js/utils';\n\nconst noDevTools = `There are no DevTools available, you can learn about them and choose to use them by following the link options.\n - ${chalk.underline(\n chalk.blue('[Storybook]'),\n 'https://modernjs.dev/module-tools/guide/basic/using-storybook.html',\n )}\n`;\n\nexport const EN_LOCALE = {\n command: {\n shared: {\n config:\n 'sspecify the configuration file, which can be a relative or absolute path',\n },\n build: {\n describe: 'build the module for production',\n watch: 'building module in watch mode',\n tsconfig: 'Specify a path to the tsconfig.json file',\n styleOnly: 'only build style',\n platform:\n 'build the specified task or all tasks, If exist. (tasks: \"storybook\", \"docs\")',\n noTsc: 'close tsc compiler to emit d.ts (Deprecated)',\n dts: 'Turn on dts generation and type checking',\n noClear: 'disable auto clear dist dir',\n },\n dev: {\n describe: 'run and debug the module',\n tsconfig: 'Specify a path to the tsconfig.json file',\n },\n new: {\n describe: 'enable optional features',\n debug: 'using debug mode to log something',\n config: 'set default generator config(json string)',\n distTag: `use specified tag version for it's generator`,\n registry: 'set npm registry url to run npm command',\n lang: 'set new command language(en or zh)',\n },\n },\n log: {\n dev: {\n noDevtools: noDevTools,\n },\n buildConfigTip:\n 'The configuration file of the current project has both `buildConfig` and `buildPreset` options. However, only the `buildConfig` configuration will take effect. If you need to override the content of `buildPreset`, please use the function type of `buildPreset` (refer to the API documentation for details).',\n },\n errors: {\n externalHelpers: `The 'externalHelpers' configuration is currently enabled, but the \"@swc/helpers\" dependency declaration was not found. This will cause issues with the build output.Use the following for installation:\n ${chalk.blue('Package Manager is npm:')}\n ${chalk.yellow('`npm i @swc/helpers`')} Or ${chalk.yellow(\n '`npm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is pnpm:')}\n ${chalk.yellow('`pnpm i @swc/helpers`')} Or ${chalk.yellow(\n '`pnpm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is yarn:')}\n ${chalk.yellow('`yarn add @swc/helpers`')} Or ${chalk.yellow(\n '`yarn add @swc/helpers -D`',\n )}\n `,\n },\n warns: {\n dts: {\n abortOnError:\n 'With the `dts.abortOnError` configuration currently turned off, type errors do not cause build failures, but they do not guarantee proper type file output',\n },\n clearRootPath:\n 'It is detected that the outDir in the configuration is the same as the current project directory, and the current product directory will not be automatically deleted.',\n },\n};\n"]}
@@ -31,6 +31,7 @@ declare const localeKeys: {
31
31
  dev: {
32
32
  noDevtools: string;
33
33
  };
34
+ buildConfigTip: string;
34
35
  };
35
36
  errors: {
36
37
  externalHelpers: string;
@@ -73,6 +74,7 @@ declare const localeKeys: {
73
74
  dev: {
74
75
  noDevtools: string;
75
76
  };
77
+ buildConfigTip: string;
76
78
  };
77
79
  errors: {
78
80
  externalHelpers: string;
@@ -30,6 +30,7 @@ export declare const ZH_LOCALE: {
30
30
  dev: {
31
31
  noDevtools: string;
32
32
  };
33
+ buildConfigTip: string;
33
34
  };
34
35
  errors: {
35
36
  externalHelpers: string;
package/dist/locale/zh.js CHANGED
@@ -43,7 +43,8 @@ const ZH_LOCALE = {
43
43
  log: {
44
44
  dev: {
45
45
  noDevtools: noDevTools
46
- }
46
+ },
47
+ buildConfigTip: "当前项目的配置文件中同时设置了 `buildConfig` 和 `buildPreset`,因此仅有 `buildConfig` 配置能够生效。如果你需要覆盖 `buildPreset` 的内容,请使用 `buildPreset` 的函数配置方式(详见 API 文档)。"
47
48
  },
48
49
  errors: {
49
50
  externalHelpers: `当前开启了 'externalHelpers' 配置,未找到 "@swc/helpers" 依赖声明,构建产物会存在问题。使用下面的方式进行安装:
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;+BASaA;;;WAAAA;;;uBATS;AAEtB,MAAMC,aAAa;MACbC,aAAMC,UACRD,aAAME,KAAK,iBACX;;AAIG,MAAMJ,YAAY;EACvBK,SAAS;IACPC,QAAQ;MACNC,QAAQ;IACV;IACAC,OAAO;MACLC,UAAU;MACVC,OAAO;MACPC,UAAU;MACVC,WAAW;MACXC,UACE;MACFC,OAAO;MACPC,KAAK;MACLC,SAAS;IACX;IACAC,KAAK;MACHR,UAAU;MACVE,UAAU;IACZ;IACAO,KAAK;MACHT,UAAU;MACVU,OAAO;MACPZ,QAAQ;MACRa,SAAS;MACTC,UAAU;MACVC,MAAM;IACR;EACF;EACAC,KAAK;IACHN,KAAK;MACHO,YAAYvB;IACd;EACF;EACAwB,QAAQ;IACNC,iBAAiB;QACbxB,aAAME,KAAK;QACXF,aAAMyB,OAAO,8BAA8BzB,aAAMyB,OACnD;;QAGEzB,aAAME,KAAK;QACXF,aAAMyB,OAAO,+BAA+BzB,aAAMyB,OACpD;;QAGEzB,aAAME,KAAK;QACXF,aAAMyB,OAAO,iCAAiCzB,aAAMyB,OACtD;;EAGJ;EACAC,OAAO;IACLb,KAAK;MACHc,cACE;IACJ;IACAC,eACE;EACJ;AACF;","names":["ZH_LOCALE","noDevTools","chalk","underline","blue","command","shared","config","build","describe","watch","tsconfig","styleOnly","platform","noTsc","dts","noClear","dev","new","debug","distTag","registry","lang","log","noDevtools","errors","externalHelpers","yellow","warns","abortOnError","clearRootPath"],"sources":["../../src/locale/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/locale/zh.ts"],"sourcesContent":["import { chalk } from '@modern-js/utils';\n\nconst noDevTools = `暂无可用的 DevTools,你可以通过以下选项以及对应的链接来了解如何使用。\n - ${chalk.underline(\n chalk.blue('[Storybook]:'),\n 'https://modernjs.dev/module-tools/guide/basic/using-storybook.html',\n )}\n`;\n\nexport const ZH_LOCALE = {\n command: {\n shared: {\n config: '指定配置文件路径,可以为相对路径或绝对路径',\n },\n build: {\n describe: '构建生产环境产物',\n watch: '使用 Watch 模式构建模块',\n tsconfig: '指定 tsconfig.json 文件的路径',\n styleOnly: '只构建样式文件',\n platform:\n '如果存在的话,执行指定的构建任务或者全部构建任务. (构建任务包括: \"storybook\", \"文档\")',\n noTsc: '关闭 tsc 编译(废弃)',\n dts: '开启 dts 文件的生成以及类型检查',\n noClear: '不清理产物目录',\n },\n dev: {\n describe: '运行和调试模块',\n tsconfig: '指定 tsconfig.json 文件的路径',\n },\n new: {\n describe: '启用可选功能',\n debug: '开启 Debug 模式,打印调试日志信息',\n config: '生成器运行默认配置(JSON 字符串)',\n distTag: '生成器使用特殊的 npm Tag 版本',\n registry: '生成器运行过程中定制 npm Registry',\n lang: '设置 new 命令执行语言(zh 或者 en)',\n },\n },\n log: {\n dev: {\n noDevtools: noDevTools,\n },\n },\n errors: {\n externalHelpers: `当前开启了 'externalHelpers' 配置,未找到 \"@swc/helpers\" 依赖声明,构建产物会存在问题。使用下面的方式进行安装:\n ${chalk.blue('Package Manager is npm:')}\n ${chalk.yellow('`npm i @swc/helpers`')} Or ${chalk.yellow(\n '`npm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is pnpm:')}\n ${chalk.yellow('`pnpm i @swc/helpers`')} Or ${chalk.yellow(\n '`pnpm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is yarn:')}\n ${chalk.yellow('`yarn add @swc/helpers`')} Or ${chalk.yellow(\n '`yarn add @swc/helpers -D`',\n )}\n `,\n },\n warns: {\n dts: {\n abortOnError:\n '当前关闭了 `dts.abortOnError` 配置,类型错误不会导致构建失败,但无法保证类型文件正常输出',\n },\n clearRootPath:\n '检测到配置中 outDir 与当前项目目录相同,不会自动删除当前产物目录',\n },\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;+BASaA;;;WAAAA;;;uBATS;AAEtB,MAAMC,aAAa;MACbC,aAAMC,UACRD,aAAME,KAAK,iBACX;;AAIG,MAAMJ,YAAY;EACvBK,SAAS;IACPC,QAAQ;MACNC,QAAQ;IACV;IACAC,OAAO;MACLC,UAAU;MACVC,OAAO;MACPC,UAAU;MACVC,WAAW;MACXC,UACE;MACFC,OAAO;MACPC,KAAK;MACLC,SAAS;IACX;IACAC,KAAK;MACHR,UAAU;MACVE,UAAU;IACZ;IACAO,KAAK;MACHT,UAAU;MACVU,OAAO;MACPZ,QAAQ;MACRa,SAAS;MACTC,UAAU;MACVC,MAAM;IACR;EACF;EACAC,KAAK;IACHN,KAAK;MACHO,YAAYvB;IACd;IACAwB,gBACE;EACJ;EACAC,QAAQ;IACNC,iBAAiB;QACbzB,aAAME,KAAK;QACXF,aAAM0B,OAAO,8BAA8B1B,aAAM0B,OACnD;;QAGE1B,aAAME,KAAK;QACXF,aAAM0B,OAAO,+BAA+B1B,aAAM0B,OACpD;;QAGE1B,aAAME,KAAK;QACXF,aAAM0B,OAAO,iCAAiC1B,aAAM0B,OACtD;;EAGJ;EACAC,OAAO;IACLd,KAAK;MACHe,cACE;IACJ;IACAC,eACE;EACJ;AACF;","names":["ZH_LOCALE","noDevTools","chalk","underline","blue","command","shared","config","build","describe","watch","tsconfig","styleOnly","platform","noTsc","dts","noClear","dev","new","debug","distTag","registry","lang","log","noDevtools","buildConfigTip","errors","externalHelpers","yellow","warns","abortOnError","clearRootPath"],"sources":["../../src/locale/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/locale/zh.ts"],"sourcesContent":["import { chalk } from '@modern-js/utils';\n\nconst noDevTools = `暂无可用的 DevTools,你可以通过以下选项以及对应的链接来了解如何使用。\n - ${chalk.underline(\n chalk.blue('[Storybook]:'),\n 'https://modernjs.dev/module-tools/guide/basic/using-storybook.html',\n )}\n`;\n\nexport const ZH_LOCALE = {\n command: {\n shared: {\n config: '指定配置文件路径,可以为相对路径或绝对路径',\n },\n build: {\n describe: '构建生产环境产物',\n watch: '使用 Watch 模式构建模块',\n tsconfig: '指定 tsconfig.json 文件的路径',\n styleOnly: '只构建样式文件',\n platform:\n '如果存在的话,执行指定的构建任务或者全部构建任务. (构建任务包括: \"storybook\", \"文档\")',\n noTsc: '关闭 tsc 编译(废弃)',\n dts: '开启 dts 文件的生成以及类型检查',\n noClear: '不清理产物目录',\n },\n dev: {\n describe: '运行和调试模块',\n tsconfig: '指定 tsconfig.json 文件的路径',\n },\n new: {\n describe: '启用可选功能',\n debug: '开启 Debug 模式,打印调试日志信息',\n config: '生成器运行默认配置(JSON 字符串)',\n distTag: '生成器使用特殊的 npm Tag 版本',\n registry: '生成器运行过程中定制 npm Registry',\n lang: '设置 new 命令执行语言(zh 或者 en)',\n },\n },\n log: {\n dev: {\n noDevtools: noDevTools,\n },\n buildConfigTip:\n '当前项目的配置文件中同时设置了 `buildConfig` 和 `buildPreset`,因此仅有 `buildConfig` 配置能够生效。如果你需要覆盖 `buildPreset` 的内容,请使用 `buildPreset` 的函数配置方式(详见 API 文档)。',\n },\n errors: {\n externalHelpers: `当前开启了 'externalHelpers' 配置,未找到 \"@swc/helpers\" 依赖声明,构建产物会存在问题。使用下面的方式进行安装:\n ${chalk.blue('Package Manager is npm:')}\n ${chalk.yellow('`npm i @swc/helpers`')} Or ${chalk.yellow(\n '`npm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is pnpm:')}\n ${chalk.yellow('`pnpm i @swc/helpers`')} Or ${chalk.yellow(\n '`pnpm i @swc/helpers -D`',\n )}\n\n ${chalk.blue('Package Manager is yarn:')}\n ${chalk.yellow('`yarn add @swc/helpers`')} Or ${chalk.yellow(\n '`yarn add @swc/helpers -D`',\n )}\n `,\n },\n warns: {\n dts: {\n abortOnError:\n '当前关闭了 `dts.abortOnError` 配置,类型错误不会导致构建失败,但无法保证类型文件正常输出',\n },\n clearRootPath:\n '检测到配置中 outDir 与当前项目目录相同,不会自动删除当前产物目录',\n },\n};\n"]}
@@ -59,15 +59,19 @@ const getPostcssConfig = async (config) => {
59
59
  }
60
60
  }
61
61
  };
62
+ const targetLegacyBrowsers = config.target === "es5";
63
+ const getLegacyPostCSSPlugins = async () => [
64
+ require(await getCompiledPath("postcss-custom-properties")),
65
+ require(await getCompiledPath("postcss-initial")),
66
+ require(await getCompiledPath("postcss-page-break")),
67
+ require(await getCompiledPath("postcss-font-variant"))
68
+ ];
62
69
  const mergedConfig = applyOptionsChain({
63
70
  // TODO: when schema support redefine
64
71
  // $$tools: 'module-tools',
65
72
  plugins: [
73
+ ...targetLegacyBrowsers ? await getLegacyPostCSSPlugins() : [],
66
74
  require(await getCompiledPath("postcss-flexbugs-fixes")),
67
- require(await getCompiledPath("postcss-custom-properties")),
68
- require(await getCompiledPath("postcss-initial")),
69
- require(await getCompiledPath("postcss-page-break")),
70
- require(await getCompiledPath("postcss-font-variant")),
71
75
  require(await getCompiledPath("postcss-media-minmax")),
72
76
  require(await getCompiledPath("postcss-nesting"))
73
77
  ].filter(Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":null,"mappings":";;;;;;;;;;;;EASaA,eAAa;WAAbA;;EAeAC,eAAa;WAAbA;;EAcAC,kBAAgB;WAAhBA;;EA0CAC,gBAAc;WAAdA;;;;AAvEN,MAAMH,gBAAgB,OAAOI,WAAmC;MASnEA;AARF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEG,aAAa;MAAEC,mBAAmB;IAAK;IACvCC,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeQ,SAAQ,CAAC;AAG1B,SAAOL;AACT;AAEO,MAAMN,gBAAgB,OAAOG,WAAmC;MAQnEA;AAPF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEK,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeS,SAAQ,CAAC;AAG1B,SAAON;AACT;AAEO,MAAML,mBAAmB,OAAOE,WAAmC;MAgCtEA;AA/BF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AACzC,QAAMQ,eAAiC;AAEvC,QAAMC,QAAQ;IACZC,WAAWC,SAA4C;AACrD,UAAIC,MAAMC,QAAQF,UAAU;AAC1BH,qBAAaM,KAAI,GAAIH;MACvB,OAAO;AACLH,qBAAaM,KAAKH;MACpB;IACF;EACF;AAEA,QAAMI,eAAehB,kBAInB;;;IAGEY,SAAS;MACPK,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BgB,QAAQ,MAAMhB,gBAAgB;MAC9BiB,OAAOC;EACX,IACApB,wEAAQO,WAAK,QAAbP,kDAAeqB,YAAW,CAAC,GAC3BV;AAEF,MAAID,aAAaY,QAAQ;AACvBL,iBAAaJ,QAASG,KAAI,GAAIN;EAChC;AAEA,SAAOO;AACT;AAEO,MAAMlB,iBAAiB,OAAOC,WAAmC;AACtE,QAAMuB,gBAAgB,MAAMzB,iBAAiBE;AAC7C,QAAMwB,aAAa,MAAM5B,cAAcI;AACvC,QAAMyB,aAAa,MAAM5B,cAAcG;AACvC,SAAO;IACLQ,MAAMgB;IACNf,MAAMgB;IACNJ,SAASE;EACX;AACF;","names":["getLessConfig","getSassConfig","getPostcssConfig","getStyleConfig","config","applyOptionsChain","getCompiledPath","mergedOptions","lessOptions","javascriptEnabled","implementation","style","less","sass","extraPlugins","utils","addPlugins","plugins","Array","isArray","push","mergedConfig","require","filter","Boolean","postcss","length","postcssConfig","lessConfig","sassConfig"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/style.ts"],"sourcesContent":["import type { AcceptedPlugin } from 'postcss';\nimport type { PostcssOptions } from '@modern-js/libuild';\nimport type {\n PartialBaseBuildConfig,\n PostCSSConfigUtils,\n LessOptions,\n SassOptions,\n} from '../types';\n\nexport const getLessConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<LessOptions, never>(\n {\n lessOptions: { javascriptEnabled: true },\n implementation: await getCompiledPath('less'),\n },\n config?.style?.less || {},\n );\n\n return mergedOptions;\n};\n\nexport const getSassConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<SassOptions, never>(\n {\n implementation: await getCompiledPath('sass'),\n },\n config?.style?.sass || {},\n );\n\n return mergedOptions;\n};\n\nexport const getPostcssConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n const extraPlugins: AcceptedPlugin[] = [];\n\n const utils = {\n addPlugins(plugins: AcceptedPlugin | AcceptedPlugin[]) {\n if (Array.isArray(plugins)) {\n extraPlugins.push(...plugins);\n } else {\n extraPlugins.push(plugins);\n }\n },\n };\n\n const mergedConfig = applyOptionsChain<\n PostcssOptions & { $$tools?: string },\n PostCSSConfigUtils\n >(\n {\n // TODO: when schema support redefine\n // $$tools: 'module-tools',\n plugins: [\n require(await getCompiledPath('postcss-flexbugs-fixes')),\n require(await getCompiledPath('postcss-custom-properties')),\n require(await getCompiledPath('postcss-initial')),\n require(await getCompiledPath('postcss-page-break')),\n require(await getCompiledPath('postcss-font-variant')),\n require(await getCompiledPath('postcss-media-minmax')),\n require(await getCompiledPath('postcss-nesting')),\n ].filter(Boolean),\n },\n config?.style?.postcss || {},\n utils,\n );\n if (extraPlugins.length) {\n mergedConfig.plugins!.push(...extraPlugins);\n }\n\n return mergedConfig;\n};\n\nexport const getStyleConfig = async (config: PartialBaseBuildConfig) => {\n const postcssConfig = await getPostcssConfig(config);\n const lessConfig = await getLessConfig(config);\n const sassConfig = await getSassConfig(config);\n return {\n less: lessConfig,\n sass: sassConfig,\n postcss: postcssConfig,\n };\n};\n"]}
1
+ {"version":3,"file":null,"mappings":";;;;;;;;;;;;EASaA,eAAa;WAAbA;;EAeAC,eAAa;WAAbA;;EAcAC,kBAAgB;WAAhBA;;EA+CAC,gBAAc;WAAdA;;;;AA5EN,MAAMH,gBAAgB,OAAOI,WAAmC;MASnEA;AARF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEG,aAAa;MAAEC,mBAAmB;IAAK;IACvCC,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeQ,SAAQ,CAAC;AAG1B,SAAOL;AACT;AAEO,MAAMN,gBAAgB,OAAOG,WAAmC;MAQnEA;AAPF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AAEzC,QAAMC,gBAAgBF,kBACpB;IACEK,gBAAgB,MAAMJ,gBAAgB;EACxC,IACAF,wEAAQO,WAAK,QAAbP,kDAAeS,SAAQ,CAAC;AAG1B,SAAON;AACT;AAEO,MAAML,mBAAmB,OAAOE,WAAmC;MAqCtEA;AApCF,QAAM,EAAEC,kBAAiB,IAAK,MAAM,iFAAO;AAC3C,QAAM,EAAEC,gBAAe,IAAK,MAAM,iFAAO;AACzC,QAAMQ,eAAiC;AAEvC,QAAMC,QAAQ;IACZC,WAAWC,SAA4C;AACrD,UAAIC,MAAMC,QAAQF,UAAU;AAC1BH,qBAAaM,KAAI,GAAIH;MACvB,OAAO;AACLH,qBAAaM,KAAKH;MACpB;IACF;EACF;AAEA,QAAMI,uBAAuBjB,OAAOkB,WAAW;AAC/C,QAAMC,0BAA0B,YAAY;IAC1CC,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;IAC9BkB,QAAQ,MAAMlB,gBAAgB;;AAGhC,QAAMmB,eAAepB,kBAInB;;;IAGEY,SAAS;SACHI,uBAAuB,MAAME,4BAA4B;MAC7DC,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BkB,QAAQ,MAAMlB,gBAAgB;MAC9BoB,OAAOC;EACX,IACAvB,wEAAQO,WAAK,QAAbP,kDAAewB,YAAW,CAAC,GAC3Bb;AAEF,MAAID,aAAae,QAAQ;AACvBJ,iBAAaR,QAASG,KAAI,GAAIN;EAChC;AAEA,SAAOW;AACT;AAEO,MAAMtB,iBAAiB,OAAOC,WAAmC;AACtE,QAAM0B,gBAAgB,MAAM5B,iBAAiBE;AAC7C,QAAM2B,aAAa,MAAM/B,cAAcI;AACvC,QAAM4B,aAAa,MAAM/B,cAAcG;AACvC,SAAO;IACLQ,MAAMmB;IACNlB,MAAMmB;IACNJ,SAASE;EACX;AACF;","names":["getLessConfig","getSassConfig","getPostcssConfig","getStyleConfig","config","applyOptionsChain","getCompiledPath","mergedOptions","lessOptions","javascriptEnabled","implementation","style","less","sass","extraPlugins","utils","addPlugins","plugins","Array","isArray","push","targetLegacyBrowsers","target","getLegacyPostCSSPlugins","require","mergedConfig","filter","Boolean","postcss","length","postcssConfig","lessConfig","sassConfig"],"sources":["../../src/utils/home/runner/work/modern.js/modern.js/packages/solutions/module-tools/src/utils/style.ts"],"sourcesContent":["import type { AcceptedPlugin } from 'postcss';\nimport type { PostcssOptions } from '@modern-js/libuild';\nimport type {\n PartialBaseBuildConfig,\n PostCSSConfigUtils,\n LessOptions,\n SassOptions,\n} from '../types';\n\nexport const getLessConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<LessOptions, never>(\n {\n lessOptions: { javascriptEnabled: true },\n implementation: await getCompiledPath('less'),\n },\n config?.style?.less || {},\n );\n\n return mergedOptions;\n};\n\nexport const getSassConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n\n const mergedOptions = applyOptionsChain<SassOptions, never>(\n {\n implementation: await getCompiledPath('sass'),\n },\n config?.style?.sass || {},\n );\n\n return mergedOptions;\n};\n\nexport const getPostcssConfig = async (config: PartialBaseBuildConfig) => {\n const { applyOptionsChain } = await import('@modern-js/utils');\n const { getCompiledPath } = await import('./path');\n const extraPlugins: AcceptedPlugin[] = [];\n\n const utils = {\n addPlugins(plugins: AcceptedPlugin | AcceptedPlugin[]) {\n if (Array.isArray(plugins)) {\n extraPlugins.push(...plugins);\n } else {\n extraPlugins.push(plugins);\n }\n },\n };\n\n const targetLegacyBrowsers = config.target === 'es5';\n const getLegacyPostCSSPlugins = async () => [\n require(await getCompiledPath('postcss-custom-properties')),\n require(await getCompiledPath('postcss-initial')),\n require(await getCompiledPath('postcss-page-break')),\n require(await getCompiledPath('postcss-font-variant')),\n ];\n\n const mergedConfig = applyOptionsChain<\n PostcssOptions & { $$tools?: string },\n PostCSSConfigUtils\n >(\n {\n // TODO: when schema support redefine\n // $$tools: 'module-tools',\n plugins: [\n ...(targetLegacyBrowsers ? await getLegacyPostCSSPlugins() : []),\n require(await getCompiledPath('postcss-flexbugs-fixes')),\n require(await getCompiledPath('postcss-media-minmax')),\n require(await getCompiledPath('postcss-nesting')),\n ].filter(Boolean),\n },\n config?.style?.postcss || {},\n utils,\n );\n if (extraPlugins.length) {\n mergedConfig.plugins!.push(...extraPlugins);\n }\n\n return mergedConfig;\n};\n\nexport const getStyleConfig = async (config: PartialBaseBuildConfig) => {\n const postcssConfig = await getPostcssConfig(config);\n const lessConfig = await getLessConfig(config);\n const sassConfig = await getSassConfig(config);\n return {\n less: lessConfig,\n sass: sassConfig,\n postcss: postcssConfig,\n };\n};\n"]}
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "module-tools",
16
16
  "lib-tools"
17
17
  ],
18
- "version": "2.25.2",
18
+ "version": "2.27.0",
19
19
  "bin": {
20
20
  "modern": "./bin/modern.js",
21
21
  "modern-module": "./bin/modern.js"
@@ -49,14 +49,14 @@
49
49
  "@modern-js/libuild-plugin-swc": "0.13.2",
50
50
  "postcss": "8.4.6",
51
51
  "@swc/helpers": "0.5.1",
52
- "@modern-js/core": "2.25.2",
53
- "@modern-js/plugin": "2.25.2",
54
- "@modern-js/new-action": "2.25.2",
55
- "@modern-js/plugin-changeset": "2.25.2",
56
- "@modern-js/plugin-i18n": "2.25.2",
57
- "@modern-js/plugin-lint": "2.25.2",
58
- "@modern-js/upgrade": "2.25.2",
59
- "@modern-js/utils": "2.25.2"
52
+ "@modern-js/core": "2.27.0",
53
+ "@modern-js/plugin": "2.27.0",
54
+ "@modern-js/new-action": "2.27.0",
55
+ "@modern-js/plugin-changeset": "2.27.0",
56
+ "@modern-js/plugin-i18n": "2.27.0",
57
+ "@modern-js/plugin-lint": "2.27.0",
58
+ "@modern-js/upgrade": "2.27.0",
59
+ "@modern-js/utils": "2.27.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/babel__generator": "7.6.4",
@@ -71,10 +71,10 @@
71
71
  "postcss-alias": "2.0.0",
72
72
  "react": "17",
73
73
  "typescript": "^5",
74
- "@modern-js/builder-webpack-provider": "2.25.2",
75
- "@modern-js/self": "npm:@modern-js/module-tools@2.25.2",
76
- "@scripts/build": "2.25.2",
77
- "@scripts/jest-config": "2.25.2"
74
+ "@modern-js/builder-webpack-provider": "2.27.0",
75
+ "@modern-js/self": "npm:@modern-js/module-tools@2.27.0",
76
+ "@scripts/build": "2.27.0",
77
+ "@scripts/jest-config": "2.27.0"
78
78
  },
79
79
  "publishConfig": {
80
80
  "registry": "https://registry.npmjs.org/",