@modern-js/runtime 2.53.0 → 2.54.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.
Files changed (123) hide show
  1. package/dist/cjs/{runtimeContext.js → cli/constants.js} +6 -10
  2. package/dist/cjs/cli/entry.js +42 -0
  3. package/dist/cjs/cli/index.js +10 -0
  4. package/dist/cjs/core/compatible.js +13 -29
  5. package/dist/cjs/core/{appConfig.js → config.js} +6 -4
  6. package/dist/cjs/core/context/index.js +28 -0
  7. package/dist/cjs/core/context/runtime.js +42 -0
  8. package/dist/cjs/core/index.js +8 -12
  9. package/dist/cjs/core/loader/useLoader.js +2 -2
  10. package/dist/cjs/core/{plugin.js → plugin/base.js} +5 -25
  11. package/dist/cjs/core/plugin/index.js +39 -0
  12. package/dist/cjs/core/plugin/runner.js +42 -0
  13. package/dist/cjs/index.js +2 -4
  14. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +197 -0
  15. package/dist/cjs/router/cli/code/getClientRoutes/getRoutesLegacy.js +195 -0
  16. package/dist/cjs/router/cli/code/getClientRoutes/index.js +31 -0
  17. package/dist/cjs/router/cli/code/getClientRoutes/utils.js +59 -0
  18. package/dist/cjs/router/cli/code/index.js +134 -0
  19. package/dist/cjs/router/cli/code/makeLegalIdentifier.js +37 -0
  20. package/dist/cjs/router/cli/code/nestedRoutes.js +294 -0
  21. package/dist/cjs/router/cli/code/templates.js +371 -0
  22. package/dist/cjs/router/cli/code/utils.js +143 -0
  23. package/dist/cjs/router/cli/constants.js +83 -0
  24. package/dist/cjs/router/cli/entry.js +87 -0
  25. package/dist/cjs/router/cli/handler.js +71 -0
  26. package/dist/cjs/router/cli/index.js +25 -0
  27. package/dist/cjs/router/runtime/plugin.js +7 -4
  28. package/dist/cjs/router/runtime/plugin.node.js +12 -5
  29. package/dist/cjs/ssr/index.node.js +1 -0
  30. package/dist/cjs/state/runtime/plugin.js +3 -2
  31. package/dist/esm/cli/constants.js +4 -0
  32. package/dist/esm/cli/entry.js +14 -0
  33. package/dist/esm/cli/index.js +10 -0
  34. package/dist/esm/core/compatible.js +11 -30
  35. package/dist/esm/core/{appConfig.js → config.js} +4 -1
  36. package/dist/esm/core/context/index.js +4 -0
  37. package/dist/esm/core/context/runtime.js +18 -0
  38. package/dist/esm/core/index.js +4 -6
  39. package/dist/esm/core/loader/useLoader.js +1 -1
  40. package/dist/esm/core/plugin/base.js +21 -0
  41. package/dist/esm/core/plugin/index.js +15 -0
  42. package/dist/esm/core/plugin/runner.js +17 -0
  43. package/dist/esm/index.js +2 -3
  44. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.js +185 -0
  45. package/dist/esm/router/cli/code/getClientRoutes/getRoutesLegacy.js +183 -0
  46. package/dist/esm/router/cli/code/getClientRoutes/index.js +6 -0
  47. package/dist/esm/router/cli/code/getClientRoutes/utils.js +28 -0
  48. package/dist/esm/router/cli/code/index.js +214 -0
  49. package/dist/esm/router/cli/code/makeLegalIdentifier.js +15 -0
  50. package/dist/esm/router/cli/code/nestedRoutes.js +397 -0
  51. package/dist/esm/router/cli/code/templates.js +417 -0
  52. package/dist/esm/router/cli/code/utils.js +212 -0
  53. package/dist/esm/router/cli/constants.js +47 -0
  54. package/dist/esm/router/cli/entry.js +57 -0
  55. package/dist/esm/router/cli/handler.js +103 -0
  56. package/dist/esm/router/cli/index.js +57 -0
  57. package/dist/esm/router/runtime/plugin.js +7 -4
  58. package/dist/esm/router/runtime/plugin.node.js +13 -6
  59. package/dist/esm/ssr/index.node.js +1 -0
  60. package/dist/esm/state/runtime/plugin.js +3 -2
  61. package/dist/esm-node/cli/constants.js +4 -0
  62. package/dist/esm-node/cli/entry.js +8 -0
  63. package/dist/esm-node/cli/index.js +9 -0
  64. package/dist/esm-node/core/compatible.js +12 -28
  65. package/dist/esm-node/core/{appConfig.js → config.js} +2 -1
  66. package/dist/esm-node/core/context/index.js +4 -0
  67. package/dist/esm-node/core/context/runtime.js +16 -0
  68. package/dist/esm-node/core/index.js +4 -6
  69. package/dist/esm-node/core/loader/useLoader.js +1 -1
  70. package/dist/esm-node/core/plugin/base.js +19 -0
  71. package/dist/esm-node/core/plugin/index.js +13 -0
  72. package/dist/esm-node/core/plugin/runner.js +17 -0
  73. package/dist/esm-node/index.js +2 -3
  74. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.js +163 -0
  75. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutesLegacy.js +161 -0
  76. package/dist/esm-node/router/cli/code/getClientRoutes/index.js +6 -0
  77. package/dist/esm-node/router/cli/code/getClientRoutes/utils.js +22 -0
  78. package/dist/esm-node/router/cli/code/index.js +100 -0
  79. package/dist/esm-node/router/cli/code/makeLegalIdentifier.js +13 -0
  80. package/dist/esm-node/router/cli/code/nestedRoutes.js +258 -0
  81. package/dist/esm-node/router/cli/code/templates.js +335 -0
  82. package/dist/esm-node/router/cli/code/utils.js +101 -0
  83. package/dist/esm-node/router/cli/constants.js +47 -0
  84. package/dist/esm-node/router/cli/entry.js +50 -0
  85. package/dist/esm-node/router/cli/handler.js +36 -0
  86. package/dist/esm-node/router/cli/index.js +22 -0
  87. package/dist/esm-node/router/runtime/plugin.js +7 -4
  88. package/dist/esm-node/router/runtime/plugin.node.js +12 -5
  89. package/dist/esm-node/ssr/index.node.js +1 -0
  90. package/dist/esm-node/state/runtime/plugin.js +3 -2
  91. package/dist/types/cli/constants.d.ts +1 -0
  92. package/dist/types/cli/entry.d.ts +1 -0
  93. package/dist/types/cli/index.d.ts +1 -0
  94. package/dist/types/core/compatible.d.ts +7 -3
  95. package/dist/types/core/config.d.ts +14 -0
  96. package/dist/types/core/context/index.d.ts +1 -0
  97. package/dist/types/{runtimeContext.d.ts → core/context/runtime.d.ts} +5 -4
  98. package/dist/types/core/index.d.ts +4 -4
  99. package/dist/types/core/plugin/base.d.ts +80 -0
  100. package/dist/types/core/plugin/index.d.ts +29 -0
  101. package/dist/types/core/plugin/runner.d.ts +26 -0
  102. package/dist/types/index.d.ts +2 -2
  103. package/dist/types/router/cli/code/getClientRoutes/getRoutes.d.ts +8 -0
  104. package/dist/types/router/cli/code/getClientRoutes/getRoutesLegacy.d.ts +9 -0
  105. package/dist/types/router/cli/code/getClientRoutes/index.d.ts +2 -0
  106. package/dist/types/router/cli/code/getClientRoutes/utils.d.ts +5 -0
  107. package/dist/types/router/cli/code/index.d.ts +6 -0
  108. package/dist/types/router/cli/code/makeLegalIdentifier.d.ts +1 -0
  109. package/dist/types/router/cli/code/nestedRoutes.d.ts +7 -0
  110. package/dist/types/router/cli/code/templates.d.ts +14 -0
  111. package/dist/types/router/cli/code/utils.d.ts +12 -0
  112. package/dist/types/router/cli/constants.d.ts +32 -0
  113. package/dist/types/router/cli/entry.d.ts +5 -0
  114. package/dist/types/router/cli/handler.d.ts +5 -0
  115. package/dist/types/router/cli/index.d.ts +3 -1
  116. package/dist/types/ssr/serverRender/types.d.ts +3 -0
  117. package/package.json +37 -11
  118. package/dist/esm/core/plugin.js +0 -59
  119. package/dist/esm/runtimeContext.js +0 -7
  120. package/dist/esm-node/core/plugin.js +0 -37
  121. package/dist/esm-node/runtimeContext.js +0 -7
  122. package/dist/types/core/appConfig.d.ts +0 -4
  123. package/dist/types/core/plugin.d.ts +0 -204
@@ -16,17 +16,13 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var runtimeContext_exports = {};
20
- __export(runtimeContext_exports, {
21
- RuntimeReactContext: () => RuntimeReactContext,
22
- ServerRouterContext: () => ServerRouterContext
19
+ var constants_exports = {};
20
+ __export(constants_exports, {
21
+ APP_FILE_NAME: () => APP_FILE_NAME
23
22
  });
24
- module.exports = __toCommonJS(runtimeContext_exports);
25
- var import_react = require("react");
26
- const RuntimeReactContext = (0, import_react.createContext)({});
27
- const ServerRouterContext = (0, import_react.createContext)({});
23
+ module.exports = __toCommonJS(constants_exports);
24
+ const APP_FILE_NAME = "App";
28
25
  // Annotate the CommonJS export names for ESM import in node:
29
26
  0 && (module.exports = {
30
- RuntimeReactContext,
31
- ServerRouterContext
27
+ APP_FILE_NAME
32
28
  });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var entry_exports = {};
30
+ __export(entry_exports, {
31
+ isRuntimeEntry: () => isRuntimeEntry
32
+ });
33
+ module.exports = __toCommonJS(entry_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var import_utils = require("@modern-js/utils");
36
+ var import_constants = require("./constants");
37
+ const hasApp = (dir) => (0, import_utils.findExists)(import_utils.JS_EXTENSIONS.map((ext) => import_path.default.resolve(dir, `${import_constants.APP_FILE_NAME}${ext}`)));
38
+ const isRuntimeEntry = (dir) => hasApp(dir);
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ isRuntimeEntry
42
+ });
@@ -29,6 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
29
29
  var cli_exports = {};
30
30
  __export(cli_exports, {
31
31
  default: () => cli_default,
32
+ isRuntimeEntry: () => import_entry2.isRuntimeEntry,
32
33
  runtimePlugin: () => runtimePlugin
33
34
  });
34
35
  module.exports = __toCommonJS(cli_exports);
@@ -37,6 +38,8 @@ var import_cli = require("../state/cli");
37
38
  var import_cli2 = require("../ssr/cli");
38
39
  var import_cli3 = require("../router/cli");
39
40
  var import_cli4 = require("../document/cli");
41
+ var import_entry = require("./entry");
42
+ var import_entry2 = require("./entry");
40
43
  const runtimePlugin = () => ({
41
44
  name: "@modern-js/runtime",
42
45
  post: [
@@ -55,6 +58,12 @@ const runtimePlugin = () => ({
55
58
  ],
56
59
  setup: (api) => {
57
60
  return {
61
+ checkEntryPoint({ path, entry }) {
62
+ return {
63
+ path,
64
+ entry: entry || (0, import_entry.isRuntimeEntry)(path)
65
+ };
66
+ },
58
67
  config() {
59
68
  const appDir = api.useAppContext().appDirectory;
60
69
  process.env.IS_REACT18 = (0, import_utils.isReact18)(appDir).toString();
@@ -97,5 +106,6 @@ const runtimePlugin = () => ({
97
106
  var cli_default = runtimePlugin;
98
107
  // Annotate the CommonJS export names for ESM import in node:
99
108
  0 && (module.exports = {
109
+ isRuntimeEntry,
100
110
  runtimePlugin
101
111
  });
@@ -37,48 +37,39 @@ var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_react = __toESM(require("react"));
38
38
  var import_hoist_non_react_statics = __toESM(require("hoist-non-react-statics"));
39
39
  var import_constants = require("@modern-js/utils/universal/constants");
40
- var import_runtimeContext = require("../runtimeContext");
40
+ var import_runtime = require("./context/runtime");
41
41
  var import_plugin = require("./plugin");
42
42
  var import_loaderManager = require("./loader/loaderManager");
43
+ var import_runner = require("./plugin/runner");
43
44
  const IS_REACT18 = process.env.IS_REACT18 === "true";
44
45
  function isClientArgs(id) {
45
46
  return typeof id === "string" || typeof HTMLElement !== "undefined" && id instanceof HTMLElement;
46
47
  }
47
- const runnerMap = /* @__PURE__ */ new WeakMap();
48
48
  const getInitialContext = (runner) => ({
49
49
  loaderManager: (0, import_loaderManager.createLoaderManager)({}),
50
50
  runner,
51
51
  isBrowser: true,
52
52
  routeManifest: typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
53
53
  });
54
- const createApp = ({ plugins, props: globalProps }) => {
55
- const appRuntime = import_plugin.runtime.clone();
56
- appRuntime.usePlugin(...plugins);
54
+ const createApp = ({ plugins, runtime, props: globalProps }) => {
55
+ const runner = (0, import_plugin.registerPlugin)(plugins, {
56
+ plugins: []
57
+ }, runtime);
57
58
  return (App) => {
58
- const runner = appRuntime.init();
59
59
  const WrapperComponent = (props) => {
60
- const element = /* @__PURE__ */ import_react.default.createElement(App || import_react.default.Fragment, App ? {
60
+ return /* @__PURE__ */ import_react.default.createElement(App || import_react.default.Fragment, App ? {
61
61
  ...props
62
62
  } : null, App ? props.children : import_react.default.Children.map(props.children, (child) => /* @__PURE__ */ import_react.default.isValidElement(child) ? /* @__PURE__ */ import_react.default.cloneElement(child, {
63
63
  ...child.props,
64
64
  ...props
65
65
  }) : child));
66
- const context = (0, import_react.useContext)(import_runtimeContext.RuntimeReactContext);
67
- return runner.provide({
68
- element,
69
- props: {
70
- ...props
71
- },
72
- context
73
- }, {
74
- onLast: ({ element: element2 }) => element2
75
- });
76
66
  };
77
67
  if (App) {
78
68
  (0, import_hoist_non_react_statics.default)(WrapperComponent, App);
79
69
  }
80
70
  const HOCApp = runner.hoc({
81
- App: WrapperComponent
71
+ App: WrapperComponent,
72
+ config: globalProps || {}
82
73
  }, {
83
74
  onLast: ({ App: App2 }) => {
84
75
  const WrapComponent = ({ context, ...props }) => {
@@ -98,7 +89,7 @@ const createApp = ({ plugins, props: globalProps }) => {
98
89
  ...props,
99
90
  ...globalProps
100
91
  };
101
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtimeContext.RuntimeReactContext.Provider, {
92
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_runtime.RuntimeReactContext.Provider, {
102
93
  value: contextValue,
103
94
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App2, {
104
95
  ...mergedProps
@@ -108,19 +99,12 @@ const createApp = ({ plugins, props: globalProps }) => {
108
99
  return (0, import_hoist_non_react_statics.default)(WrapComponent, App2);
109
100
  }
110
101
  });
111
- runnerMap.set(HOCApp, runner);
112
102
  return HOCApp;
113
103
  };
114
104
  };
115
105
  const bootstrap = async (BootApp, id, root, ReactDOM) => {
116
- let App = BootApp;
117
- let runner = runnerMap.get(App);
118
- if (!runner) {
119
- App = createApp({
120
- plugins: []
121
- })(App);
122
- runner = runnerMap.get(App);
123
- }
106
+ const App = BootApp;
107
+ const runner = (0, import_runner.getGlobalRunner)();
124
108
  const context = getInitialContext(runner);
125
109
  const runInit = (_context) => runner.init({
126
110
  context: _context
@@ -254,7 +238,7 @@ const bootstrap = async (BootApp, id, root, ReactDOM) => {
254
238
  }
255
239
  };
256
240
  const useRuntimeContext = () => {
257
- const context = (0, import_react.useContext)(import_runtimeContext.RuntimeReactContext);
241
+ const context = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
258
242
  const memoizedContext = (0, import_react.useMemo)(() => context.runner.pickContext({
259
243
  context,
260
244
  pickedContext: {}
@@ -16,15 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var appConfig_exports = {};
20
- __export(appConfig_exports, {
19
+ var config_exports = {};
20
+ __export(config_exports, {
21
21
  defineConfig: () => defineConfig,
22
+ defineRuntimeConfig: () => defineRuntimeConfig,
22
23
  getConfig: () => getConfig
23
24
  });
24
- module.exports = __toCommonJS(appConfig_exports);
25
+ module.exports = __toCommonJS(config_exports);
25
26
  const APP_CONFIG_SYMBOL = "config";
26
27
  const getConfig = (Component) => (
27
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
28
28
  // @ts-expect-error
29
29
  Component[APP_CONFIG_SYMBOL]
30
30
  );
@@ -32,8 +32,10 @@ const defineConfig = (Component, config) => {
32
32
  Component[APP_CONFIG_SYMBOL] = config;
33
33
  return Component;
34
34
  };
35
+ const defineRuntimeConfig = (config) => config;
35
36
  // Annotate the CommonJS export names for ESM import in node:
36
37
  0 && (module.exports = {
37
38
  defineConfig,
39
+ defineRuntimeConfig,
38
40
  getConfig
39
41
  });
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var context_exports = {};
20
+ __export(context_exports, {
21
+ RuntimeReactContext: () => import_runtime.RuntimeReactContext
22
+ });
23
+ module.exports = __toCommonJS(context_exports);
24
+ var import_runtime = require("./runtime");
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ RuntimeReactContext
28
+ });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var runtime_exports = {};
20
+ __export(runtime_exports, {
21
+ RuntimeReactContext: () => RuntimeReactContext,
22
+ ServerRouterContext: () => ServerRouterContext,
23
+ getInitialContext: () => getInitialContext
24
+ });
25
+ module.exports = __toCommonJS(runtime_exports);
26
+ var import_react = require("react");
27
+ var import_constants = require("@modern-js/utils/universal/constants");
28
+ var import_loaderManager = require("../loader/loaderManager");
29
+ const RuntimeReactContext = (0, import_react.createContext)({});
30
+ const ServerRouterContext = (0, import_react.createContext)({});
31
+ const getInitialContext = (runner) => ({
32
+ loaderManager: (0, import_loaderManager.createLoaderManager)({}),
33
+ runner,
34
+ isBrowser: true,
35
+ routeManifest: typeof window !== "undefined" && window[import_constants.ROUTE_MANIFEST]
36
+ });
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ RuntimeReactContext,
40
+ ServerRouterContext,
41
+ getInitialContext
42
+ });
@@ -19,31 +19,27 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var core_exports = {};
21
21
  __export(core_exports, {
22
- RuntimeReactContext: () => import_runtimeContext.RuntimeReactContext,
23
- ServerRouterContext: () => import_runtimeContext.ServerRouterContext,
24
- createPlugin: () => import_plugin.createPlugin,
25
- createRuntime: () => import_plugin.createRuntime,
26
- defineConfig: () => import_appConfig.defineConfig,
27
- getConfig: () => import_appConfig.getConfig,
28
- registerInit: () => import_plugin.registerInit,
22
+ RuntimeReactContext: () => import_runtime.RuntimeReactContext,
23
+ ServerRouterContext: () => import_runtime.ServerRouterContext,
24
+ defineConfig: () => import_config.defineConfig,
25
+ defineRuntimeConfig: () => import_config.defineRuntimeConfig,
26
+ getConfig: () => import_config.getConfig,
29
27
  runtime: () => import_plugin.runtime
30
28
  });
31
29
  module.exports = __toCommonJS(core_exports);
32
30
  var import_plugin = require("./plugin");
33
- var import_appConfig = require("./appConfig");
31
+ var import_config = require("./config");
34
32
  __reExport(core_exports, require("./compatible"), module.exports);
35
- var import_runtimeContext = require("../runtimeContext");
33
+ var import_runtime = require("./context/runtime");
36
34
  __reExport(core_exports, require("./loader"), module.exports);
37
35
  __reExport(core_exports, require("@modern-js/plugin"), module.exports);
38
36
  // Annotate the CommonJS export names for ESM import in node:
39
37
  0 && (module.exports = {
40
38
  RuntimeReactContext,
41
39
  ServerRouterContext,
42
- createPlugin,
43
- createRuntime,
44
40
  defineConfig,
41
+ defineRuntimeConfig,
45
42
  getConfig,
46
- registerInit,
47
43
  runtime,
48
44
  ...require("./compatible"),
49
45
  ...require("./loader"),
@@ -33,12 +33,12 @@ __export(useLoader_exports, {
33
33
  module.exports = __toCommonJS(useLoader_exports);
34
34
  var import_react = require("react");
35
35
  var import_invariant = __toESM(require("invariant"));
36
- var import_runtimeContext = require("../../runtimeContext");
36
+ var import_runtime = require("../context/runtime");
37
37
  var import_loaderManager = require("./loaderManager");
38
38
  const useLoader = (loaderFn, options = {
39
39
  params: void 0
40
40
  }) => {
41
- const context = (0, import_react.useContext)(import_runtimeContext.RuntimeReactContext);
41
+ const context = (0, import_react.useContext)(import_runtime.RuntimeReactContext);
42
42
  const isSSRRender = Boolean(context.ssr);
43
43
  const { loaderManager } = context;
44
44
  const loaderRef = (0, import_react.useRef)();
@@ -16,49 +16,29 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var plugin_exports = {};
20
- __export(plugin_exports, {
21
- createPlugin: () => createPlugin,
19
+ var base_exports = {};
20
+ __export(base_exports, {
22
21
  createRuntime: () => createRuntime,
23
- registerInit: () => registerInit,
24
22
  runtime: () => runtime
25
23
  });
26
- module.exports = __toCommonJS(plugin_exports);
24
+ module.exports = __toCommonJS(base_exports);
27
25
  var import_plugin = require("@modern-js/plugin");
28
- var import_loaderManager = require("./loader/loaderManager");
29
- const hoc = (0, import_plugin.createPipeline)();
30
- const provide = (0, import_plugin.createPipeline)();
31
26
  const client = (0, import_plugin.createAsyncPipeline)();
32
27
  const server = (0, import_plugin.createAsyncPipeline)();
28
+ const hoc = (0, import_plugin.createPipeline)();
33
29
  const init = (0, import_plugin.createAsyncPipeline)();
34
30
  const pickContext = (0, import_plugin.createPipeline)();
35
31
  const runtimeHooks = {
36
32
  hoc,
37
- provide,
33
+ init,
38
34
  client,
39
35
  server,
40
- init,
41
36
  pickContext
42
37
  };
43
38
  const createRuntime = () => (0, import_plugin.createManager)(runtimeHooks);
44
- const registerInit = (App, _init) => {
45
- const originalInit = App.init;
46
- App.init = async (context) => {
47
- if (!context.loaderManager) {
48
- context.loaderManager = (0, import_loaderManager.createLoaderManager)({});
49
- }
50
- await Promise.all([
51
- originalInit === null || originalInit === void 0 ? void 0 : originalInit(context),
52
- _init === null || _init === void 0 ? void 0 : _init(context)
53
- ]);
54
- };
55
- };
56
39
  const runtime = createRuntime();
57
- const { createPlugin } = runtime;
58
40
  // Annotate the CommonJS export names for ESM import in node:
59
41
  0 && (module.exports = {
60
- createPlugin,
61
42
  createRuntime,
62
- registerInit,
63
43
  runtime
64
44
  });
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var plugin_exports = {};
21
+ __export(plugin_exports, {
22
+ registerPlugin: () => registerPlugin
23
+ });
24
+ module.exports = __toCommonJS(plugin_exports);
25
+ var import_base = require("./base");
26
+ var import_runner = require("./runner");
27
+ __reExport(plugin_exports, require("./base"), module.exports);
28
+ function registerPlugin(internalPlugins, runtimeConfig, customRuntime) {
29
+ const { plugins = [] } = runtimeConfig || {};
30
+ (customRuntime || import_base.runtime).usePlugin(...internalPlugins, ...plugins);
31
+ const runner = (customRuntime || import_base.runtime).init();
32
+ (0, import_runner.setGlobalRunner)(runner);
33
+ return runner;
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ registerPlugin,
38
+ ...require("./base")
39
+ });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var runner_exports = {};
20
+ __export(runner_exports, {
21
+ getGlobalRunner: () => getGlobalRunner,
22
+ setGlobalRunner: () => setGlobalRunner
23
+ });
24
+ module.exports = __toCommonJS(runner_exports);
25
+ var import_base = require("./base");
26
+ let globalRunner;
27
+ function setGlobalRunner(runner) {
28
+ globalRunner = runner;
29
+ }
30
+ function getGlobalRunner() {
31
+ if (globalRunner) {
32
+ return globalRunner;
33
+ }
34
+ const runner = import_base.runtime.init();
35
+ setGlobalRunner(runner);
36
+ return runner;
37
+ }
38
+ // Annotate the CommonJS export names for ESM import in node:
39
+ 0 && (module.exports = {
40
+ getGlobalRunner,
41
+ setGlobalRunner
42
+ });
package/dist/cjs/index.js CHANGED
@@ -21,10 +21,9 @@ __export(src_exports, {
21
21
  RuntimeReactContext: () => import_core.RuntimeReactContext,
22
22
  bootstrap: () => import_core.bootstrap,
23
23
  createApp: () => import_core.createApp,
24
- createPlugin: () => import_core.createPlugin,
25
24
  defineConfig: () => import_core.defineConfig,
25
+ defineRuntimeConfig: () => import_core.defineRuntimeConfig,
26
26
  isBrowser: () => import_common.isBrowser,
27
- registerInit: () => import_core.registerInit,
28
27
  useLoader: () => import_core.useLoader,
29
28
  useRuntimeContext: () => import_core.useRuntimeContext
30
29
  });
@@ -36,10 +35,9 @@ var import_core = require("./core");
36
35
  RuntimeReactContext,
37
36
  bootstrap,
38
37
  createApp,
39
- createPlugin,
40
38
  defineConfig,
39
+ defineRuntimeConfig,
41
40
  isBrowser,
42
- registerInit,
43
41
  useLoader,
44
42
  useRuntimeContext
45
43
  });