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

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.
Files changed (54) hide show
  1. package/bin/modern.js +2 -2
  2. package/dist/cjs/index.js +142 -4
  3. package/dist/esm/index.js +248 -2
  4. package/dist/esm-node/index.js +130 -2
  5. package/dist/types/index.d.ts +6 -2
  6. package/package.json +18 -26
  7. package/dist/cjs/new/compat/hooks.js +0 -160
  8. package/dist/cjs/new/compat/index.js +0 -52
  9. package/dist/cjs/new/compat/utils.js +0 -95
  10. package/dist/cjs/new/constants.js +0 -37
  11. package/dist/cjs/new/context.js +0 -63
  12. package/dist/cjs/new/getConfigFile.js +0 -41
  13. package/dist/cjs/new/index.js +0 -76
  14. package/dist/cjs/new/loadPlugins.js +0 -57
  15. package/dist/cjs/new/run.js +0 -66
  16. package/dist/cjs/new/types/index.js +0 -16
  17. package/dist/cjs/new/utils/index.js +0 -34
  18. package/dist/cjs/old.js +0 -179
  19. package/dist/esm/new/compat/hooks.js +0 -418
  20. package/dist/esm/new/compat/index.js +0 -30
  21. package/dist/esm/new/compat/utils.js +0 -69
  22. package/dist/esm/new/constants.js +0 -10
  23. package/dist/esm/new/context.js +0 -30
  24. package/dist/esm/new/getConfigFile.js +0 -11
  25. package/dist/esm/new/index.js +0 -52
  26. package/dist/esm/new/loadPlugins.js +0 -94
  27. package/dist/esm/new/run.js +0 -79
  28. package/dist/esm/new/types/index.js +0 -0
  29. package/dist/esm/new/utils/index.js +0 -33
  30. package/dist/esm/old.js +0 -258
  31. package/dist/esm-node/new/compat/hooks.js +0 -135
  32. package/dist/esm-node/new/compat/index.js +0 -28
  33. package/dist/esm-node/new/compat/utils.js +0 -69
  34. package/dist/esm-node/new/constants.js +0 -10
  35. package/dist/esm-node/new/context.js +0 -29
  36. package/dist/esm-node/new/getConfigFile.js +0 -7
  37. package/dist/esm-node/new/index.js +0 -49
  38. package/dist/esm-node/new/loadPlugins.js +0 -33
  39. package/dist/esm-node/new/run.js +0 -42
  40. package/dist/esm-node/new/types/index.js +0 -0
  41. package/dist/esm-node/new/utils/index.js +0 -10
  42. package/dist/esm-node/old.js +0 -140
  43. package/dist/types/new/compat/hooks.d.ts +0 -8
  44. package/dist/types/new/compat/index.d.ts +0 -4
  45. package/dist/types/new/compat/utils.d.ts +0 -6
  46. package/dist/types/new/constants.d.ts +0 -4
  47. package/dist/types/new/context.d.ts +0 -32
  48. package/dist/types/new/getConfigFile.d.ts +0 -1
  49. package/dist/types/new/index.d.ts +0 -15
  50. package/dist/types/new/loadPlugins.d.ts +0 -9
  51. package/dist/types/new/run.d.ts +0 -14
  52. package/dist/types/new/types/index.d.ts +0 -89
  53. package/dist/types/new/utils/index.d.ts +0 -1
  54. package/dist/types/old.d.ts +0 -20
@@ -1,10 +0,0 @@
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
- };
@@ -1,29 +0,0 @@
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
- };
@@ -1,7 +0,0 @@
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
- };
@@ -1,49 +0,0 @@
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
- };
@@ -1,33 +0,0 @@
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
- };
@@ -1,42 +0,0 @@
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
@@ -1,10 +0,0 @@
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
- };
@@ -1,140 +0,0 @@
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";
14
- import { dev } from "./commands/dev";
15
- import { mergeConfig } from "@modern-js/core";
16
- export * from "./defineConfig";
17
- 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-old",
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
- var old_default = appTools;
135
- export {
136
- appTools,
137
- old_default as default,
138
- dev,
139
- mergeConfig
140
- };
@@ -1,8 +0,0 @@
1
- import type { InternalContext } from '@modern-js/plugin-v2';
2
- import type { AppToolsNormalizedConfig, AppToolsUserConfig } from '../../types';
3
- import type { AppToolsExtendAPIName } from '../types';
4
- /**
5
- * old plugin useHookRunners function result
6
- */
7
- export declare function getHookRunners(context: InternalContext<AppToolsUserConfig<'shared'>, AppToolsNormalizedConfig, AppToolsExtendAPIName<'shared'>>): Record<string, any>;
8
- export declare function handleSetupResult(setupResult: Record<string, (...args: any) => any>, api: Record<string, any>): void;
@@ -1,4 +0,0 @@
1
- import type { InternalContext, Plugin } from '@modern-js/plugin-v2';
2
- import type { AppToolsNormalizedConfig, AppToolsUserConfig } from '../../types/config';
3
- import type { AppTools, AppToolsExtendAPIName } from '../types';
4
- export declare const compatPlugin: () => Plugin<AppTools<'shared'>, InternalContext<AppToolsUserConfig<'shared'>, AppToolsNormalizedConfig, AppToolsExtendAPIName<'shared'>>>;
@@ -1,6 +0,0 @@
1
- /**
2
- * Maps old plugin hook function names to new plugin API names
3
- */
4
- export declare function transformHookRunner(hookRunnerName: string): string;
5
- export declare function transformHookParams(hookRunnerName: string, params: any): any;
6
- export declare function transformHookResult(hookRunnerName: string, result: any): any;
@@ -1,4 +0,0 @@
1
- export declare const PACKAGE_JSON_CONFIG_NAME = "modernConfig";
2
- export declare const DEFAULT_CONFIG_FILE = "modern.config";
3
- export declare const DEFAULT_SERVER_CONFIG_FILE = "modern.server-runtime.config";
4
- export declare const DEFAULT_RUNTIME_CONFIG_FILE = "modern.runtime";
@@ -1,32 +0,0 @@
1
- export declare const initAppContext: ({ appDirectory, runtimeConfigFile, options, serverConfigFile, }: {
2
- appDirectory: string;
3
- runtimeConfigFile: string | false;
4
- options?: {
5
- metaName?: string | undefined;
6
- srcDir?: string | undefined;
7
- apiDir?: string | undefined;
8
- distDir?: string | undefined;
9
- sharedDir?: string | undefined;
10
- } | undefined;
11
- serverConfigFile: string;
12
- }) => {
13
- metaName: string;
14
- runtimeConfigFile: string | false;
15
- serverConfigFile: string;
16
- ip: any;
17
- port: number;
18
- moduleType: any;
19
- apiDirectory: string;
20
- lambdaDirectory: string;
21
- sharedDirectory: string;
22
- distDirectory: string;
23
- serverPlugins: never[];
24
- internalDirectory: string;
25
- htmlTemplates: {};
26
- serverRoutes: never[];
27
- entrypoints: never[];
28
- checkedEntries: never[];
29
- apiOnly: boolean;
30
- internalDirAlias: string;
31
- internalSrcAlias: string;
32
- };
@@ -1 +0,0 @@
1
- export declare const getConfigFile: (configFile?: string) => string | false;
@@ -1,15 +0,0 @@
1
- import type { InternalContext, Plugin } from '@modern-js/plugin-v2';
2
- import type { AppToolsNormalizedConfig, AppToolsUserConfig } from '../types';
3
- import { initAppContext } from './context';
4
- import type { AppTools, AppToolsExtendAPIName } from './types';
5
- export * from '../defineConfig';
6
- export { initAppContext };
7
- export type AppToolsOptions = {
8
- /**
9
- * Specify which bundler to use for the build.
10
- * @default `webpack`
11
- * */
12
- bundler?: 'rspack' | 'webpack' | 'experimental-rspack';
13
- };
14
- export type AppToolsPlugin = Plugin<AppTools<'shared'>, InternalContext<AppToolsUserConfig<'shared'>, AppToolsNormalizedConfig, AppToolsExtendAPIName<'shared'>>>;
15
- export declare const appTools: (options?: AppToolsOptions) => AppToolsPlugin;
@@ -1,9 +0,0 @@
1
- import type { Plugin } from '@modern-js/plugin-v2';
2
- import type { InternalPlugins } from '@modern-js/types';
3
- /**
4
- * Load internal plugins which in @modern-js scope and user's custom plugins.
5
- * @param appDirectory - Application root directory.
6
- * @param internalPlugins - Internal plugins.
7
- * @returns Plugin Objects has been required.
8
- */
9
- export declare const loadInternalPlugins: (appDirectory: string, internalPlugins?: InternalPlugins, autoLoad?: InternalPlugins, autoLoadPlugins?: boolean, forceAutoLoadPlugins?: boolean) => Promise<Plugin[]>;
@@ -1,14 +0,0 @@
1
- import type { InternalPlugins } from '@modern-js/types';
2
- export interface RunOptions {
3
- cwd?: string;
4
- configFile?: string;
5
- packageJsonConfig?: string;
6
- internalPlugins?: {
7
- cli?: InternalPlugins;
8
- autoLoad?: InternalPlugins;
9
- };
10
- forceAutoLoadPlugins?: boolean;
11
- initialLog?: string;
12
- version: string;
13
- }
14
- export declare function run({ cwd, initialLog, version, internalPlugins, forceAutoLoadPlugins, packageJsonConfig, configFile, }: RunOptions): Promise<void>;
@@ -1,89 +0,0 @@
1
- import type { DevToolData, RegisterBuildPlatformResult } from '@modern-js/core';
2
- import type { CLIPluginAPI, PluginHookTap, TransformFunction } from '@modern-js/plugin-v2';
3
- import type { AppContext } from '@modern-js/plugin-v2/dist/types';
4
- import type { Entrypoint, NestedRouteForCli, PageRoute, RouteLegacy, ServerPlugin, ServerRoute } from '@modern-js/types';
5
- import type { AppToolsNormalizedConfig, AppToolsUserConfig } from '../../types/config';
6
- import type { RuntimePlugin } from '../../types/hooks';
7
- import type { Bundler } from '../../types/utils';
8
- import type { getHookRunners } from '../compat/hooks';
9
- export type BeforeConfigFn = () => Promise<void> | void;
10
- export type AfterPrepareFn = () => Promise<void> | void;
11
- export type InternalRuntimePluginsFn = TransformFunction<{
12
- entrypoint: Entrypoint;
13
- plugins: RuntimePlugin[];
14
- }>;
15
- export type InternalServerPluginsFn = TransformFunction<{
16
- plugins: ServerPlugin[];
17
- }>;
18
- export type CheckEntryPointFn = TransformFunction<{
19
- path: string;
20
- entry: false | string;
21
- }>;
22
- export type ModifyEntrypointsFn = TransformFunction<Entrypoint[]>;
23
- export type ModifyFileSystemRoutesFn = TransformFunction<{
24
- entrypoint: Entrypoint;
25
- routes: RouteLegacy[] | (NestedRouteForCli | PageRoute)[];
26
- }>;
27
- export type ModifyServerRoutesFn = TransformFunction<{
28
- routes: ServerRoute[];
29
- }>;
30
- export type DeplpoyFn = () => Promise<void> | void;
31
- export type GenerateEntryCodeFn = (entrypoints: Entrypoint[]) => Promise<void> | void;
32
- export type BeforeGenerateRoutesFn = TransformFunction<{
33
- entrypoint: Entrypoint;
34
- code: string;
35
- }>;
36
- export type BeforePrintInstructionsFn = TransformFunction<{
37
- instructions: string;
38
- }>;
39
- export type RegisterDevFn = () => Promise<DevToolData> | DevToolData;
40
- export type RegisterBuildPlatformFn = () => Promise<RegisterBuildPlatformResult> | RegisterBuildPlatformResult;
41
- export type AddRuntimeExportsFn = () => Promise<void> | void;
42
- export interface AppToolsExtendAPI<B extends Bundler> {
43
- onBeforeConfig: PluginHookTap<BeforeConfigFn>;
44
- onAfterPrepare: PluginHookTap<AfterPrepareFn>;
45
- deploy: PluginHookTap<DeplpoyFn>;
46
- _internalRuntimePlugins: PluginHookTap<InternalRuntimePluginsFn>;
47
- _internalServerPlugins: PluginHookTap<InternalServerPluginsFn>;
48
- checkEntryPoint: PluginHookTap<CheckEntryPointFn>;
49
- modifyEntrypoints: PluginHookTap<ModifyEntrypointsFn>;
50
- modifyFileSystemRoutes: PluginHookTap<ModifyFileSystemRoutesFn>;
51
- modifyServerRoutes: PluginHookTap<ModifyServerRoutesFn>;
52
- generateEntryCode: PluginHookTap<GenerateEntryCodeFn>;
53
- onBeforeGenerateRoutes: PluginHookTap<BeforeGenerateRoutesFn>;
54
- /**
55
- * @deprecated
56
- */
57
- onBeforePrintInstructions: PluginHookTap<BeforePrintInstructionsFn>;
58
- /**
59
- * @deprecated
60
- */
61
- registerDev: PluginHookTap<RegisterDevFn>;
62
- /**
63
- * @deprecated
64
- */
65
- registerBuildPlatform: PluginHookTap<RegisterBuildPlatformFn>;
66
- /**
67
- * @deprecated
68
- */
69
- addRuntimeExports: PluginHookTap<AddRuntimeExportsFn>;
70
- /**
71
- * @deprecated use getAppContext instead
72
- */
73
- useAppContext: () => AppContext<AppToolsUserConfig<B>, AppToolsNormalizedConfig<AppToolsUserConfig<B>>>;
74
- /**
75
- * @deprecated use getConfig instead
76
- */
77
- useConfigContext: () => AppToolsUserConfig<B>;
78
- /**
79
- * @deprecated use getNormalizedConfig instead
80
- */
81
- useResolvedConfigContext: () => AppToolsNormalizedConfig<AppToolsUserConfig<B>>;
82
- /**
83
- * @deprecated use api.xx instead
84
- */
85
- useHookRunners: () => ReturnType<typeof getHookRunners>;
86
- }
87
- export interface AppTools<B extends Bundler> extends CLIPluginAPI<AppToolsUserConfig<B>, AppToolsNormalizedConfig<AppToolsUserConfig<B>>>, AppToolsExtendAPI<B> {
88
- }
89
- export type AppToolsExtendAPIName<B extends Bundler> = keyof AppToolsExtendAPI<B> & string;
@@ -1 +0,0 @@
1
- export declare function getIsAutoLoadPlugins(appDirectory: string, configFile?: string, packageJsonConfig?: string): Promise<boolean>;
@@ -1,20 +0,0 @@
1
- import type { CliPlugin } from '@modern-js/core';
2
- import type { AppTools } from './types';
3
- export { dev } from './commands/dev';
4
- export type { DevOptions } from './utils/types';
5
- export { mergeConfig } from '@modern-js/core';
6
- export * from './defineConfig';
7
- export * from './types';
8
- export type { RuntimeUserConfig } from './types/config';
9
- export type AppToolsOptions = {
10
- /**
11
- * Specify which bundler to use for the build.
12
- * @default `webpack`
13
- * */
14
- bundler?: 'rspack' | 'webpack' | 'experimental-rspack';
15
- };
16
- /**
17
- * The core package of the framework, providing CLI commands, build capabilities, configuration parsing and more.
18
- */
19
- export declare const appTools: (options?: AppToolsOptions) => CliPlugin<AppTools<'shared'>>;
20
- export default appTools;