@modern-js/plugin-devtools 2.35.1 → 2.37.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.
- package/dist/cli.d.ts +2 -6
- package/dist/cli.js +93 -42
- package/dist/config.d.ts +12 -0
- package/dist/config.js +49 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +35 -17
- package/dist/rpc/index.d.ts +4 -5
- package/dist/rpc/index.js +64 -45
- package/dist/runtime.js +10 -6
- package/dist/types.js +15 -3
- package/dist/utils/module.js +46 -29
- package/dist/utils/socket.js +37 -11
- package/package.json +25 -18
package/dist/cli.d.ts
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
import type { AppTools, CliPlugin } from '@modern-js/app-tools';
|
2
|
-
import {
|
3
|
-
|
4
|
-
export interface Options extends SetupClientOptions {
|
5
|
-
rpcPath?: string;
|
6
|
-
def?: PartialDeep<ClientDefinition>;
|
7
|
-
}
|
2
|
+
import { Options } from './config';
|
3
|
+
export type { Options };
|
8
4
|
export declare const devtoolsPlugin: (options?: Options) => CliPlugin<AppTools>;
|
9
5
|
export default devtoolsPlugin;
|
package/dist/cli.js
CHANGED
@@ -1,78 +1,125 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
|
4
|
-
|
5
|
-
|
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) => {
|
6
9
|
for (var name in all)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
return devtoolsPlugin;
|
15
|
-
},
|
16
|
-
default: function() {
|
17
|
-
return _default;
|
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 });
|
18
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 cli_exports = {};
|
30
|
+
__export(cli_exports, {
|
31
|
+
default: () => cli_default,
|
32
|
+
devtoolsPlugin: () => devtoolsPlugin
|
19
33
|
});
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
34
|
+
module.exports = __toCommonJS(cli_exports);
|
35
|
+
var import_http = __toESM(require("http"));
|
36
|
+
var import_path = __toESM(require("path"));
|
37
|
+
var import_utils = require("@modern-js/utils");
|
38
|
+
var import_serve_static = __toESM(require("serve-static"));
|
39
|
+
var import_devtools_kit = require("@modern-js/devtools-kit");
|
40
|
+
var import_ufo = require("ufo");
|
41
|
+
var import_config = require("./config");
|
42
|
+
var import_rpc = require("./rpc");
|
43
|
+
var import_socket = require("./utils/socket");
|
28
44
|
const devtoolsPlugin = (options) => ({
|
29
45
|
name: "@modern-js/plugin-devtools",
|
30
46
|
usePlugins: [],
|
31
47
|
setup: async (api) => {
|
32
|
-
const
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
48
|
+
const port = await (0, import_utils.getPort)(8782, {
|
49
|
+
slient: true
|
50
|
+
});
|
51
|
+
const clientServeDir = import_path.default.resolve(require.resolve("@modern-js/devtools-client/package.json"), "../dist");
|
52
|
+
const serveMiddleware = (0, import_serve_static.default)(clientServeDir);
|
53
|
+
const httpServer = import_http.default.createServer((req, res) => {
|
54
|
+
const usePageNotFound = () => {
|
55
|
+
res.write("404");
|
56
|
+
res.statusCode = 404;
|
57
|
+
res.end();
|
58
|
+
};
|
59
|
+
const useMainRoute = () => {
|
60
|
+
req.url = "/html/main/index.html";
|
61
|
+
serveMiddleware(req, res, usePageNotFound);
|
62
|
+
};
|
63
|
+
serveMiddleware(req, res, useMainRoute);
|
64
|
+
});
|
65
|
+
httpServer.listen(port);
|
66
|
+
const socketServer = new import_socket.SocketServer({
|
67
|
+
server: httpServer,
|
68
|
+
path: "/rpc"
|
69
|
+
});
|
70
|
+
const rpc = await (0, import_rpc.setupClientConnection)({
|
39
71
|
api,
|
40
|
-
|
72
|
+
server: socketServer
|
41
73
|
});
|
42
74
|
return {
|
43
|
-
prepare: hooks.prepare,
|
44
|
-
modifyFileSystemRoutes: hooks.modifyFileSystemRoutes,
|
75
|
+
prepare: rpc.hooks.prepare,
|
76
|
+
modifyFileSystemRoutes: rpc.hooks.modifyFileSystemRoutes,
|
45
77
|
validateSchema() {
|
46
78
|
return [
|
47
79
|
{
|
48
|
-
target: "
|
80
|
+
target: "devtools",
|
49
81
|
schema: {
|
50
82
|
typeof: [
|
51
|
-
"boolean"
|
83
|
+
"boolean",
|
84
|
+
"object"
|
52
85
|
]
|
53
86
|
}
|
54
87
|
}
|
55
88
|
];
|
56
89
|
},
|
90
|
+
beforeRestart() {
|
91
|
+
return new Promise((resolve, reject) => httpServer.close((err) => err ? reject(err) : resolve()));
|
92
|
+
},
|
57
93
|
config() {
|
94
|
+
const opts = (0, import_config.resolveOptions)(api, options);
|
95
|
+
opts.def && rpc.setDefinition(opts.def);
|
96
|
+
const mountOpts = {
|
97
|
+
dataSource: `${import_devtools_kit.ROUTE_BASENAME}/rpc`,
|
98
|
+
endpoint: import_devtools_kit.ROUTE_BASENAME,
|
99
|
+
__keep: true
|
100
|
+
};
|
101
|
+
let runtimeEntry = require.resolve("@modern-js/plugin-devtools/runtime");
|
102
|
+
runtimeEntry = (0, import_ufo.withQuery)(runtimeEntry, mountOpts);
|
58
103
|
return {
|
59
104
|
builderPlugins: [
|
60
|
-
builderPlugin
|
105
|
+
rpc.builderPlugin
|
61
106
|
],
|
62
107
|
source: {
|
63
108
|
preEntry: [
|
64
|
-
|
109
|
+
runtimeEntry
|
65
110
|
],
|
66
111
|
globalVars: {
|
67
|
-
"process.env.
|
112
|
+
"process.env._MODERN_DEVTOOLS_LOGO_SRC": new import_devtools_kit.ClientDefinition().assets.logo
|
68
113
|
}
|
69
114
|
},
|
70
115
|
tools: {
|
71
116
|
devServer: {
|
72
117
|
proxy: {
|
73
|
-
[
|
74
|
-
target:
|
75
|
-
|
118
|
+
[import_devtools_kit.ROUTE_BASENAME]: {
|
119
|
+
target: `http://localhost:${port}`,
|
120
|
+
pathRewrite: {
|
121
|
+
[`^${import_devtools_kit.ROUTE_BASENAME}`]: ""
|
122
|
+
},
|
76
123
|
ws: true
|
77
124
|
}
|
78
125
|
}
|
@@ -83,4 +130,8 @@ const devtoolsPlugin = (options) => ({
|
|
83
130
|
};
|
84
131
|
}
|
85
132
|
});
|
86
|
-
|
133
|
+
var cli_default = devtoolsPlugin;
|
134
|
+
// Annotate the CommonJS export names for ESM import in node:
|
135
|
+
0 && (module.exports = {
|
136
|
+
devtoolsPlugin
|
137
|
+
});
|
package/dist/config.d.ts
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
import { ClientDefinition } from '@modern-js/devtools-kit';
|
2
|
+
import { PartialDeep } from 'type-fest';
|
3
|
+
import { CliPluginAPI } from './types';
|
4
|
+
export interface Options {
|
5
|
+
def?: PartialDeep<ClientDefinition>;
|
6
|
+
}
|
7
|
+
export declare const getDefaultOptions: () => {
|
8
|
+
def: ClientDefinition;
|
9
|
+
};
|
10
|
+
export declare const resolveOptions: (api: CliPluginAPI, options?: Options) => Options & {
|
11
|
+
def: ClientDefinition;
|
12
|
+
};
|
package/dist/config.js
ADDED
@@ -0,0 +1,49 @@
|
|
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 config_exports = {};
|
30
|
+
__export(config_exports, {
|
31
|
+
getDefaultOptions: () => getDefaultOptions,
|
32
|
+
resolveOptions: () => resolveOptions
|
33
|
+
});
|
34
|
+
module.exports = __toCommonJS(config_exports);
|
35
|
+
var import_devtools_kit = require("@modern-js/devtools-kit");
|
36
|
+
var import_lodash = __toESM(require("@modern-js/utils/lodash"));
|
37
|
+
const getDefaultOptions = () => ({
|
38
|
+
def: new import_devtools_kit.ClientDefinition()
|
39
|
+
});
|
40
|
+
const resolveOptions = (api, options = {}) => {
|
41
|
+
const config = api.useConfigContext();
|
42
|
+
const opts = import_lodash.default.defaultsDeep({}, options, config.devtools, getDefaultOptions());
|
43
|
+
return opts;
|
44
|
+
};
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
46
|
+
0 && (module.exports = {
|
47
|
+
getDefaultOptions,
|
48
|
+
resolveOptions
|
49
|
+
});
|
package/dist/index.d.ts
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
|
2
|
-
export {
|
3
|
-
export default devtoolsPlugin;
|
1
|
+
export { devtoolsPlugin, default } from './cli';
|
2
|
+
export type { Options } from './cli';
|
package/dist/index.js
CHANGED
@@ -1,21 +1,39 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
|
4
|
-
|
5
|
-
|
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) => {
|
6
9
|
for (var name in all)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
return _cli.devtoolsPlugin;
|
15
|
-
},
|
16
|
-
default: function() {
|
17
|
-
return _default;
|
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 });
|
18
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 src_exports = {};
|
30
|
+
__export(src_exports, {
|
31
|
+
default: () => import_cli.default,
|
32
|
+
devtoolsPlugin: () => import_cli.devtoolsPlugin
|
33
|
+
});
|
34
|
+
module.exports = __toCommonJS(src_exports);
|
35
|
+
var import_cli = __toESM(require("./cli"));
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
37
|
+
0 && (module.exports = {
|
38
|
+
devtoolsPlugin
|
19
39
|
});
|
20
|
-
const _cli = require("./cli");
|
21
|
-
const _default = _cli.devtoolsPlugin;
|
package/dist/rpc/index.d.ts
CHANGED
@@ -1,16 +1,15 @@
|
|
1
|
-
|
2
|
-
import { URL } from 'url';
|
3
|
-
import { type ClientDefinition, type ClientFunctions, type ServerFunctions } from '@modern-js/devtools-kit';
|
1
|
+
import { ClientDefinition, type ClientFunctions, type ServerFunctions } from '@modern-js/devtools-kit';
|
4
2
|
import type { PartialDeep } from 'type-fest';
|
5
3
|
import type { BuilderPlugin } from '@modern-js/builder-shared';
|
6
4
|
import { CliPluginAPI, BuilderPluginAPI, InjectedHooks } from '../types';
|
5
|
+
import { SocketServer } from '../utils/socket';
|
7
6
|
export interface SetupClientConnectionOptions {
|
8
7
|
api: CliPluginAPI;
|
9
|
-
|
8
|
+
server: SocketServer;
|
10
9
|
}
|
11
10
|
export declare const setupClientConnection: (options: SetupClientConnectionOptions) => Promise<{
|
12
11
|
client: import("birpc").BirpcReturn<ClientFunctions, ServerFunctions>;
|
13
12
|
hooks: InjectedHooks;
|
14
13
|
builderPlugin: BuilderPlugin<BuilderPluginAPI>;
|
15
|
-
|
14
|
+
setDefinition: (definition: PartialDeep<ClientDefinition>) => void;
|
16
15
|
}>;
|
package/dist/rpc/index.js
CHANGED
@@ -1,29 +1,47 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
|
4
|
-
|
5
|
-
Object.
|
6
|
-
|
7
|
-
|
8
|
-
|
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 });
|
9
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 rpc_exports = {};
|
30
|
+
__export(rpc_exports, {
|
31
|
+
setupClientConnection: () => setupClientConnection
|
10
32
|
});
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
const _utils = require("@modern-js/utils");
|
18
|
-
const _socket = require("../utils/socket");
|
19
|
-
const _module = require("../utils/module");
|
33
|
+
module.exports = __toCommonJS(rpc_exports);
|
34
|
+
var import_lodash = __toESM(require("@modern-js/utils/lodash"));
|
35
|
+
var import_devtools_kit = require("@modern-js/devtools-kit");
|
36
|
+
var import_birpc = require("birpc");
|
37
|
+
var import_p_defer = __toESM(require("p-defer"));
|
38
|
+
var import_module = require("../utils/module");
|
20
39
|
const setupClientConnection = async (options) => {
|
21
|
-
const { api,
|
22
|
-
|
23
|
-
const
|
24
|
-
|
25
|
-
}
|
26
|
-
const url = new _url.URL(`ws://localhost:${port}`);
|
40
|
+
const { api, server } = options;
|
41
|
+
let def = {};
|
42
|
+
const setDefinition = (definition) => {
|
43
|
+
def = definition;
|
44
|
+
};
|
27
45
|
const _fileSystemRoutesMap = {};
|
28
46
|
let handleMessage = null;
|
29
47
|
const onceConnection = new Promise((resolve) => {
|
@@ -33,21 +51,21 @@ const setupClientConnection = async (options) => {
|
|
33
51
|
});
|
34
52
|
});
|
35
53
|
const deferred = {
|
36
|
-
prepare: (0,
|
54
|
+
prepare: (0, import_p_defer.default)(),
|
37
55
|
builder: {
|
38
|
-
context: (0,
|
56
|
+
context: (0, import_p_defer.default)(),
|
39
57
|
config: {
|
40
|
-
resolved: (0,
|
41
|
-
transformed: (0,
|
58
|
+
resolved: (0, import_p_defer.default)(),
|
59
|
+
transformed: (0, import_p_defer.default)()
|
42
60
|
}
|
43
61
|
},
|
44
62
|
bundler: {
|
45
63
|
config: {
|
46
|
-
resolved: (0,
|
47
|
-
transformed: (0,
|
64
|
+
resolved: (0, import_p_defer.default)(),
|
65
|
+
transformed: (0, import_p_defer.default)()
|
48
66
|
}
|
49
67
|
},
|
50
|
-
compileTimeCost: (0,
|
68
|
+
compileTimeCost: (0, import_p_defer.default)()
|
51
69
|
};
|
52
70
|
const serverFunctions = {
|
53
71
|
async getFrameworkConfig() {
|
@@ -75,7 +93,7 @@ const setupClientConnection = async (options) => {
|
|
75
93
|
const ctx = {
|
76
94
|
...api.useAppContext()
|
77
95
|
};
|
78
|
-
return
|
96
|
+
return import_lodash.default.omit(ctx, [
|
79
97
|
"builder",
|
80
98
|
"serverInternalPlugins"
|
81
99
|
]);
|
@@ -118,7 +136,7 @@ const setupClientConnection = async (options) => {
|
|
118
136
|
};
|
119
137
|
for (const [name, expr] of Object.entries(resolveExprs)) {
|
120
138
|
try {
|
121
|
-
ret[name] = (0,
|
139
|
+
ret[name] = (0, import_module.requireModule)(expr).version;
|
122
140
|
} catch {
|
123
141
|
}
|
124
142
|
}
|
@@ -128,14 +146,11 @@ const setupClientConnection = async (options) => {
|
|
128
146
|
return deferred.compileTimeCost.promise;
|
129
147
|
},
|
130
148
|
async getClientDefinition() {
|
131
|
-
const ret =
|
132
|
-
name: new _devtoolskit.NameDefinition(),
|
133
|
-
packages: new _devtoolskit.PackageDefinition(),
|
134
|
-
assets: new _devtoolskit.AssetDefinition()
|
135
|
-
};
|
149
|
+
const ret = new import_devtools_kit.ClientDefinition();
|
136
150
|
Object.assign(ret.name, def.name);
|
137
151
|
Object.assign(ret.packages, def.packages);
|
138
152
|
Object.assign(ret.assets, def.assets);
|
153
|
+
Object.assign(ret.announcement, def.announcement);
|
139
154
|
return ret;
|
140
155
|
},
|
141
156
|
echo(content) {
|
@@ -148,13 +163,13 @@ const setupClientConnection = async (options) => {
|
|
148
163
|
serialize: (v) => JSON.stringify(v),
|
149
164
|
deserialize: (v) => JSON.parse(v.toString())
|
150
165
|
};
|
151
|
-
const clientConn = (0,
|
166
|
+
const clientConn = (0, import_birpc.createBirpc)(serverFunctions, clientRpcOptions);
|
152
167
|
const hooks = {
|
153
168
|
prepare() {
|
154
169
|
deferred.prepare.resolve();
|
155
170
|
},
|
156
171
|
modifyFileSystemRoutes({ entrypoint, routes }) {
|
157
|
-
_fileSystemRoutesMap[entrypoint.entryName] =
|
172
|
+
_fileSystemRoutesMap[entrypoint.entryName] = import_lodash.default.cloneDeep(routes);
|
158
173
|
return {
|
159
174
|
entrypoint,
|
160
175
|
routes
|
@@ -164,22 +179,22 @@ const setupClientConnection = async (options) => {
|
|
164
179
|
const builderPlugin = {
|
165
180
|
name: "builder-plugin-devtools",
|
166
181
|
setup(api2) {
|
167
|
-
deferred.builder.context.resolve(
|
182
|
+
deferred.builder.context.resolve(import_lodash.default.cloneDeep(api2.context));
|
168
183
|
api2.modifyBundlerChain(() => {
|
169
|
-
deferred.builder.config.resolved.resolve(
|
170
|
-
deferred.builder.config.transformed.resolve(
|
184
|
+
deferred.builder.config.resolved.resolve(import_lodash.default.cloneDeep(api2.getBuilderConfig()));
|
185
|
+
deferred.builder.config.transformed.resolve(import_lodash.default.cloneDeep(api2.getNormalizedConfig()));
|
171
186
|
});
|
172
187
|
const modifyBundlerConfig = "modifyWebpackConfig" in api2 ? api2.modifyWebpackConfig : api2.modifyRspackConfig;
|
173
|
-
const expectBundlerNum =
|
188
|
+
const expectBundlerNum = import_lodash.default.castArray(api2.context.target).length;
|
174
189
|
const bundlerConfigs = [];
|
175
190
|
modifyBundlerConfig((config) => {
|
176
191
|
bundlerConfigs.push(config);
|
177
192
|
if (bundlerConfigs.length >= expectBundlerNum) {
|
178
|
-
deferred.bundler.config.resolved.resolve(
|
193
|
+
deferred.bundler.config.resolved.resolve(import_lodash.default.cloneDeep(bundlerConfigs));
|
179
194
|
}
|
180
195
|
});
|
181
196
|
api2.onBeforeCreateCompiler(({ bundlerConfigs: bundlerConfigs2 }) => {
|
182
|
-
deferred.bundler.config.transformed.resolve(
|
197
|
+
deferred.bundler.config.transformed.resolve(import_lodash.default.cloneDeep(bundlerConfigs2));
|
183
198
|
});
|
184
199
|
let buildStartedAt = NaN;
|
185
200
|
api2.onAfterCreateCompiler(() => {
|
@@ -197,6 +212,10 @@ const setupClientConnection = async (options) => {
|
|
197
212
|
client: clientConn,
|
198
213
|
hooks,
|
199
214
|
builderPlugin,
|
200
|
-
|
215
|
+
setDefinition
|
201
216
|
};
|
202
217
|
};
|
218
|
+
// Annotate the CommonJS export names for ESM import in node:
|
219
|
+
0 && (module.exports = {
|
220
|
+
setupClientConnection
|
221
|
+
});
|
package/dist/runtime.js
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
const
|
6
|
-
|
7
|
-
|
2
|
+
var import_devtools_mount = require("@modern-js/devtools-mount");
|
3
|
+
var import_ufo = require("ufo");
|
4
|
+
try {
|
5
|
+
const opts = (0, import_ufo.parseQuery)(__resourceQuery);
|
6
|
+
(0, import_devtools_mount.mountDevTools)(opts);
|
7
|
+
} catch (err) {
|
8
|
+
const e = new Error("Failed to execute mount point of DevTools.");
|
9
|
+
e.cause = err;
|
10
|
+
console.error(e);
|
11
|
+
}
|
package/dist/types.js
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.defineProperty
|
3
|
-
|
4
|
-
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
8
|
+
for (let key of __getOwnPropNames(from))
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
11
|
+
}
|
12
|
+
return to;
|
13
|
+
};
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
15
|
+
var types_exports = {};
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
package/dist/utils/module.js
CHANGED
@@ -1,29 +1,41 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
|
4
|
-
|
5
|
-
|
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) => {
|
6
9
|
for (var name in all)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
return getRequire;
|
15
|
-
},
|
16
|
-
resolveModule: function() {
|
17
|
-
return resolveModule;
|
18
|
-
},
|
19
|
-
requireModule: function() {
|
20
|
-
return requireModule;
|
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 });
|
21
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 module_exports = {};
|
30
|
+
__export(module_exports, {
|
31
|
+
getRequire: () => getRequire,
|
32
|
+
requireModule: () => requireModule,
|
33
|
+
resolveModule: () => resolveModule
|
22
34
|
});
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
35
|
+
module.exports = __toCommonJS(module_exports);
|
36
|
+
var import_assert = __toESM(require("assert"));
|
37
|
+
var import_module = __toESM(require("module"));
|
38
|
+
var import_path = __toESM(require("path"));
|
27
39
|
const getRequire = () => {
|
28
40
|
var _stack_split__match, _stack;
|
29
41
|
try {
|
@@ -31,11 +43,10 @@ const getRequire = () => {
|
|
31
43
|
} catch {
|
32
44
|
}
|
33
45
|
const issuer = (_stack = new Error().stack) === null || _stack === void 0 ? void 0 : (_stack_split__match = _stack.split("\n")[2].match(/\s*at .+? \((.*)\)$/)) === null || _stack_split__match === void 0 ? void 0 : _stack_split__match[1];
|
34
|
-
|
35
|
-
|
36
|
-
return _module.default.createRequire(issuer);
|
46
|
+
if (issuer && import_path.default.isAbsolute(issuer)) {
|
47
|
+
return import_module.default.createRequire(issuer);
|
37
48
|
} else {
|
38
|
-
return
|
49
|
+
return import_module.default.createRequire(process.cwd());
|
39
50
|
}
|
40
51
|
};
|
41
52
|
const resolveModule = (id) => {
|
@@ -45,7 +56,7 @@ const resolveModule = (id) => {
|
|
45
56
|
const _require = getRequire();
|
46
57
|
let resolved = process.cwd();
|
47
58
|
for (const id2 of exprs) {
|
48
|
-
if (
|
59
|
+
if (import_path.default.isAbsolute(id2)) {
|
49
60
|
resolved = id2;
|
50
61
|
continue;
|
51
62
|
}
|
@@ -63,10 +74,10 @@ const resolveModule = (id) => {
|
|
63
74
|
resolved,
|
64
75
|
pkgName
|
65
76
|
]);
|
66
|
-
(0,
|
77
|
+
(0, import_assert.default)(resolvedMain);
|
67
78
|
const resolveDir = `${resolvedMain.slice(0, resolvedMain.lastIndexOf(`/node_modules/${pkgName}`) + 1)}/node_modules/${pkgName}`;
|
68
79
|
const subpath = expr.replace(pkgName, ".");
|
69
|
-
return resolveModule(
|
80
|
+
return resolveModule(import_path.default.resolve(resolveDir, subpath));
|
70
81
|
}
|
71
82
|
const stackText = JSON.stringify(exprs, null, 2);
|
72
83
|
const err = new Error(`Failed to resolve "${id2}" from "${resolved}": ${stackText}`);
|
@@ -84,3 +95,9 @@ const requireModule = (id) => {
|
|
84
95
|
const _require = getRequire();
|
85
96
|
return _require(resolved);
|
86
97
|
};
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
99
|
+
0 && (module.exports = {
|
100
|
+
getRequire,
|
101
|
+
requireModule,
|
102
|
+
resolveModule
|
103
|
+
});
|
package/dist/utils/socket.js
CHANGED
@@ -1,16 +1,38 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.
|
3
|
-
|
4
|
-
|
5
|
-
Object.
|
6
|
-
|
7
|
-
|
8
|
-
|
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 });
|
9
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 socket_exports = {};
|
30
|
+
__export(socket_exports, {
|
31
|
+
SocketServer: () => SocketServer
|
10
32
|
});
|
11
|
-
|
12
|
-
|
13
|
-
class SocketServer extends
|
33
|
+
module.exports = __toCommonJS(socket_exports);
|
34
|
+
var import_ws = __toESM(require("ws"));
|
35
|
+
class SocketServer extends import_ws.default.Server {
|
14
36
|
handleHeartbeat(timeout = 3e4) {
|
15
37
|
const aliveMapping = /* @__PURE__ */ new WeakMap();
|
16
38
|
function heartbeat() {
|
@@ -39,10 +61,14 @@ class SocketServer extends _ws.default.Server {
|
|
39
61
|
broadcast(data, optsOrCb, cbOrNone) {
|
40
62
|
const opts = typeof optsOrCb === "function" ? {} : optsOrCb;
|
41
63
|
const cb = typeof optsOrCb === "function" ? optsOrCb : cbOrNone;
|
42
|
-
this.clients.forEach((client) => client.readyState ===
|
64
|
+
this.clients.forEach((client) => client.readyState === import_ws.default.OPEN && client.send(data, opts !== null && opts !== void 0 ? opts : {}, cb));
|
43
65
|
}
|
44
66
|
constructor(options, callback) {
|
45
67
|
super(options, callback);
|
46
68
|
this.handleHeartbeat();
|
47
69
|
}
|
48
70
|
}
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
72
|
+
0 && (module.exports = {
|
73
|
+
SocketServer
|
74
|
+
});
|
package/package.json
CHANGED
@@ -15,10 +15,13 @@
|
|
15
15
|
"modern",
|
16
16
|
"modern.js"
|
17
17
|
],
|
18
|
-
"version": "2.
|
18
|
+
"version": "2.37.0",
|
19
19
|
"jsnext:source": "./src/index.ts",
|
20
|
-
"types": "./dist/
|
21
|
-
"main": "./dist/
|
20
|
+
"types": "./dist/index.d.ts",
|
21
|
+
"main": "./dist/index.js",
|
22
|
+
"files": [
|
23
|
+
"dist"
|
24
|
+
],
|
22
25
|
"exports": {
|
23
26
|
".": {
|
24
27
|
"node": {
|
@@ -38,31 +41,35 @@
|
|
38
41
|
},
|
39
42
|
"dependencies": {
|
40
43
|
"birpc": "0.2.13",
|
44
|
+
"serve-static": "^1.14.1",
|
41
45
|
"p-defer": "^3.0.0",
|
42
46
|
"ws": "8.13.0",
|
43
|
-
"
|
44
|
-
"@modern-js/devtools-
|
45
|
-
"@modern-js/
|
47
|
+
"ufo": "^1.3.0",
|
48
|
+
"@modern-js/devtools-kit": "2.37.0",
|
49
|
+
"@modern-js/devtools-mount": "2.37.0",
|
50
|
+
"@modern-js/devtools-client": "2.37.0",
|
51
|
+
"@modern-js/utils": "2.37.0"
|
46
52
|
},
|
47
53
|
"devDependencies": {
|
54
|
+
"@types/serve-static": "^1.13.10",
|
48
55
|
"@swc/helpers": "0.5.1",
|
49
56
|
"@types/node": "^14",
|
50
57
|
"@types/ws": "^8.5.5",
|
51
58
|
"type-fest": "^4.1.0",
|
52
59
|
"typescript": "^5",
|
53
|
-
"@modern-js/app-tools": "2.
|
54
|
-
"@modern-js/core": "2.
|
55
|
-
"@modern-js/module-tools": "2.
|
56
|
-
"@modern-js/runtime": "2.
|
57
|
-
"@modern-js/server-core": "2.
|
58
|
-
"@modern-js/types": "2.
|
59
|
-
"@modern-js/builder-webpack-provider": "2.
|
60
|
-
"@modern-js/builder-rspack-provider": "2.
|
61
|
-
"@
|
62
|
-
"@
|
60
|
+
"@modern-js/app-tools": "2.37.0",
|
61
|
+
"@modern-js/core": "2.37.0",
|
62
|
+
"@modern-js/module-tools": "2.37.0",
|
63
|
+
"@modern-js/runtime": "2.37.0",
|
64
|
+
"@modern-js/server-core": "2.37.0",
|
65
|
+
"@modern-js/types": "2.37.0",
|
66
|
+
"@modern-js/builder-webpack-provider": "2.37.0",
|
67
|
+
"@modern-js/builder-rspack-provider": "2.37.0",
|
68
|
+
"@scripts/build": "2.37.0",
|
69
|
+
"@modern-js/builder-shared": "2.37.0"
|
63
70
|
},
|
64
71
|
"peerDependencies": {
|
65
|
-
"@modern-js/runtime": "^2.
|
72
|
+
"@modern-js/runtime": "^2.37.0"
|
66
73
|
},
|
67
74
|
"peerDependenciesMeta": {
|
68
75
|
"@modern-js/runtime": {
|
@@ -77,7 +84,7 @@
|
|
77
84
|
},
|
78
85
|
"scripts": {
|
79
86
|
"new": "modern-lib new",
|
80
|
-
"dev": "modern-lib build --watch
|
87
|
+
"dev": "modern-lib build --watch",
|
81
88
|
"build": "modern-lib build",
|
82
89
|
"test": "jest --passWithNoTests"
|
83
90
|
}
|