@modern-js/server-utils 2.58.0 → 2.58.2

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.
@@ -52,7 +52,7 @@ const existTsConfigFile = (tsconfigAbsolutePath) => {
52
52
  const tsconfig = readTsConfig(tsconfigAbsolutePath);
53
53
  return Boolean(tsconfig);
54
54
  };
55
- const resolveBabelConfig = (appDirectory, config, option) => {
55
+ const resolveBabelConfig = (appDirectory, config, option, isEsm) => {
56
56
  const { alias, babelConfig } = config;
57
57
  const aliasConfig = (0, import_utils.getAliasConfig)(alias, {
58
58
  appDirectory,
@@ -60,16 +60,18 @@ const resolveBabelConfig = (appDirectory, config, option) => {
60
60
  });
61
61
  const defaultBabelConfig = (0, import_preset.getBabelConfig)({
62
62
  appDirectory,
63
- alias: aliasConfig
63
+ alias: aliasConfig,
64
+ isEsm
64
65
  });
65
66
  return (0, import_preset.applyUserBabelConfig)(defaultBabelConfig, babelConfig);
66
67
  };
67
68
  const compileByBabel = async (appDirectory, config, compileOptions) => {
68
- const { sourceDirs, distDir, tsconfigPath } = compileOptions;
69
+ const { sourceDirs, distDir, tsconfigPath, moduleType } = compileOptions;
70
+ const isEsm = moduleType === "module";
69
71
  const results = await Promise.all(sourceDirs.map(async (sourceDir) => {
70
72
  const babelConfig = resolveBabelConfig(appDirectory, config, {
71
73
  tsconfigPath: tsconfigPath ? tsconfigPath : ""
72
- });
74
+ }, isEsm);
73
75
  if (await import_utils.fs.pathExists(sourceDir)) {
74
76
  const basename = path.basename(sourceDir);
75
77
  const targetDir = path.join(distDir, basename);
@@ -39,10 +39,11 @@ __reExport(preset_exports, require("./types"), module.exports);
39
39
  var import_utils = require("@modern-js/utils");
40
40
  const getBabelConfig = (libPresetOption) => {
41
41
  var _config_presets, _config_plugins;
42
+ const { isEsm } = libPresetOption;
42
43
  const config = (0, import_node.getBabelConfigForNode)({
43
44
  presetEnv: {
44
45
  loose: true,
45
- modules: "commonjs",
46
+ modules: isEsm ? false : "commonjs",
46
47
  targets: [
47
48
  "node >= 14"
48
49
  ]
@@ -19,24 +19,26 @@ var existTsConfigFile = function(tsconfigAbsolutePath) {
19
19
  var tsconfig = readTsConfig(tsconfigAbsolutePath);
20
20
  return Boolean(tsconfig);
21
21
  };
22
- var resolveBabelConfig = function(appDirectory, config, option) {
22
+ var resolveBabelConfig = function(appDirectory, config, option, isEsm) {
23
23
  var alias = config.alias, babelConfig = config.babelConfig;
24
24
  var aliasConfig = getAliasConfig(alias, _object_spread({
25
25
  appDirectory
26
26
  }, option));
27
27
  var defaultBabelConfig = getBabelConfig({
28
28
  appDirectory,
29
- alias: aliasConfig
29
+ alias: aliasConfig,
30
+ isEsm
30
31
  });
31
32
  return applyUserBabelConfig(defaultBabelConfig, babelConfig);
32
33
  };
33
34
  var compileByBabel = function() {
34
35
  var _ref = _async_to_generator(function(appDirectory, config, compileOptions) {
35
- var sourceDirs, distDir, tsconfigPath, results;
36
+ var sourceDirs, distDir, tsconfigPath, moduleType, isEsm, results;
36
37
  return _ts_generator(this, function(_state) {
37
38
  switch (_state.label) {
38
39
  case 0:
39
- sourceDirs = compileOptions.sourceDirs, distDir = compileOptions.distDir, tsconfigPath = compileOptions.tsconfigPath;
40
+ sourceDirs = compileOptions.sourceDirs, distDir = compileOptions.distDir, tsconfigPath = compileOptions.tsconfigPath, moduleType = compileOptions.moduleType;
41
+ isEsm = moduleType === "module";
40
42
  return [
41
43
  4,
42
44
  Promise.all(sourceDirs.map(function() {
@@ -47,7 +49,7 @@ var compileByBabel = function() {
47
49
  case 0:
48
50
  babelConfig = resolveBabelConfig(appDirectory, config, {
49
51
  tsconfigPath: tsconfigPath ? tsconfigPath : ""
50
- });
52
+ }, isEsm);
51
53
  return [
52
54
  4,
53
55
  fs.pathExists(sourceDir)
@@ -2,10 +2,11 @@ import { getBabelConfigForNode } from "@modern-js/babel-preset/node";
2
2
  import { aliasPlugin } from "./alias";
3
3
  var getBabelConfig = function(libPresetOption) {
4
4
  var _config_presets, _config_plugins;
5
+ var isEsm = libPresetOption.isEsm;
5
6
  var config = getBabelConfigForNode({
6
7
  presetEnv: {
7
8
  loose: true,
8
- modules: "commonjs",
9
+ modules: isEsm ? false : "commonjs",
9
10
  targets: [
10
11
  "node >= 14"
11
12
  ]
@@ -15,7 +15,7 @@ const existTsConfigFile = (tsconfigAbsolutePath) => {
15
15
  const tsconfig = readTsConfig(tsconfigAbsolutePath);
16
16
  return Boolean(tsconfig);
17
17
  };
18
- const resolveBabelConfig = (appDirectory, config, option) => {
18
+ const resolveBabelConfig = (appDirectory, config, option, isEsm) => {
19
19
  const { alias, babelConfig } = config;
20
20
  const aliasConfig = getAliasConfig(alias, {
21
21
  appDirectory,
@@ -23,16 +23,18 @@ const resolveBabelConfig = (appDirectory, config, option) => {
23
23
  });
24
24
  const defaultBabelConfig = getBabelConfig({
25
25
  appDirectory,
26
- alias: aliasConfig
26
+ alias: aliasConfig,
27
+ isEsm
27
28
  });
28
29
  return applyUserBabelConfig(defaultBabelConfig, babelConfig);
29
30
  };
30
31
  const compileByBabel = async (appDirectory, config, compileOptions) => {
31
- const { sourceDirs, distDir, tsconfigPath } = compileOptions;
32
+ const { sourceDirs, distDir, tsconfigPath, moduleType } = compileOptions;
33
+ const isEsm = moduleType === "module";
32
34
  const results = await Promise.all(sourceDirs.map(async (sourceDir) => {
33
35
  const babelConfig = resolveBabelConfig(appDirectory, config, {
34
36
  tsconfigPath: tsconfigPath ? tsconfigPath : ""
35
- });
37
+ }, isEsm);
36
38
  if (await fs.pathExists(sourceDir)) {
37
39
  const basename = path.basename(sourceDir);
38
40
  const targetDir = path.join(distDir, basename);
@@ -2,10 +2,11 @@ import { getBabelConfigForNode } from "@modern-js/babel-preset/node";
2
2
  import { aliasPlugin } from "./alias";
3
3
  const getBabelConfig = (libPresetOption) => {
4
4
  var _config_presets, _config_plugins;
5
+ const { isEsm } = libPresetOption;
5
6
  const config = getBabelConfigForNode({
6
7
  presetEnv: {
7
8
  loose: true,
8
- modules: "commonjs",
9
+ modules: isEsm ? false : "commonjs",
9
10
  targets: [
10
11
  "node >= 14"
11
12
  ]
@@ -15,6 +15,7 @@ export interface CompileOptions {
15
15
  sourceDirs: string[];
16
16
  distDir: string;
17
17
  tsconfigPath?: string;
18
+ moduleType?: 'module' | 'commonjs';
18
19
  }
19
20
  export type CompileFunc = (appDirectory: string, modernConfig: IConfig, compileOptions: CompileOptions) => Promise<void>;
20
21
  export declare const FILE_EXTENSIONS: string[];
@@ -1,4 +1,4 @@
1
- import { CompileFunc } from '../../common';
1
+ import { type CompileFunc } from '../../common';
2
2
  export * from '@babel/core';
3
3
  export interface ITsconfig {
4
4
  compilerOptions?: {
@@ -19,5 +19,5 @@ export declare const existTsConfigFile: (tsconfigAbsolutePath: string) => boolea
19
19
  export interface IPackageModeValue {
20
20
  tsconfigPath: string;
21
21
  }
22
- export declare const resolveBabelConfig: (appDirectory: string, config: Parameters<CompileFunc>[1], option: IPackageModeValue) => any;
22
+ export declare const resolveBabelConfig: (appDirectory: string, config: Parameters<CompileFunc>[1], option: IPackageModeValue, isEsm?: boolean) => any;
23
23
  export declare const compileByBabel: CompileFunc;
@@ -1,3 +1,3 @@
1
- import { PluginOptions } from '@babel/core';
1
+ import type { PluginOptions } from '@babel/core';
2
2
  import type { AliasOption } from './types';
3
3
  export declare const aliasPlugin: (alias: AliasOption) => [string, PluginOptions];
@@ -1,4 +1,4 @@
1
- import { ILibPresetOption } from './types';
1
+ import type { ILibPresetOption } from './types';
2
2
  export declare const getBabelConfig: (libPresetOption: ILibPresetOption) => import("@babel/core").TransformOptions;
3
3
  export * from './types';
4
4
  export { applyUserBabelConfig } from '@modern-js/utils';
@@ -7,5 +7,6 @@ export interface AliasOption {
7
7
  export interface ILibPresetOption {
8
8
  appDirectory: string;
9
9
  alias?: AliasOption;
10
+ isEsm?: boolean;
10
11
  }
11
12
  export type JsxTransformRuntimeType = 'automatic' | 'classic';
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.58.0",
18
+ "version": "2.58.2",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -38,10 +38,10 @@
38
38
  "@babel/preset-typescript": "^7.24.7",
39
39
  "@swc/helpers": "0.5.3",
40
40
  "babel-plugin-transform-typescript-metadata": "^0.3.2",
41
- "@modern-js/babel-compiler": "2.58.0",
42
- "@modern-js/utils": "2.58.0",
43
- "@modern-js/babel-plugin-module-resolver": "2.58.0",
44
- "@modern-js/babel-preset": "2.58.0"
41
+ "@modern-js/babel-compiler": "2.58.2",
42
+ "@modern-js/babel-plugin-module-resolver": "2.58.2",
43
+ "@modern-js/babel-preset": "2.58.2",
44
+ "@modern-js/utils": "2.58.2"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/babel__core": "^7.20.5",
@@ -50,9 +50,9 @@
50
50
  "jest": "^29",
51
51
  "ts-jest": "^29.1.0",
52
52
  "typescript": "^5",
53
- "@modern-js/server-core": "2.58.0",
54
- "@scripts/build": "2.58.0",
55
- "@scripts/jest-config": "2.58.0"
53
+ "@modern-js/server-core": "2.58.2",
54
+ "@scripts/build": "2.58.2",
55
+ "@scripts/jest-config": "2.58.2"
56
56
  },
57
57
  "sideEffects": false,
58
58
  "publishConfig": {