@modern-js/app-tools 2.62.0 → 2.62.1-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/bin/modern.js +2 -2
  2. package/dist/cjs/index.js +4 -142
  3. package/dist/cjs/new/compat/hooks.js +160 -0
  4. package/dist/cjs/new/compat/index.js +52 -0
  5. package/dist/cjs/new/compat/utils.js +95 -0
  6. package/dist/cjs/new/constants.js +37 -0
  7. package/dist/cjs/new/context.js +63 -0
  8. package/dist/cjs/new/getConfigFile.js +41 -0
  9. package/dist/cjs/new/index.js +76 -0
  10. package/dist/cjs/new/loadPlugins.js +57 -0
  11. package/dist/cjs/new/run.js +66 -0
  12. package/dist/cjs/new/types/index.js +16 -0
  13. package/dist/cjs/new/utils/index.js +34 -0
  14. package/dist/cjs/old.js +179 -0
  15. package/dist/esm/index.js +2 -248
  16. package/dist/esm/new/compat/hooks.js +418 -0
  17. package/dist/esm/new/compat/index.js +30 -0
  18. package/dist/esm/new/compat/utils.js +69 -0
  19. package/dist/esm/new/constants.js +10 -0
  20. package/dist/esm/new/context.js +30 -0
  21. package/dist/esm/new/getConfigFile.js +11 -0
  22. package/dist/esm/new/index.js +52 -0
  23. package/dist/esm/new/loadPlugins.js +94 -0
  24. package/dist/esm/new/run.js +79 -0
  25. package/dist/esm/new/types/index.js +0 -0
  26. package/dist/esm/new/utils/index.js +33 -0
  27. package/dist/esm/old.js +258 -0
  28. package/dist/esm-node/index.js +2 -130
  29. package/dist/esm-node/new/compat/hooks.js +135 -0
  30. package/dist/esm-node/new/compat/index.js +28 -0
  31. package/dist/esm-node/new/compat/utils.js +69 -0
  32. package/dist/esm-node/new/constants.js +10 -0
  33. package/dist/esm-node/new/context.js +29 -0
  34. package/dist/esm-node/new/getConfigFile.js +7 -0
  35. package/dist/esm-node/new/index.js +49 -0
  36. package/dist/esm-node/new/loadPlugins.js +33 -0
  37. package/dist/esm-node/new/run.js +42 -0
  38. package/dist/esm-node/new/types/index.js +0 -0
  39. package/dist/esm-node/new/utils/index.js +10 -0
  40. package/dist/esm-node/old.js +140 -0
  41. package/dist/types/index.d.ts +2 -6
  42. package/dist/types/new/compat/hooks.d.ts +8 -0
  43. package/dist/types/new/compat/index.d.ts +4 -0
  44. package/dist/types/new/compat/utils.d.ts +6 -0
  45. package/dist/types/new/constants.d.ts +4 -0
  46. package/dist/types/new/context.d.ts +32 -0
  47. package/dist/types/new/getConfigFile.d.ts +1 -0
  48. package/dist/types/new/index.d.ts +15 -0
  49. package/dist/types/new/loadPlugins.d.ts +9 -0
  50. package/dist/types/new/run.d.ts +14 -0
  51. package/dist/types/new/types/index.d.ts +89 -0
  52. package/dist/types/new/utils/index.d.ts +1 -0
  53. package/dist/types/old.d.ts +20 -0
  54. package/package.json +16 -8
@@ -1,139 +1,11 @@
1
- import path from "path";
2
- import { getLocaleLanguage } from "@modern-js/plugin-i18n/language-detector";
3
- import { castArray } from "@modern-js/uni-builder";
4
- import { cleanRequireCache, deprecatedCommands, emptyDir, getArgv, getCommand } from "@modern-js/utils";
5
- import { hooks } from "./hooks";
6
- import { i18n } from "./locale";
7
- import analyzePlugin from "./plugins/analyze";
8
- import deployPlugin from "./plugins/deploy";
9
- import initializePlugin from "./plugins/initialize";
10
- import serverBuildPlugin from "./plugins/serverBuild";
11
- import { buildCommand, deployCommand, devCommand, inspectCommand, newCommand, serverCommand, upgradeCommand } from "./commands";
12
- import { generateWatchFiles } from "./utils/generateWatchFiles";
13
- import { restart } from "./utils/restart";
1
+ import { appTools } from "./new/index";
2
+ export * from "./new/index";
14
3
  import { dev } from "./commands/dev";
15
4
  import { mergeConfig } from "@modern-js/core";
16
5
  export * from "./defineConfig";
17
6
  export * from "./types";
18
- const appTools = (options = {
19
- // default webpack to be compatible with original projects
20
- bundler: "webpack"
21
- }) => ({
22
- name: "@modern-js/app-tools",
23
- post: [
24
- "@modern-js/plugin-initialize",
25
- "@modern-js/plugin-analyze",
26
- "@modern-js/plugin-ssr",
27
- "@modern-js/plugin-document",
28
- "@modern-js/plugin-state",
29
- "@modern-js/plugin-router",
30
- "@modern-js/plugin-router-v5",
31
- "@modern-js/plugin-polyfill"
32
- ],
33
- registerHook: hooks,
34
- usePlugins: [
35
- initializePlugin({
36
- bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
37
- "rspack",
38
- "experimental-rspack"
39
- ].includes(options.bundler) ? "rspack" : "webpack"
40
- }),
41
- analyzePlugin({
42
- bundler: (options === null || options === void 0 ? void 0 : options.bundler) && [
43
- "rspack",
44
- "experimental-rspack"
45
- ].includes(options.bundler) ? "rspack" : "webpack"
46
- }),
47
- serverBuildPlugin(),
48
- deployPlugin()
49
- ],
50
- setup: (api) => {
51
- const appContext = api.useAppContext();
52
- api.setAppContext({
53
- ...appContext,
54
- toolsType: "app-tools"
55
- });
56
- const locale = getLocaleLanguage();
57
- i18n.changeLanguage({
58
- locale
59
- });
60
- return {
61
- async beforeConfig() {
62
- var _userConfig_output;
63
- const userConfig = api.useConfigContext();
64
- const appContext2 = api.useAppContext();
65
- if ((_userConfig_output = userConfig.output) === null || _userConfig_output === void 0 ? void 0 : _userConfig_output.tempDir) {
66
- api.setAppContext({
67
- ...appContext2,
68
- internalDirectory: path.resolve(appContext2.appDirectory, userConfig.output.tempDir)
69
- });
70
- }
71
- },
72
- async commands({ program }) {
73
- await devCommand(program, api);
74
- await buildCommand(program, api);
75
- serverCommand(program, api);
76
- deployCommand(program, api);
77
- newCommand(program, locale);
78
- inspectCommand(program, api);
79
- upgradeCommand(program);
80
- deprecatedCommands(program);
81
- },
82
- async prepare() {
83
- const command = getCommand();
84
- if (command === "deploy") {
85
- const isSkipBuild = [
86
- "-s",
87
- "--skip-build"
88
- ].some((tag) => {
89
- return getArgv().includes(tag);
90
- });
91
- if (isSkipBuild) {
92
- return;
93
- }
94
- }
95
- if (command === "dev" || command === "start" || command === "build" || command === "deploy") {
96
- const resolvedConfig = api.useResolvedConfigContext();
97
- if (resolvedConfig.output.cleanDistPath) {
98
- const appContext2 = api.useAppContext();
99
- await emptyDir(appContext2.distDirectory);
100
- }
101
- }
102
- },
103
- async watchFiles() {
104
- const appContext2 = api.useAppContext();
105
- const config = api.useResolvedConfigContext();
106
- const files = await generateWatchFiles(appContext2, config.source.configDir);
107
- const watchFiles = castArray(config.dev.watchFiles);
108
- watchFiles.forEach(({ type, paths }) => {
109
- if (type === "reload-server") {
110
- files.push(...Array.isArray(paths) ? paths : [
111
- paths
112
- ]);
113
- }
114
- });
115
- return files;
116
- },
117
- // 这里会被 core/initWatcher 监听的文件变动触发,如果是 src 目录下的文件变动,则不做 restart
118
- async fileChange(e) {
119
- const { filename, eventType, isPrivate } = e;
120
- if (!isPrivate && (eventType === "change" || eventType === "unlink")) {
121
- const { closeServer } = await import("./utils/createServer.js");
122
- await closeServer();
123
- await restart(api.useHookRunners(), filename);
124
- }
125
- },
126
- async beforeRestart() {
127
- cleanRequireCache([
128
- require.resolve("./plugins/analyze")
129
- ]);
130
- }
131
- };
132
- }
133
- });
134
7
  var src_default = appTools;
135
8
  export {
136
- appTools,
137
9
  src_default as default,
138
10
  dev,
139
11
  mergeConfig
@@ -0,0 +1,135 @@
1
+ import { transformHookParams, transformHookResult, transformHookRunner } from "./utils";
2
+ function getHookRunners(context) {
3
+ const { hooks } = context;
4
+ return {
5
+ /**
6
+ * app tools hooks
7
+ */
8
+ beforeConfig: async () => {
9
+ return hooks.onBeforeConfig.call();
10
+ },
11
+ afterPrepare: async () => {
12
+ return hooks.onAfterPrepare.call();
13
+ },
14
+ deploy: async () => {
15
+ return hooks.deploy.call();
16
+ },
17
+ _internalRuntimePlugins: async (params) => {
18
+ return hooks._internalRuntimePlugins.call(params);
19
+ },
20
+ _internalServerPlugins: async (params) => {
21
+ return hooks._internalServerPlugins.call(params);
22
+ },
23
+ checkEntryPoint: async (params) => {
24
+ return hooks.checkEntryPoint.call(params);
25
+ },
26
+ modifyEntrypoints: async (params) => {
27
+ return hooks.modifyEntrypoints.call(params);
28
+ },
29
+ modifyFileSystemRoutes: async (params) => {
30
+ return hooks.modifyFileSystemRoutes.call(params);
31
+ },
32
+ modifyServerRoutes: async (params) => {
33
+ return hooks.modifyServerRoutes.call(params);
34
+ },
35
+ generateEntryCode: async (params) => {
36
+ return hooks.generateEntryCode.call(params);
37
+ },
38
+ beforeGenerateRoutes: async (params) => {
39
+ return hooks.onBeforeGenerateRoutes.call(params);
40
+ },
41
+ beforePrintInstructions: async (params) => {
42
+ return hooks.onBeforePrintInstructions.call(params);
43
+ },
44
+ /**
45
+ * common hooks
46
+ */
47
+ config: async () => {
48
+ return hooks.config.call();
49
+ },
50
+ resolvedConfig: (params) => {
51
+ return hooks.modifyResolvedConfig.call(params);
52
+ },
53
+ htmlPartials: async (params) => {
54
+ return hooks.modifyHtmlPartials.call(params);
55
+ },
56
+ commands: async (params) => {
57
+ return hooks.addCommand.call(params);
58
+ },
59
+ watchFiles: async () => {
60
+ return hooks.addWatchFiles.call();
61
+ },
62
+ prepare: async () => {
63
+ return hooks.onPrepare.call();
64
+ },
65
+ filedChange: async (params) => {
66
+ return hooks.onFileChanged.call(params);
67
+ },
68
+ beforeCreateCompiler: async (params) => {
69
+ return hooks.onBeforeCreateCompiler.call(params);
70
+ },
71
+ afterCreateCompiler: async (params) => {
72
+ return hooks.onAfterCreateCompiler.call(params);
73
+ },
74
+ beforeBuild: async (params) => {
75
+ return hooks.onBeforeBuild.call(params);
76
+ },
77
+ afterBuild: async (params) => {
78
+ return hooks.onAfterBuild.call(params);
79
+ },
80
+ beforeDev: async () => {
81
+ return hooks.onBeforeDev.call();
82
+ },
83
+ afterDev: async (params) => {
84
+ return hooks.onAfterDev.call(params);
85
+ },
86
+ beforeDeploy: async () => {
87
+ return hooks.onBeforeDeploy.call();
88
+ },
89
+ afterDeploy: async () => {
90
+ return hooks.onAfterDeploy.call();
91
+ },
92
+ beforeExit: async () => {
93
+ return hooks.onBeforeExit.call();
94
+ },
95
+ beforeRestart: async () => {
96
+ return hooks.onBeforeRestart.call();
97
+ },
98
+ /**
99
+ * @deprecated
100
+ */
101
+ registerDev: async (params) => {
102
+ return hooks.registerDev.call(params);
103
+ },
104
+ /**
105
+ * @deprecated
106
+ */
107
+ registerBuildPlatform: async (params) => {
108
+ return hooks.registerBuildPlatform.call(params);
109
+ },
110
+ /**
111
+ * @deprecated
112
+ */
113
+ addRuntimeExports: async (params) => {
114
+ return hooks.addRuntimeExports.call(params);
115
+ }
116
+ };
117
+ }
118
+ function handleSetupResult(setupResult, api) {
119
+ if (!setupResult) {
120
+ return;
121
+ }
122
+ Object.keys(setupResult).forEach((key) => {
123
+ const fn = setupResult[key];
124
+ if (typeof fn === "function") {
125
+ const newAPI = transformHookRunner(key);
126
+ if (api[newAPI]) {
127
+ api[newAPI](async (params) => transformHookResult(key, await fn(transformHookParams(key, params))));
128
+ }
129
+ }
130
+ });
131
+ }
132
+ export {
133
+ getHookRunners,
134
+ handleSetupResult
135
+ };
@@ -0,0 +1,28 @@
1
+ import { getHookRunners } from "./hooks";
2
+ const compatPlugin = () => ({
3
+ name: "@modern-js/app-tools-compat",
4
+ registryApi: (context, updateAppContext) => {
5
+ return {
6
+ useAppContext: () => {
7
+ return context;
8
+ },
9
+ setAppContext: (context2) => {
10
+ return updateAppContext(context2);
11
+ },
12
+ useConfigContext: () => {
13
+ return context.config;
14
+ },
15
+ useResolvedConfigContext: () => {
16
+ return context.normalizedConfig;
17
+ },
18
+ useHookRunners: () => {
19
+ return getHookRunners(context);
20
+ }
21
+ };
22
+ },
23
+ setup: (_api) => {
24
+ }
25
+ });
26
+ export {
27
+ compatPlugin
28
+ };
@@ -0,0 +1,69 @@
1
+ function transformHookRunner(hookRunnerName) {
2
+ switch (hookRunnerName) {
3
+ case "beforeConfig":
4
+ return "onBeforeConfig";
5
+ case "prepare":
6
+ return "onPrepare";
7
+ case "afterPrepare":
8
+ return "onAfterPrepare";
9
+ case "beforeGenerateRoutes":
10
+ return "onBeforeGenerateRoutes";
11
+ case "beforePrintInstructions":
12
+ return "onBeforePrintInstructions";
13
+ case "resolvedConfig":
14
+ return "modifyResolvedConfig";
15
+ case "commands":
16
+ return "addCommand";
17
+ case "watchFiles":
18
+ return "addWatchFiles";
19
+ case "filedChange":
20
+ return "onFileChanged";
21
+ case "beforeCreateCompiler":
22
+ return "onBeforeCreateCompiler";
23
+ case "afterCreateCompiler":
24
+ return "onAfterCreateCompiler";
25
+ case "beforeBuild":
26
+ return "onBeforeBuild";
27
+ case "afterBuild":
28
+ return "onAfterBuild";
29
+ case "beforeDev":
30
+ return "onBeforeDev";
31
+ case "afterDev":
32
+ return "onAfterDev";
33
+ case "beforeDeploy":
34
+ return "onBeforeDeploy";
35
+ case "afterDeploy":
36
+ return "onAfterDeploy";
37
+ case "beforeExit":
38
+ return "onBeforeExit";
39
+ case "beforeRestart":
40
+ return "onBeforeRestart";
41
+ case "htmlPartials":
42
+ return "modifyHtmlPartials";
43
+ default:
44
+ return hookRunnerName;
45
+ }
46
+ }
47
+ function transformHookParams(hookRunnerName, params) {
48
+ switch (hookRunnerName) {
49
+ case "resolvedConfig":
50
+ return {
51
+ resolved: params
52
+ };
53
+ default:
54
+ return params;
55
+ }
56
+ }
57
+ function transformHookResult(hookRunnerName, result) {
58
+ switch (hookRunnerName) {
59
+ case "resolvedConfig":
60
+ return result.resolved;
61
+ default:
62
+ return result;
63
+ }
64
+ }
65
+ export {
66
+ transformHookParams,
67
+ transformHookResult,
68
+ transformHookRunner
69
+ };
@@ -0,0 +1,10 @@
1
+ const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
2
+ const DEFAULT_CONFIG_FILE = "modern.config";
3
+ const DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
4
+ const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
5
+ export {
6
+ DEFAULT_CONFIG_FILE,
7
+ DEFAULT_RUNTIME_CONFIG_FILE,
8
+ DEFAULT_SERVER_CONFIG_FILE,
9
+ PACKAGE_JSON_CONFIG_NAME
10
+ };
@@ -0,0 +1,29 @@
1
+ import path from "path";
2
+ import { address } from "@modern-js/utils";
3
+ const initAppContext = ({ appDirectory, runtimeConfigFile, options, serverConfigFile }) => {
4
+ const { metaName = "modern-js", apiDir = "api", distDir = "", sharedDir = "shared" } = options || {};
5
+ return {
6
+ metaName,
7
+ runtimeConfigFile,
8
+ serverConfigFile,
9
+ ip: address.ip(),
10
+ port: 0,
11
+ moduleType: require(path.resolve(appDirectory, "./package.json")).type || "commonjs",
12
+ apiDirectory: path.resolve(appDirectory, apiDir),
13
+ lambdaDirectory: path.resolve(appDirectory, apiDir, "lambda"),
14
+ sharedDirectory: path.resolve(appDirectory, sharedDir),
15
+ distDirectory: distDir,
16
+ serverPlugins: [],
17
+ internalDirectory: path.resolve(appDirectory, `./node_modules/.${metaName}`),
18
+ htmlTemplates: {},
19
+ serverRoutes: [],
20
+ entrypoints: [],
21
+ checkedEntries: [],
22
+ apiOnly: false,
23
+ internalDirAlias: `@_${metaName.replace(/-/g, "_")}_internal`,
24
+ internalSrcAlias: `@_${metaName.replace(/-/g, "_")}_src`
25
+ };
26
+ };
27
+ export {
28
+ initAppContext
29
+ };
@@ -0,0 +1,7 @@
1
+ import path from "path";
2
+ import { CONFIG_FILE_EXTENSIONS, findExists } from "@modern-js/utils";
3
+ import { DEFAULT_CONFIG_FILE } from "./constants";
4
+ const getConfigFile = (configFile) => findExists(CONFIG_FILE_EXTENSIONS.map((extension) => path.resolve(process.cwd(), `${configFile || DEFAULT_CONFIG_FILE}${extension}`)));
5
+ export {
6
+ getConfigFile
7
+ };
@@ -0,0 +1,49 @@
1
+ import { createAsyncHook } from "@modern-js/plugin-v2";
2
+ import { appTools as oldAppTools } from "../old";
3
+ import { compatPlugin } from "./compat";
4
+ import { DEFAULT_RUNTIME_CONFIG_FILE, DEFAULT_SERVER_CONFIG_FILE } from "./constants";
5
+ import { initAppContext } from "./context";
6
+ export * from "../defineConfig";
7
+ const appTools = (options = {
8
+ // default webpack to be compatible with original projects
9
+ bundler: "webpack"
10
+ }) => ({
11
+ name: "@modern-js/app-tools",
12
+ usePlugins: [
13
+ compatPlugin(),
14
+ oldAppTools(options)
15
+ ],
16
+ post: [
17
+ "@modern-js/app-tools-old"
18
+ ],
19
+ registryHooks: {
20
+ onBeforeConfig: createAsyncHook(),
21
+ onAfterPrepare: createAsyncHook(),
22
+ deploy: createAsyncHook(),
23
+ _internalRuntimePlugins: createAsyncHook(),
24
+ _internalServerPlugins: createAsyncHook(),
25
+ checkEntryPoint: createAsyncHook(),
26
+ modifyEntrypoints: createAsyncHook(),
27
+ modifyFileSystemRoutes: createAsyncHook(),
28
+ modifyServerRoutes: createAsyncHook(),
29
+ generateEntryCode: createAsyncHook(),
30
+ onBeforeGenerateRoutes: createAsyncHook(),
31
+ onBeforePrintInstructions: createAsyncHook(),
32
+ registerDev: createAsyncHook(),
33
+ registerBuildPlatform: createAsyncHook(),
34
+ addRuntimeExports: createAsyncHook()
35
+ },
36
+ setup: (api) => {
37
+ const context = api.getAppContext();
38
+ api.updateAppContext(initAppContext({
39
+ appDirectory: context.appDirectory,
40
+ options: {},
41
+ serverConfigFile: DEFAULT_SERVER_CONFIG_FILE,
42
+ runtimeConfigFile: DEFAULT_RUNTIME_CONFIG_FILE
43
+ }));
44
+ }
45
+ });
46
+ export {
47
+ appTools,
48
+ initAppContext
49
+ };
@@ -0,0 +1,33 @@
1
+ import { compatibleRequire, createDebugger, dynamicImport, getInternalPlugins, tryResolve } from "@modern-js/utils";
2
+ const debug = createDebugger("load-plugins");
3
+ const resolveCliPlugin = async (p, appDirectory) => {
4
+ const pkg = typeof p === "string" ? p : p[0];
5
+ const pluginOptions = typeof p === "string" ? void 0 : p[1];
6
+ const path = tryResolve(pkg, appDirectory);
7
+ let module;
8
+ try {
9
+ module = await compatibleRequire(path);
10
+ } catch (e) {
11
+ ({ default: module } = await dynamicImport(path));
12
+ }
13
+ if (typeof module === "function") {
14
+ const result = module(pluginOptions);
15
+ return result;
16
+ }
17
+ return module;
18
+ };
19
+ const loadInternalPlugins = async (appDirectory, internalPlugins, autoLoad, autoLoadPlugins, forceAutoLoadPlugins) => {
20
+ const plugins = [
21
+ ...forceAutoLoadPlugins || autoLoadPlugins ? getInternalPlugins(appDirectory, internalPlugins) : [],
22
+ ...autoLoad ? getInternalPlugins(appDirectory, autoLoad) : []
23
+ ];
24
+ const loadedPlugins = await Promise.all(plugins.map((plugin) => {
25
+ const loadedPlugin = resolveCliPlugin(plugin, appDirectory);
26
+ debug(`resolve plugin %s: %s`, plugin, loadedPlugin);
27
+ return loadedPlugin;
28
+ }));
29
+ return loadedPlugins;
30
+ };
31
+ export {
32
+ loadInternalPlugins
33
+ };
@@ -0,0 +1,42 @@
1
+ import { initAppDir } from "@modern-js/plugin-v2/cli";
2
+ import { run as CLIPluginRun } from "@modern-js/plugin-v2/run";
3
+ import { minimist } from "@modern-js/utils";
4
+ import { handleSetupResult } from "./compat/hooks";
5
+ import { PACKAGE_JSON_CONFIG_NAME } from "./constants";
6
+ import { getConfigFile } from "./getConfigFile";
7
+ import { loadInternalPlugins } from "./loadPlugins";
8
+ import { getIsAutoLoadPlugins } from "./utils";
9
+ async function run({ cwd, initialLog, version, internalPlugins, forceAutoLoadPlugins, packageJsonConfig, configFile }) {
10
+ const command = process.argv[2];
11
+ const cliParams = minimist(process.argv.slice(2));
12
+ const SUPPORT_CONFIG_PARAM_COMMANDS = [
13
+ "dev",
14
+ "build",
15
+ "deploy",
16
+ "start",
17
+ "serve",
18
+ "inspect",
19
+ "upgrade"
20
+ ];
21
+ let customConfigFile;
22
+ if (SUPPORT_CONFIG_PARAM_COMMANDS.includes(command)) {
23
+ customConfigFile = cliParams.config || cliParams.c;
24
+ }
25
+ if (command === "new") {
26
+ customConfigFile = cliParams["config-file"];
27
+ }
28
+ const appDirectory = await initAppDir(cwd);
29
+ const autoLoadPlugins = await getIsAutoLoadPlugins(appDirectory, customConfigFile || getConfigFile(configFile));
30
+ const plugins = await loadInternalPlugins(appDirectory, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.cli, internalPlugins === null || internalPlugins === void 0 ? void 0 : internalPlugins.autoLoad, autoLoadPlugins, forceAutoLoadPlugins);
31
+ await CLIPluginRun({
32
+ cwd,
33
+ initialLog: initialLog || `Modern.js Framework v${version}`,
34
+ configFile: customConfigFile || getConfigFile(configFile),
35
+ packageJsonConfig: packageJsonConfig || PACKAGE_JSON_CONFIG_NAME,
36
+ internalPlugins: plugins,
37
+ handleSetupResult
38
+ });
39
+ }
40
+ export {
41
+ run
42
+ };
File without changes
@@ -0,0 +1,10 @@
1
+ import { createLoadedConfig } from "@modern-js/plugin-v2/cli";
2
+ async function getIsAutoLoadPlugins(appDirectory, configFile = "modern.config.ts", packageJsonConfig = "ModernConfig") {
3
+ var _loaded_config;
4
+ const loaded = await createLoadedConfig(appDirectory, configFile, packageJsonConfig);
5
+ const autoLoadPlugins = (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.autoLoadPlugins;
6
+ return autoLoadPlugins || false;
7
+ }
8
+ export {
9
+ getIsAutoLoadPlugins
10
+ };