@granite-js/mpack 0.1.6 → 0.1.8
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/CHANGELOG.md +18 -0
- package/dist/bundler/Bundler.d.ts +1 -1
- package/dist/bundler/Bundler.js +7 -2
- package/dist/bundler/internal/presets.d.ts +19 -0
- package/dist/bundler/internal/presets.js +103 -0
- package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.d.ts +2 -2
- package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.js +4 -5
- package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.d.ts +1 -1
- package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.d.ts +1 -1
- package/dist/bundler/plugins/shared/swc.d.ts +1 -1
- package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +1 -1
- package/dist/constants/index.d.ts +2 -2
- package/dist/constants/index.js +4 -4
- package/dist/index.d.ts +3 -8
- package/dist/index.js +9 -15
- package/dist/metro/build.d.ts +17 -0
- package/dist/metro/build.js +104 -0
- package/dist/metro/getMetroConfig.d.ts +2 -9
- package/dist/metro/getMetroConfig.js +4 -6
- package/dist/metro/index.d.ts +1 -2
- package/dist/metro/index.js +20 -3
- package/dist/operations/build.d.ts +15 -0
- package/dist/operations/{runBundle.js → build.js} +51 -51
- package/dist/operations/createDebuggerMiddleware.d.ts +1 -2
- package/dist/operations/createDebuggerMiddleware.js +4 -4
- package/dist/operations/experimental/serve.d.ts +11 -0
- package/dist/operations/experimental/{runServer.js → serve.js} +21 -25
- package/dist/operations/index.d.ts +3 -3
- package/dist/operations/index.js +23 -6
- package/dist/operations/openDebugger.d.ts +1 -1
- package/dist/operations/openDebugger.js +3 -2
- package/dist/operations/serve.d.ts +10 -0
- package/dist/operations/{runServer.js → serve.js} +15 -16
- package/dist/plugins/statusPlugin.js +1 -1
- package/dist/server/DevServer.d.ts +3 -0
- package/dist/server/DevServer.js +13 -14
- package/dist/server/helpers/createBundlerForDevServer.d.ts +3 -5
- package/dist/server/helpers/createBundlerForDevServer.js +10 -37
- package/dist/server/helpers/mergeBundles.d.ts +4 -4
- package/dist/server/helpers/mergeBundles.js +10 -10
- package/dist/server/plugins/serveBundlePlugin.d.ts +2 -2
- package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +2 -2
- package/dist/server/types.d.ts +9 -14
- package/dist/types/BundlerConfig.d.ts +1 -34
- package/dist/types/Id.d.ts +3 -0
- package/dist/{bundler/types.js → types/Id.js} +2 -2
- package/dist/types/Plugin.d.ts +2 -2
- package/dist/types/index.d.ts +1 -7
- package/dist/types/index.js +2 -14
- package/dist/utils/getId.js +1 -8
- package/dist/utils/progressBar.d.ts +1 -1
- package/dist/utils/writeBundle.d.ts +1 -1
- package/dist/vendors/metro/src/lib/ReportableEvent.d.ts +152 -0
- package/dist/vendors/metro/src/lib/TerminalReporter.d.ts +2 -2
- package/dist/vendors/metro-transform-worker/src/index.js +0 -1
- package/package.json +5 -4
- package/dist/bundler/types.d.ts +0 -17
- package/dist/metro/runBuild.d.ts +0 -12
- package/dist/metro/runBuild.js +0 -66
- package/dist/metro/runtime.d.ts +0 -3
- package/dist/metro/runtime.js +0 -56
- package/dist/metro/types.d.ts +0 -88
- package/dist/metro/types.js +0 -16
- package/dist/operations/experimental/runServer.d.ts +0 -16
- package/dist/operations/runBundle.d.ts +0 -12
- package/dist/operations/runServer.d.ts +0 -15
- package/dist/types/BuildConfig.d.ts +0 -183
- package/dist/types/BuildConfig.js +0 -16
- package/dist/types/Config.d.ts +0 -12
- package/dist/types/Config.js +0 -16
- package/dist/types/DevServerConfig.d.ts +0 -9
- package/dist/types/DevServerConfig.js +0 -16
- package/dist/types/Preset.d.ts +0 -3
- package/dist/types/Preset.js +0 -16
- package/dist/types/PresetContext.d.ts +0 -2
- package/dist/types/PresetContext.js +0 -16
- package/dist/types/ServicesConfig.d.ts +0 -2
- package/dist/types/ServicesConfig.js +0 -16
- package/dist/types/TaskConfig.d.ts +0 -16
- package/dist/types/TaskConfig.js +0 -16
- package/dist/types/schemas/buildConfigSchema.d.ts +0 -235
- package/dist/types/schemas/buildConfigSchema.js +0 -79
- package/dist/types/schemas/bundlerConfigSchema.d.ts +0 -3
- package/dist/types/schemas/bundlerConfigSchema.js +0 -51
- package/dist/types/schemas/configSchema.d.ts +0 -3
- package/dist/types/schemas/configSchema.js +0 -50
- package/dist/types/schemas/devServerConfigSchema.d.ts +0 -3
- package/dist/types/schemas/devServerConfigSchema.js +0 -43
- package/dist/types/schemas/index.d.ts +0 -6
- package/dist/types/schemas/index.js +0 -32
- package/dist/types/schemas/servicesConfigSchema.d.ts +0 -3
- package/dist/types/schemas/servicesConfigSchema.js +0 -48
- package/dist/types/schemas/taskConfigSchema.d.ts +0 -3
- package/dist/types/schemas/taskConfigSchema.js +0 -45
- package/dist/utils/loadConfig.d.ts +0 -2
- package/dist/utils/loadConfig.js +0 -37
- package/dist/utils/loadPresets.d.ts +0 -2
- package/dist/utils/loadPresets.js +0 -40
- package/dist/utils/mergeBanners.d.ts +0 -6
- package/dist/utils/mergeBanners.js +0 -35
- package/dist/utils/mergeBuildConfigs.d.ts +0 -2
- package/dist/utils/mergeBuildConfigs.js +0 -59
- package/dist/utils/mergeInject.d.ts +0 -3
- package/dist/utils/mergeInject.js +0 -30
|
@@ -26,72 +26,72 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
31
|
-
|
|
29
|
+
var build_exports = {};
|
|
30
|
+
__export(build_exports, {
|
|
31
|
+
build: () => build,
|
|
32
|
+
buildAll: () => buildAll
|
|
32
33
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var import_assert = __toESM(require("assert"));
|
|
34
|
+
module.exports = __toCommonJS(build_exports);
|
|
35
35
|
var fs = __toESM(require("fs/promises"));
|
|
36
36
|
var path = __toESM(require("path"));
|
|
37
|
-
var
|
|
37
|
+
var import_plugin_core = require("@granite-js/plugin-core");
|
|
38
38
|
var import_es_toolkit = require("es-toolkit");
|
|
39
|
-
var import__ = require("..");
|
|
40
39
|
var import_bundler = require("../bundler");
|
|
41
40
|
var import_performance = require("../performance");
|
|
42
|
-
var import_loadPresets = require("../utils/loadPresets");
|
|
43
41
|
var import_writeBundle = require("../utils/writeBundle");
|
|
44
|
-
async function
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
config.tasks.map(async ({ tag, build }) => {
|
|
60
|
-
if (typeof options.tag === "string" && tag !== options.tag) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const bundler = new import_bundler.Bundler({
|
|
64
|
-
tag,
|
|
65
|
-
buildConfig: build,
|
|
66
|
-
appName: config.appName,
|
|
67
|
-
scheme: config.scheme,
|
|
68
|
-
services: config.services,
|
|
69
|
-
dev: options.dev,
|
|
70
|
-
metafile: options.metafile,
|
|
71
|
-
rootDir: options.rootDir,
|
|
72
|
-
cache: options.cache
|
|
73
|
-
});
|
|
74
|
-
if (options.plugins) {
|
|
75
|
-
options.plugins.forEach((fn) => bundler.addPlugin(fn()));
|
|
76
|
-
}
|
|
77
|
-
const permit = await semaphore.acquire();
|
|
42
|
+
async function build({ config, plugins = [], ...options }) {
|
|
43
|
+
const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
|
|
44
|
+
await driver.build.pre();
|
|
45
|
+
const buildResult = await buildImpl(config, plugins, options);
|
|
46
|
+
await driver.build.post({ buildResults: [buildResult] });
|
|
47
|
+
return buildResult;
|
|
48
|
+
}
|
|
49
|
+
async function buildAll(optionsList, { config, plugins = [], concurrency = 2 }) {
|
|
50
|
+
const buildResults = [];
|
|
51
|
+
const semaphore = new import_es_toolkit.Semaphore(Math.min(concurrency, optionsList.length));
|
|
52
|
+
const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
|
|
53
|
+
await driver.build.pre();
|
|
54
|
+
await Promise.all(
|
|
55
|
+
optionsList.map(async (options) => {
|
|
56
|
+
await semaphore.acquire();
|
|
78
57
|
try {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
await permit.release();
|
|
58
|
+
const buildResult = await buildImpl(config, plugins, options);
|
|
59
|
+
buildResults.push(buildResult);
|
|
60
|
+
} catch {
|
|
61
|
+
semaphore.release();
|
|
84
62
|
}
|
|
85
63
|
})
|
|
86
|
-
)
|
|
64
|
+
);
|
|
65
|
+
await driver.build.post({ buildResults });
|
|
66
|
+
return buildResults;
|
|
67
|
+
}
|
|
68
|
+
async function buildImpl(config, plugins, { platform, outfile = `bundle.${platform}.js`, cache = true, dev = true, metafile = false }) {
|
|
69
|
+
const resolvedOutfile = path.join(config.outdir, outfile);
|
|
70
|
+
const bundler = new import_bundler.Bundler({
|
|
71
|
+
rootDir: config.cwd,
|
|
72
|
+
cache,
|
|
73
|
+
dev,
|
|
74
|
+
metafile,
|
|
75
|
+
buildConfig: {
|
|
76
|
+
platform,
|
|
77
|
+
outfile: resolvedOutfile,
|
|
78
|
+
...config.build
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
for (const plugin of plugins) {
|
|
82
|
+
bundler.addPlugin(plugin());
|
|
83
|
+
}
|
|
84
|
+
const buildResult = await bundler.build();
|
|
85
|
+
await (0, import_writeBundle.writeBundle)(buildResult.outfile, buildResult.bundle);
|
|
87
86
|
const performanceSummary = import_performance.Performance.getSummary();
|
|
88
87
|
if (performanceSummary != null) {
|
|
89
88
|
(0, import_performance.printSummary)(performanceSummary);
|
|
90
|
-
await fs.writeFile(path.join(
|
|
89
|
+
await fs.writeFile(path.join(config.cwd, "perf.json"), JSON.stringify(performanceSummary, null, 2), "utf-8");
|
|
91
90
|
}
|
|
92
|
-
return
|
|
91
|
+
return buildResult;
|
|
93
92
|
}
|
|
94
93
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
94
|
0 && (module.exports = {
|
|
96
|
-
|
|
95
|
+
build,
|
|
96
|
+
buildAll
|
|
97
97
|
});
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import connect from 'connect';
|
|
2
2
|
interface DebuggerMiddlewareConfig {
|
|
3
|
-
host?: string;
|
|
4
3
|
port: number;
|
|
5
4
|
broadcastMessage: (method: string, params?: Record<string, unknown>) => void;
|
|
6
5
|
}
|
|
7
|
-
export declare function createDebuggerMiddleware({
|
|
6
|
+
export declare function createDebuggerMiddleware({ port, broadcastMessage }: DebuggerMiddlewareConfig): {
|
|
8
7
|
middleware: connect.Server;
|
|
9
8
|
enableStdinWatchMode: () => void;
|
|
10
9
|
};
|
|
@@ -45,7 +45,7 @@ var import_vendors = require("../vendors");
|
|
|
45
45
|
const debug = (0, import_debug.default)("cli:start");
|
|
46
46
|
const { InspectorProxy } = (0, import_vendors.getModule)("metro-inspector-proxy");
|
|
47
47
|
const chromeInstanceMap = /* @__PURE__ */ new Map();
|
|
48
|
-
function createDebuggerMiddleware({
|
|
48
|
+
function createDebuggerMiddleware({ port, broadcastMessage }) {
|
|
49
49
|
const middleware = (0, import_connect.default)().use(`/${import_constants.DEBUGGER_FRONTEND_PATH}`, (0, import_serve_static.default)(import_path.default.resolve(import_devtools_frontend.default)));
|
|
50
50
|
function enableStdinWatchMode() {
|
|
51
51
|
if (!process.stdout.isTTY || process.stdin.setRawMode == null) {
|
|
@@ -80,14 +80,14 @@ function createDebuggerMiddleware({ host, port, broadcastMessage }) {
|
|
|
80
80
|
broadcastMessage("devMenu");
|
|
81
81
|
break;
|
|
82
82
|
case "j":
|
|
83
|
-
openReactNativeDebugger(
|
|
83
|
+
openReactNativeDebugger(port);
|
|
84
84
|
break;
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
return { middleware, enableStdinWatchMode };
|
|
89
89
|
}
|
|
90
|
-
async function openReactNativeDebugger(
|
|
90
|
+
async function openReactNativeDebugger(port) {
|
|
91
91
|
const connectedDevices = Array.from(InspectorProxy.devices.entries());
|
|
92
92
|
let targetDevice;
|
|
93
93
|
for (const [id, device] of connectedDevices) {
|
|
@@ -113,7 +113,7 @@ async function openReactNativeDebugger(host = "localhost", port) {
|
|
|
113
113
|
}
|
|
114
114
|
console.log(`Opening debugger for '${targetDevice.name}'...`);
|
|
115
115
|
chromeInstanceMap.get(targetDevice.id)?.kill();
|
|
116
|
-
(0, import_openDebugger.openDebugger)(
|
|
116
|
+
(0, import_openDebugger.openDebugger)(port, targetDevice.id.toString()).then((chrome) => {
|
|
117
117
|
chromeInstanceMap.set(targetDevice.id, chrome);
|
|
118
118
|
}).catch((error) => {
|
|
119
119
|
if (error.message.includes("ECONNREFUSED")) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CompleteGraniteConfig } from '@granite-js/plugin-core';
|
|
2
|
+
interface RunServerArgs {
|
|
3
|
+
config: CompleteGraniteConfig;
|
|
4
|
+
host?: string;
|
|
5
|
+
port?: number;
|
|
6
|
+
onServerReady?: () => Promise<void> | void;
|
|
7
|
+
}
|
|
8
|
+
export declare function EXPERIMENTAL__server({ config, host, port, onServerReady, }: RunServerArgs): Promise<{
|
|
9
|
+
cleanup: () => Promise<void>;
|
|
10
|
+
}>;
|
|
11
|
+
export {};
|
|
@@ -26,11 +26,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
31
|
-
|
|
29
|
+
var serve_exports = {};
|
|
30
|
+
__export(serve_exports, {
|
|
31
|
+
EXPERIMENTAL__server: () => EXPERIMENTAL__server
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
33
|
+
module.exports = __toCommonJS(serve_exports);
|
|
34
|
+
var import_plugin_core = require("@granite-js/plugin-core");
|
|
34
35
|
var import_prompts = require("@inquirer/prompts");
|
|
35
36
|
var import_debug = __toESM(require("debug"));
|
|
36
37
|
var import_StartMenuHandler = require("./StartMenuHandler");
|
|
@@ -40,52 +41,47 @@ var import_printLogo = require("../../utils/printLogo");
|
|
|
40
41
|
var import_openDebugger = require("../openDebugger");
|
|
41
42
|
const debug = (0, import_debug.default)("cli:start");
|
|
42
43
|
const chromeInstanceMap = /* @__PURE__ */ new Map();
|
|
43
|
-
async function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
devServerConfig,
|
|
47
|
-
host,
|
|
44
|
+
async function EXPERIMENTAL__server({
|
|
45
|
+
config,
|
|
46
|
+
host = import_constants.DEV_SERVER_DEFAULT_HOST,
|
|
48
47
|
port = import_constants.DEV_SERVER_DEFAULT_PORT,
|
|
49
|
-
plugins,
|
|
50
|
-
preloadBundle,
|
|
51
48
|
onServerReady
|
|
52
49
|
}) {
|
|
53
|
-
const
|
|
50
|
+
const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
|
|
51
|
+
await driver.devServer.pre({ host, port });
|
|
52
|
+
const rootDir = config.cwd;
|
|
54
53
|
const server = new import_DevServer.DevServer({
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
build: devServerConfig.build,
|
|
58
|
-
presets: devServerConfig.presets,
|
|
54
|
+
buildConfig: config.build,
|
|
55
|
+
middlewares: config.devServer?.middlewares ?? [],
|
|
59
56
|
host,
|
|
60
57
|
port,
|
|
61
|
-
preloadBundle,
|
|
62
|
-
plugins,
|
|
63
58
|
rootDir
|
|
64
59
|
});
|
|
65
60
|
(0, import_printLogo.printLogo)();
|
|
66
61
|
await server.initialize();
|
|
67
62
|
await server.listen();
|
|
63
|
+
await driver.devServer.post({ host, port });
|
|
68
64
|
await onServerReady?.();
|
|
69
65
|
const menuHandler = new import_StartMenuHandler.StartMenuHandler([
|
|
70
66
|
{
|
|
71
67
|
key: "r",
|
|
72
|
-
description: "
|
|
68
|
+
description: "Refresh",
|
|
73
69
|
action: () => {
|
|
74
|
-
console.log("
|
|
70
|
+
console.log("Refreshing...");
|
|
75
71
|
server.broadcastCommand("reload");
|
|
76
72
|
}
|
|
77
73
|
},
|
|
78
74
|
{
|
|
79
75
|
key: "d",
|
|
80
|
-
description: "
|
|
76
|
+
description: "Open Developer Menu",
|
|
81
77
|
action: () => {
|
|
82
|
-
console.log("
|
|
78
|
+
console.log("Opening developer menu...");
|
|
83
79
|
server.broadcastCommand("devMenu");
|
|
84
80
|
}
|
|
85
81
|
},
|
|
86
82
|
{
|
|
87
83
|
key: "j",
|
|
88
|
-
description: "Debugger
|
|
84
|
+
description: "Open Debugger",
|
|
89
85
|
action: async () => {
|
|
90
86
|
const devices = server.getInspectorProxy()?.getDevices();
|
|
91
87
|
const connectedDevices = Array.from(devices?.entries() ?? []);
|
|
@@ -113,7 +109,7 @@ async function experimental_runServer({
|
|
|
113
109
|
}
|
|
114
110
|
console.log(`Opening debugger for '${targetDevice.name}'...`);
|
|
115
111
|
chromeInstanceMap.get(targetDevice.id)?.kill();
|
|
116
|
-
(0, import_openDebugger.openDebugger)(server.
|
|
112
|
+
(0, import_openDebugger.openDebugger)(server.port, targetDevice.id).then((chrome) => {
|
|
117
113
|
chromeInstanceMap.set(targetDevice.id, chrome);
|
|
118
114
|
}).catch((error) => {
|
|
119
115
|
if (error.message.includes("ECONNREFUSED")) {
|
|
@@ -133,5 +129,5 @@ async function experimental_runServer({
|
|
|
133
129
|
}
|
|
134
130
|
// Annotate the CommonJS export names for ESM import in node:
|
|
135
131
|
0 && (module.exports = {
|
|
136
|
-
|
|
132
|
+
EXPERIMENTAL__server
|
|
137
133
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './experimental/
|
|
1
|
+
export * as BuildUtils from './build';
|
|
2
|
+
export * from './serve';
|
|
3
|
+
export * from './experimental/serve';
|
package/dist/operations/index.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
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
|
+
};
|
|
6
12
|
var __copyProps = (to, from, except, desc) => {
|
|
7
13
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
14
|
for (let key of __getOwnPropNames(from))
|
|
@@ -12,15 +18,26 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
12
18
|
return to;
|
|
13
19
|
};
|
|
14
20
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
15
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
30
|
var operations_exports = {};
|
|
31
|
+
__export(operations_exports, {
|
|
32
|
+
BuildUtils: () => BuildUtils
|
|
33
|
+
});
|
|
17
34
|
module.exports = __toCommonJS(operations_exports);
|
|
18
|
-
|
|
19
|
-
__reExport(operations_exports, require("./
|
|
20
|
-
__reExport(operations_exports, require("./experimental/
|
|
35
|
+
var BuildUtils = __toESM(require("./build"));
|
|
36
|
+
__reExport(operations_exports, require("./serve"), module.exports);
|
|
37
|
+
__reExport(operations_exports, require("./experimental/serve"), module.exports);
|
|
21
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
22
39
|
0 && (module.exports = {
|
|
23
|
-
|
|
24
|
-
...require("./
|
|
25
|
-
...require("./experimental/
|
|
40
|
+
BuildUtils,
|
|
41
|
+
...require("./serve"),
|
|
42
|
+
...require("./experimental/serve")
|
|
26
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function openDebugger(
|
|
1
|
+
export declare function openDebugger(port: number, deviceId: string): Promise<import("chrome-launcher").LaunchedChrome>;
|
|
@@ -36,8 +36,9 @@ var os = __toESM(require("os"));
|
|
|
36
36
|
var path = __toESM(require("path"));
|
|
37
37
|
var import_chrome_launcher = require("chrome-launcher");
|
|
38
38
|
var import_constants = require("./constants");
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const DEBUGGER_HOST = "localhost";
|
|
40
|
+
async function openDebugger(port, deviceId) {
|
|
41
|
+
const appUrl = getDevToolsFrontendUrl(DEBUGGER_HOST, port, deviceId);
|
|
41
42
|
const tempDir = await createTemporaryDirectory();
|
|
42
43
|
const chromePath = (0, import_chrome_launcher.getChromePath)();
|
|
43
44
|
if (!chromePath) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CompleteGraniteConfig } from '@granite-js/plugin-core';
|
|
2
|
+
interface RunServerConfig {
|
|
3
|
+
config: CompleteGraniteConfig;
|
|
4
|
+
host?: string;
|
|
5
|
+
port?: number;
|
|
6
|
+
enableEmbeddedReactDevTools?: boolean;
|
|
7
|
+
onServerReady?: () => Promise<void> | void;
|
|
8
|
+
}
|
|
9
|
+
export declare function runServer({ config, host, port, enableEmbeddedReactDevTools, onServerReady, }: RunServerConfig): Promise<void>;
|
|
10
|
+
export {};
|
|
@@ -26,18 +26,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var serve_exports = {};
|
|
30
|
+
__export(serve_exports, {
|
|
31
31
|
runServer: () => runServer
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
33
|
+
module.exports = __toCommonJS(serve_exports);
|
|
34
|
+
var import_plugin_core = require("@granite-js/plugin-core");
|
|
34
35
|
var import_cli_server_api = require("@react-native-community/cli-server-api");
|
|
35
36
|
var import_debug = __toESM(require("debug"));
|
|
36
37
|
var import_backend = require("react-native-devtools-standalone/backend");
|
|
37
38
|
var import_createDebuggerMiddleware = require("./createDebuggerMiddleware");
|
|
38
39
|
var import_constants = require("../constants");
|
|
39
40
|
var import_getMetroConfig = require("../metro/getMetroConfig");
|
|
40
|
-
var import_loadConfig = require("../utils/loadConfig");
|
|
41
41
|
var import_printLogo = require("../utils/printLogo");
|
|
42
42
|
var import_vendors = require("../vendors");
|
|
43
43
|
const debug = (0, import_debug.default)("cli:start");
|
|
@@ -45,17 +45,14 @@ const { Metro, TerminalReporter } = (0, import_vendors.getModule)("metro");
|
|
|
45
45
|
const { Terminal } = (0, import_vendors.getModule)("metro-core");
|
|
46
46
|
const { mergeConfig } = (0, import_vendors.getModule)("metro-config");
|
|
47
47
|
async function runServer({
|
|
48
|
-
|
|
48
|
+
config,
|
|
49
|
+
host = import_constants.DEV_SERVER_DEFAULT_HOST,
|
|
49
50
|
port = import_constants.DEV_SERVER_DEFAULT_PORT,
|
|
50
|
-
middlewares = [],
|
|
51
51
|
enableEmbeddedReactDevTools = true,
|
|
52
|
-
onServerReady
|
|
53
|
-
cwd = process.cwd(),
|
|
54
|
-
config: $config,
|
|
55
|
-
additionalConfig
|
|
52
|
+
onServerReady
|
|
56
53
|
}) {
|
|
57
|
-
const config = $config ?? await (0, import_loadConfig.loadConfig)({ rootDir: cwd });
|
|
58
54
|
const ref = {};
|
|
55
|
+
const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
|
|
59
56
|
const terminal = new Terminal(process.stdout);
|
|
60
57
|
const terminalReporter = new TerminalReporter(terminal);
|
|
61
58
|
const reporter = {
|
|
@@ -63,12 +60,16 @@ async function runServer({
|
|
|
63
60
|
debug("Reporter event", event);
|
|
64
61
|
terminalReporter.update(event);
|
|
65
62
|
ref.reportEvent?.(event);
|
|
63
|
+
if (baseConfig.reporter?.update) {
|
|
64
|
+
baseConfig.reporter.update(event);
|
|
65
|
+
}
|
|
66
66
|
switch (event.type) {
|
|
67
67
|
case "initialize_started":
|
|
68
68
|
(0, import_printLogo.printLogo)();
|
|
69
69
|
break;
|
|
70
70
|
case "initialize_done":
|
|
71
71
|
enableStdinWatchMode();
|
|
72
|
+
await driver.devServer.post({ host, port });
|
|
72
73
|
await onServerReady?.();
|
|
73
74
|
break;
|
|
74
75
|
default:
|
|
@@ -76,10 +77,8 @@ async function runServer({
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
additionalConfig
|
|
82
|
-
);
|
|
80
|
+
const { middlewares = [], ...additionalMetroConfig } = config.metro ?? {};
|
|
81
|
+
const baseConfig = await (0, import_getMetroConfig.getMetroConfig)({ rootPath: config.cwd }, additionalMetroConfig);
|
|
83
82
|
const metroConfig = mergeConfig(baseConfig, {
|
|
84
83
|
server: { port },
|
|
85
84
|
reporter
|
|
@@ -90,7 +89,6 @@ async function runServer({
|
|
|
90
89
|
watchFolders: metroConfig.watchFolders
|
|
91
90
|
});
|
|
92
91
|
const { middleware: debuggerMiddleware, enableStdinWatchMode } = (0, import_createDebuggerMiddleware.createDebuggerMiddleware)({
|
|
93
|
-
host,
|
|
94
92
|
port,
|
|
95
93
|
broadcastMessage: messageSocketEndpoint.broadcast
|
|
96
94
|
});
|
|
@@ -122,6 +120,7 @@ async function runServer({
|
|
|
122
120
|
}
|
|
123
121
|
ref.reportEvent = eventsSocketEndpoint.reportEvent;
|
|
124
122
|
ref.enableStdinWatchMode = enableStdinWatchMode;
|
|
123
|
+
await driver.devServer.pre({ host, port });
|
|
125
124
|
const serverInstance = await Metro.runServer(metroConfig, {
|
|
126
125
|
host,
|
|
127
126
|
websocketEndpoints
|
|
@@ -34,7 +34,7 @@ function statusPlugin(handlers) {
|
|
|
34
34
|
if (progressBar != null) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
progressBar = (0, import_progressBar.createProgressBar)(
|
|
37
|
+
progressBar = (0, import_progressBar.createProgressBar)(config.buildConfig.platform);
|
|
38
38
|
totalModuleCount = import_PersistentStorage.persistentStorage.getData()[this.id]?.totalModuleCount;
|
|
39
39
|
},
|
|
40
40
|
buildStart() {
|
package/dist/server/DevServer.js
CHANGED
|
@@ -32,7 +32,6 @@ __export(DevServer_exports, {
|
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(DevServer_exports);
|
|
34
34
|
var import_assert = __toESM(require("assert"));
|
|
35
|
-
var fs = __toESM(require("fs/promises"));
|
|
36
35
|
var import_fastify = __toESM(require("fastify"));
|
|
37
36
|
var import_backend = require("react-native-devtools-standalone/backend");
|
|
38
37
|
var import_DebuggerEventHandler = require("./debugger/DebuggerEventHandler");
|
|
@@ -73,9 +72,9 @@ class DevServer {
|
|
|
73
72
|
wssDelegate;
|
|
74
73
|
async initialize() {
|
|
75
74
|
import_logger.logger.trace("DevServer.initialize");
|
|
76
|
-
const { rootDir,
|
|
75
|
+
const { rootDir, buildConfig } = this.devServerOptions;
|
|
77
76
|
await import_PersistentStorage.persistentStorage.loadData();
|
|
78
|
-
this.context = await this.createDevServerContext(rootDir,
|
|
77
|
+
this.context = await this.createDevServerContext(rootDir, buildConfig);
|
|
79
78
|
}
|
|
80
79
|
listen() {
|
|
81
80
|
import_logger.logger.trace("DevServer.listen");
|
|
@@ -135,7 +134,7 @@ class DevServer {
|
|
|
135
134
|
}
|
|
136
135
|
});
|
|
137
136
|
app.register(serverPlugins.statusPlugin, { rootDir: this.devServerOptions.rootDir }).register(serverPlugins.debuggerPlugin, { onReload: () => this.wssDelegate?.broadcastCommand("reload") }).register(serverPlugins.serveBundlePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.symbolicatePlugin, { getBundle: this.getBundle.bind(this) }).register(serverPlugins.indexPagePlugin).addHook("onRequest", inspectorProxy.handleRequest).addHook("onSend", this.setCommonHeaders);
|
|
138
|
-
for (const plugin of this.devServerOptions.
|
|
137
|
+
for (const plugin of this.devServerOptions.middlewares ?? []) {
|
|
139
138
|
app.register(plugin);
|
|
140
139
|
}
|
|
141
140
|
new import_wss.WebSocketServerRouter().register("/hot", liveReloadMiddleware.server).register("/debugger-proxy", debuggerProxySocket.server).register("/message", messageSocket.server).register("/events", eventsSocket.server).register("/inspector/device", inspectorProxyWss.deviceSocketServer).register("/inspector/debug", inspectorProxyWss.debuggerSocketServer).setup(app);
|
|
@@ -161,10 +160,10 @@ class DevServer {
|
|
|
161
160
|
reply.header("Expires", "0");
|
|
162
161
|
next();
|
|
163
162
|
}
|
|
164
|
-
async createDevServerContext(rootDir,
|
|
163
|
+
async createDevServerContext(rootDir, buildConfig) {
|
|
165
164
|
const [androidBundler, iosBundler] = await Promise.all([
|
|
166
|
-
(0, import_createBundlerForDevServer.
|
|
167
|
-
(0, import_createBundlerForDevServer.
|
|
165
|
+
(0, import_createBundlerForDevServer.createBundlerForDevServer)({ rootDir, platform: "android", buildConfig }),
|
|
166
|
+
(0, import_createBundlerForDevServer.createBundlerForDevServer)({ rootDir, platform: "ios", buildConfig })
|
|
168
167
|
]);
|
|
169
168
|
[androidBundler, iosBundler].forEach((bundler) => {
|
|
170
169
|
bundler.addPlugin(
|
|
@@ -180,15 +179,14 @@ class DevServer {
|
|
|
180
179
|
);
|
|
181
180
|
});
|
|
182
181
|
return {
|
|
183
|
-
config,
|
|
184
182
|
rootDir,
|
|
185
183
|
android: {
|
|
186
184
|
bundler: androidBundler,
|
|
187
|
-
progressBar: (0, import_progressBar.createProgressBar)(
|
|
185
|
+
progressBar: (0, import_progressBar.createProgressBar)("android")
|
|
188
186
|
},
|
|
189
187
|
ios: {
|
|
190
188
|
bundler: iosBundler,
|
|
191
|
-
progressBar: (0, import_progressBar.createProgressBar)(
|
|
189
|
+
progressBar: (0, import_progressBar.createProgressBar)("ios")
|
|
192
190
|
}
|
|
193
191
|
};
|
|
194
192
|
}
|
|
@@ -196,12 +194,13 @@ class DevServer {
|
|
|
196
194
|
const { bundler } = this.getContext()[platform];
|
|
197
195
|
const { bundle } = await bundler.build({ withDispose: false });
|
|
198
196
|
let targetBundle;
|
|
199
|
-
if (
|
|
200
|
-
const
|
|
197
|
+
if (globalThis.remoteBundles != null) {
|
|
198
|
+
const hostBundleContent = bundle.source.text;
|
|
199
|
+
const remoteBundleContent = globalThis.remoteBundles[platform];
|
|
201
200
|
const mergedBundle = await (0, import_mergeBundles.mergeBundles)({
|
|
202
201
|
platform,
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
hostBundleContent,
|
|
203
|
+
remoteBundleContent
|
|
205
204
|
});
|
|
206
205
|
targetBundle = mergedBundle;
|
|
207
206
|
} else {
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
import type { BuildConfig } from '@granite-js/plugin-core';
|
|
1
2
|
import { Bundler } from '../../bundler';
|
|
2
|
-
import { DevServerConfig } from '../../types';
|
|
3
3
|
import { Platform } from '../types';
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function createBundlerForDevServer({ rootDir, platform, buildConfig, }: {
|
|
5
5
|
rootDir: string;
|
|
6
|
-
appName: string;
|
|
7
|
-
scheme: string;
|
|
8
6
|
platform: Platform;
|
|
9
|
-
|
|
7
|
+
buildConfig: Omit<BuildConfig, 'outfile' | 'platform'>;
|
|
10
8
|
}): Promise<Bundler>;
|
|
@@ -18,58 +18,31 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var createBundlerForDevServer_exports = {};
|
|
20
20
|
__export(createBundlerForDevServer_exports, {
|
|
21
|
-
|
|
21
|
+
createBundlerForDevServer: () => createBundlerForDevServer
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(createBundlerForDevServer_exports);
|
|
24
24
|
var import_bundler = require("../../bundler");
|
|
25
25
|
var import_getBundleName = require("../../utils/getBundleName");
|
|
26
|
-
var import_loadPresets = require("../../utils/loadPresets");
|
|
27
26
|
var import_constants = require("../constants");
|
|
28
|
-
async function
|
|
27
|
+
async function createBundlerForDevServer({
|
|
29
28
|
rootDir,
|
|
30
|
-
appName,
|
|
31
|
-
scheme,
|
|
32
29
|
platform,
|
|
33
|
-
|
|
30
|
+
buildConfig
|
|
34
31
|
}) {
|
|
35
|
-
const tag = "dev-server";
|
|
36
|
-
const dev = true;
|
|
37
32
|
const bundleName = (0, import_getBundleName.getBundleName)(import_constants.DEV_SERVER_BUNDLE_NAME);
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
tag,
|
|
41
|
-
presets: config.presets,
|
|
42
|
-
build: {
|
|
43
|
-
...config.build,
|
|
44
|
-
platform,
|
|
45
|
-
outfile: bundleName
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
rootDir,
|
|
50
|
-
appName,
|
|
51
|
-
scheme,
|
|
52
|
-
dev
|
|
53
|
-
}
|
|
54
|
-
);
|
|
55
|
-
const bundler = new import_bundler.Bundler({
|
|
56
|
-
tag,
|
|
33
|
+
return new import_bundler.Bundler({
|
|
57
34
|
rootDir,
|
|
58
|
-
|
|
59
|
-
scheme,
|
|
60
|
-
dev,
|
|
35
|
+
dev: true,
|
|
61
36
|
cache: true,
|
|
62
37
|
metafile: false,
|
|
63
|
-
buildConfig:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
38
|
+
buildConfig: {
|
|
39
|
+
...buildConfig,
|
|
40
|
+
platform,
|
|
41
|
+
outfile: bundleName
|
|
68
42
|
}
|
|
69
43
|
});
|
|
70
|
-
return bundler;
|
|
71
44
|
}
|
|
72
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
73
46
|
0 && (module.exports = {
|
|
74
|
-
|
|
47
|
+
createBundlerForDevServer
|
|
75
48
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BundleData } from '
|
|
1
|
+
import type { BundleData } from '@granite-js/plugin-core';
|
|
2
2
|
import { Platform } from '../types';
|
|
3
|
-
export declare function mergeBundles({ platform,
|
|
3
|
+
export declare function mergeBundles({ platform, hostBundleContent, remoteBundleContent, }: {
|
|
4
4
|
platform: Platform;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
hostBundleContent: string;
|
|
6
|
+
remoteBundleContent: string;
|
|
7
7
|
}): Promise<BundleData>;
|