@modern-js/app-tools 2.62.1-alpha.0 → 2.62.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 +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 -13
  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, 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: `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,13 +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
- version: string;
12
- }
13
- export declare function run({ cwd, 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;