@granite-js/mpack 0.1.7 → 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.
Files changed (91) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/bundler/Bundler.d.ts +1 -1
  3. package/dist/bundler/Bundler.js +2 -2
  4. package/dist/bundler/internal/presets.d.ts +2 -1
  5. package/dist/bundler/internal/presets.js +2 -4
  6. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.d.ts +2 -2
  7. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.js +4 -5
  8. package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.d.ts +1 -1
  9. package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.d.ts +1 -1
  10. package/dist/bundler/plugins/shared/swc.d.ts +1 -1
  11. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +1 -1
  12. package/dist/constants/index.d.ts +1 -1
  13. package/dist/constants/index.js +1 -1
  14. package/dist/index.d.ts +3 -6
  15. package/dist/index.js +9 -9
  16. package/dist/metro/build.d.ts +17 -0
  17. package/dist/metro/build.js +104 -0
  18. package/dist/metro/getMetroConfig.d.ts +2 -13
  19. package/dist/metro/getMetroConfig.js +3 -6
  20. package/dist/metro/index.d.ts +1 -2
  21. package/dist/metro/index.js +20 -3
  22. package/dist/operations/build.d.ts +15 -0
  23. package/dist/operations/{runBundle.js → build.js} +51 -37
  24. package/dist/operations/createDebuggerMiddleware.d.ts +1 -2
  25. package/dist/operations/createDebuggerMiddleware.js +4 -4
  26. package/dist/operations/experimental/serve.d.ts +11 -0
  27. package/dist/operations/experimental/{runServer.js → serve.js} +21 -22
  28. package/dist/operations/index.d.ts +3 -3
  29. package/dist/operations/index.js +23 -6
  30. package/dist/operations/openDebugger.d.ts +1 -1
  31. package/dist/operations/openDebugger.js +3 -2
  32. package/dist/operations/serve.d.ts +10 -0
  33. package/dist/operations/{runServer.js → serve.js} +11 -13
  34. package/dist/plugins/statusPlugin.js +1 -1
  35. package/dist/server/DevServer.js +8 -9
  36. package/dist/server/helpers/createBundlerForDevServer.d.ts +3 -5
  37. package/dist/server/helpers/createBundlerForDevServer.js +7 -20
  38. package/dist/server/helpers/mergeBundles.d.ts +1 -1
  39. package/dist/server/plugins/serveBundlePlugin.d.ts +2 -2
  40. package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +2 -2
  41. package/dist/server/types.d.ts +9 -13
  42. package/dist/types/BundlerConfig.d.ts +1 -34
  43. package/dist/types/Id.d.ts +3 -0
  44. package/dist/{bundler/types.js → types/Id.js} +2 -2
  45. package/dist/types/Plugin.d.ts +2 -2
  46. package/dist/types/index.d.ts +1 -5
  47. package/dist/types/index.js +2 -10
  48. package/dist/utils/getId.js +1 -8
  49. package/dist/utils/progressBar.d.ts +1 -1
  50. package/dist/utils/writeBundle.d.ts +1 -1
  51. package/package.json +5 -4
  52. package/dist/bundler/types.d.ts +0 -17
  53. package/dist/metro/runBuild.d.ts +0 -12
  54. package/dist/metro/runBuild.js +0 -66
  55. package/dist/metro/runtime.d.ts +0 -3
  56. package/dist/metro/runtime.js +0 -54
  57. package/dist/metro/types.d.ts +0 -92
  58. package/dist/metro/types.js +0 -16
  59. package/dist/operations/experimental/runServer.d.ts +0 -15
  60. package/dist/operations/runBundle.d.ts +0 -12
  61. package/dist/operations/runServer.d.ts +0 -15
  62. package/dist/types/BuildConfig.d.ts +0 -183
  63. package/dist/types/BuildConfig.js +0 -16
  64. package/dist/types/Config.d.ts +0 -12
  65. package/dist/types/Config.js +0 -16
  66. package/dist/types/DevServerConfig.d.ts +0 -4
  67. package/dist/types/DevServerConfig.js +0 -16
  68. package/dist/types/ServicesConfig.d.ts +0 -2
  69. package/dist/types/ServicesConfig.js +0 -16
  70. package/dist/types/TaskConfig.d.ts +0 -11
  71. package/dist/types/TaskConfig.js +0 -16
  72. package/dist/types/schemas/buildConfigSchema.d.ts +0 -198
  73. package/dist/types/schemas/buildConfigSchema.js +0 -70
  74. package/dist/types/schemas/bundlerConfigSchema.d.ts +0 -3
  75. package/dist/types/schemas/bundlerConfigSchema.js +0 -51
  76. package/dist/types/schemas/configSchema.d.ts +0 -3
  77. package/dist/types/schemas/configSchema.js +0 -50
  78. package/dist/types/schemas/devServerConfigSchema.d.ts +0 -3
  79. package/dist/types/schemas/devServerConfigSchema.js +0 -42
  80. package/dist/types/schemas/index.d.ts +0 -6
  81. package/dist/types/schemas/index.js +0 -32
  82. package/dist/types/schemas/servicesConfigSchema.d.ts +0 -3
  83. package/dist/types/schemas/servicesConfigSchema.js +0 -48
  84. package/dist/types/schemas/taskConfigSchema.d.ts +0 -3
  85. package/dist/types/schemas/taskConfigSchema.js +0 -44
  86. package/dist/utils/mergeBanners.d.ts +0 -6
  87. package/dist/utils/mergeBanners.js +0 -35
  88. package/dist/utils/mergeBuildConfigs.d.ts +0 -2
  89. package/dist/utils/mergeBuildConfigs.js +0 -59
  90. package/dist/utils/mergeInject.d.ts +0 -3
  91. package/dist/utils/mergeInject.js +0 -30
@@ -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 runServer_exports = {};
30
- __export(runServer_exports, {
31
- experimental_runServer: () => experimental_runServer
29
+ var serve_exports = {};
30
+ __export(serve_exports, {
31
+ EXPERIMENTAL__server: () => EXPERIMENTAL__server
32
32
  });
33
- module.exports = __toCommonJS(runServer_exports);
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,49 +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 experimental_runServer({
44
- appName,
45
- scheme,
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
48
  onServerReady
51
49
  }) {
52
- const rootDir = process.cwd();
50
+ const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
51
+ await driver.devServer.pre({ host, port });
52
+ const rootDir = config.cwd;
53
53
  const server = new import_DevServer.DevServer({
54
- appName,
55
- scheme,
56
- build: devServerConfig.build,
54
+ buildConfig: config.build,
55
+ middlewares: config.devServer?.middlewares ?? [],
57
56
  host,
58
57
  port,
59
- plugins,
60
58
  rootDir
61
59
  });
62
60
  (0, import_printLogo.printLogo)();
63
61
  await server.initialize();
64
62
  await server.listen();
63
+ await driver.devServer.post({ host, port });
65
64
  await onServerReady?.();
66
65
  const menuHandler = new import_StartMenuHandler.StartMenuHandler([
67
66
  {
68
67
  key: "r",
69
- description: "\uC0C8\uB85C\uACE0\uCE68",
68
+ description: "Refresh",
70
69
  action: () => {
71
- console.log("\uC0C8\uB85C\uACE0\uCE68 \uC911...");
70
+ console.log("Refreshing...");
72
71
  server.broadcastCommand("reload");
73
72
  }
74
73
  },
75
74
  {
76
75
  key: "d",
77
- description: "\uAC1C\uBC1C\uC790 \uBA54\uB274 \uC5F4\uAE30",
76
+ description: "Open Developer Menu",
78
77
  action: () => {
79
- console.log("\uAC1C\uBC1C\uC790 \uBA54\uB274 \uC5EC\uB294 \uC911...");
78
+ console.log("Opening developer menu...");
80
79
  server.broadcastCommand("devMenu");
81
80
  }
82
81
  },
83
82
  {
84
83
  key: "j",
85
- description: "Debugger \uC5F4\uAE30",
84
+ description: "Open Debugger",
86
85
  action: async () => {
87
86
  const devices = server.getInspectorProxy()?.getDevices();
88
87
  const connectedDevices = Array.from(devices?.entries() ?? []);
@@ -110,7 +109,7 @@ async function experimental_runServer({
110
109
  }
111
110
  console.log(`Opening debugger for '${targetDevice.name}'...`);
112
111
  chromeInstanceMap.get(targetDevice.id)?.kill();
113
- (0, import_openDebugger.openDebugger)(server.host, server.port, targetDevice.id).then((chrome) => {
112
+ (0, import_openDebugger.openDebugger)(server.port, targetDevice.id).then((chrome) => {
114
113
  chromeInstanceMap.set(targetDevice.id, chrome);
115
114
  }).catch((error) => {
116
115
  if (error.message.includes("ECONNREFUSED")) {
@@ -130,5 +129,5 @@ async function experimental_runServer({
130
129
  }
131
130
  // Annotate the CommonJS export names for ESM import in node:
132
131
  0 && (module.exports = {
133
- experimental_runServer
132
+ EXPERIMENTAL__server
134
133
  });
@@ -1,3 +1,3 @@
1
- export * from './runBundle';
2
- export * from './runServer';
3
- export * from './experimental/runServer';
1
+ export * as BuildUtils from './build';
2
+ export * from './serve';
3
+ export * from './experimental/serve';
@@ -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
- __reExport(operations_exports, require("./runBundle"), module.exports);
19
- __reExport(operations_exports, require("./runServer"), module.exports);
20
- __reExport(operations_exports, require("./experimental/runServer"), module.exports);
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
- ...require("./runBundle"),
24
- ...require("./runServer"),
25
- ...require("./experimental/runServer")
40
+ BuildUtils,
41
+ ...require("./serve"),
42
+ ...require("./experimental/serve")
26
43
  });
@@ -1 +1 @@
1
- export declare function openDebugger(host: string | undefined, port: number, deviceId: string): Promise<import("chrome-launcher").LaunchedChrome>;
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
- async function openDebugger(host = "localhost", port, deviceId) {
40
- const appUrl = getDevToolsFrontendUrl(host, port, deviceId);
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,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 runServer_exports = {};
30
- __export(runServer_exports, {
29
+ var serve_exports = {};
30
+ __export(serve_exports, {
31
31
  runServer: () => runServer
32
32
  });
33
- module.exports = __toCommonJS(runServer_exports);
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");
@@ -45,15 +46,13 @@ const { Terminal } = (0, import_vendors.getModule)("metro-core");
45
46
  const { mergeConfig } = (0, import_vendors.getModule)("metro-config");
46
47
  async function runServer({
47
48
  config,
48
- host,
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
- additionalConfig
52
+ onServerReady
55
53
  }) {
56
54
  const ref = {};
55
+ const driver = (0, import_plugin_core.createPluginHooksDriver)(config);
57
56
  const terminal = new Terminal(process.stdout);
58
57
  const terminalReporter = new TerminalReporter(terminal);
59
58
  const reporter = {
@@ -70,6 +69,7 @@ async function runServer({
70
69
  break;
71
70
  case "initialize_done":
72
71
  enableStdinWatchMode();
72
+ await driver.devServer.post({ host, port });
73
73
  await onServerReady?.();
74
74
  break;
75
75
  default:
@@ -77,10 +77,8 @@ async function runServer({
77
77
  }
78
78
  }
79
79
  };
80
- const baseConfig = await (0, import_getMetroConfig.getMetroConfig)(
81
- { rootPath: cwd, appName: config.appName, scheme: config.scheme },
82
- additionalConfig
83
- );
80
+ const { middlewares = [], ...additionalMetroConfig } = config.metro ?? {};
81
+ const baseConfig = await (0, import_getMetroConfig.getMetroConfig)({ rootPath: config.cwd }, additionalMetroConfig);
84
82
  const metroConfig = mergeConfig(baseConfig, {
85
83
  server: { port },
86
84
  reporter
@@ -91,7 +89,6 @@ async function runServer({
91
89
  watchFolders: metroConfig.watchFolders
92
90
  });
93
91
  const { middleware: debuggerMiddleware, enableStdinWatchMode } = (0, import_createDebuggerMiddleware.createDebuggerMiddleware)({
94
- host,
95
92
  port,
96
93
  broadcastMessage: messageSocketEndpoint.broadcast
97
94
  });
@@ -123,6 +120,7 @@ async function runServer({
123
120
  }
124
121
  ref.reportEvent = eventsSocketEndpoint.reportEvent;
125
122
  ref.enableStdinWatchMode = enableStdinWatchMode;
123
+ await driver.devServer.pre({ host, port });
126
124
  const serverInstance = await Metro.runServer(metroConfig, {
127
125
  host,
128
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)(`${config.appName}:${config.buildConfig.platform}`);
37
+ progressBar = (0, import_progressBar.createProgressBar)(config.buildConfig.platform);
38
38
  totalModuleCount = import_PersistentStorage.persistentStorage.getData()[this.id]?.totalModuleCount;
39
39
  },
40
40
  buildStart() {
@@ -72,9 +72,9 @@ class DevServer {
72
72
  wssDelegate;
73
73
  async initialize() {
74
74
  import_logger.logger.trace("DevServer.initialize");
75
- const { rootDir, appName, scheme, ...devServerConfig } = this.devServerOptions;
75
+ const { rootDir, buildConfig } = this.devServerOptions;
76
76
  await import_PersistentStorage.persistentStorage.loadData();
77
- this.context = await this.createDevServerContext(rootDir, appName, scheme, devServerConfig);
77
+ this.context = await this.createDevServerContext(rootDir, buildConfig);
78
78
  }
79
79
  listen() {
80
80
  import_logger.logger.trace("DevServer.listen");
@@ -134,7 +134,7 @@ class DevServer {
134
134
  }
135
135
  });
136
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);
137
- for (const plugin of this.devServerOptions.plugins ?? []) {
137
+ for (const plugin of this.devServerOptions.middlewares ?? []) {
138
138
  app.register(plugin);
139
139
  }
140
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);
@@ -160,10 +160,10 @@ class DevServer {
160
160
  reply.header("Expires", "0");
161
161
  next();
162
162
  }
163
- async createDevServerContext(rootDir, appName, scheme, config) {
163
+ async createDevServerContext(rootDir, buildConfig) {
164
164
  const [androidBundler, iosBundler] = await Promise.all([
165
- (0, import_createBundlerForDevServer.createDevServerForDevServer)({ rootDir, appName, scheme, platform: "android", config }),
166
- (0, import_createBundlerForDevServer.createDevServerForDevServer)({ rootDir, appName, scheme, platform: "ios", config })
165
+ (0, import_createBundlerForDevServer.createBundlerForDevServer)({ rootDir, platform: "android", buildConfig }),
166
+ (0, import_createBundlerForDevServer.createBundlerForDevServer)({ rootDir, platform: "ios", buildConfig })
167
167
  ]);
168
168
  [androidBundler, iosBundler].forEach((bundler) => {
169
169
  bundler.addPlugin(
@@ -179,15 +179,14 @@ class DevServer {
179
179
  );
180
180
  });
181
181
  return {
182
- config,
183
182
  rootDir,
184
183
  android: {
185
184
  bundler: androidBundler,
186
- progressBar: (0, import_progressBar.createProgressBar)(`${appName}:android`)
185
+ progressBar: (0, import_progressBar.createProgressBar)("android")
187
186
  },
188
187
  ios: {
189
188
  bundler: iosBundler,
190
- progressBar: (0, import_progressBar.createProgressBar)(`${appName}:ios`)
189
+ progressBar: (0, import_progressBar.createProgressBar)("ios")
191
190
  }
192
191
  };
193
192
  }
@@ -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 createDevServerForDevServer({ rootDir, appName, scheme, platform, config, }: {
4
+ export declare function createBundlerForDevServer({ rootDir, platform, buildConfig, }: {
5
5
  rootDir: string;
6
- appName: string;
7
- scheme: string;
8
6
  platform: Platform;
9
- config: DevServerConfig;
7
+ buildConfig: Omit<BuildConfig, 'outfile' | 'platform'>;
10
8
  }): Promise<Bundler>;
@@ -18,44 +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
- createDevServerForDevServer: () => createDevServerForDevServer
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
26
  var import_constants = require("../constants");
27
- async function createDevServerForDevServer({
27
+ async function createBundlerForDevServer({
28
28
  rootDir,
29
- appName,
30
- scheme,
31
29
  platform,
32
- config
30
+ buildConfig
33
31
  }) {
34
- const tag = "dev-server";
35
- const dev = true;
36
32
  const bundleName = (0, import_getBundleName.getBundleName)(import_constants.DEV_SERVER_BUNDLE_NAME);
37
- const bundler = new import_bundler.Bundler({
38
- tag,
33
+ return new import_bundler.Bundler({
39
34
  rootDir,
40
- appName,
41
- scheme,
42
- dev,
35
+ dev: true,
43
36
  cache: true,
44
37
  metafile: false,
45
38
  buildConfig: {
46
- ...config.build,
39
+ ...buildConfig,
47
40
  platform,
48
41
  outfile: bundleName
49
- },
50
- services: {
51
- sentry: {
52
- enabled: false
53
- }
54
42
  }
55
43
  });
56
- return bundler;
57
44
  }
58
45
  // Annotate the CommonJS export names for ESM import in node:
59
46
  0 && (module.exports = {
60
- createDevServerForDevServer
47
+ createBundlerForDevServer
61
48
  });
@@ -1,4 +1,4 @@
1
- import { BundleData } from '../../bundler/types';
1
+ import type { BundleData } from '@granite-js/plugin-core';
2
2
  import { Platform } from '../types';
3
3
  export declare function mergeBundles({ platform, hostBundleContent, remoteBundleContent, }: {
4
4
  platform: Platform;
@@ -1,5 +1,5 @@
1
- import { FastifyInstance } from 'fastify';
2
- import { BundleData } from '../../bundler/types';
1
+ import type { BundleData } from '@granite-js/plugin-core';
2
+ import type { FastifyInstance } from 'fastify';
3
3
  import type { Platform } from '../types';
4
4
  declare function _serveBundlePlugin(app: FastifyInstance, { getBundle }: {
5
5
  getBundle: (platform: Platform) => Promise<BundleData>;
@@ -1,5 +1,5 @@
1
- import { FastifyInstance } from 'fastify';
2
- import { BundleData } from '../../../bundler/types';
1
+ import type { BundleData } from '@granite-js/plugin-core';
2
+ import type { FastifyInstance } from 'fastify';
3
3
  import type { Platform } from '../../types';
4
4
  declare function symbolicatePluginImpl(app: FastifyInstance, { getBundle }: {
5
5
  getBundle: (platform: Platform) => Promise<BundleData>;
@@ -1,19 +1,16 @@
1
- import type { FastifyPluginAsync, FastifyPluginCallback } from 'fastify';
1
+ import type { Middleware, BuildConfig } from '@granite-js/plugin-core';
2
2
  import type { Bundler } from '../bundler';
3
- import type { DevServerConfig } from '../types';
4
3
  import type { BuildStatusProgressBar } from '../utils/progressBar';
5
4
  export type Platform = 'android' | 'ios';
6
- export interface DevServerOptions extends DevServerConfig {
5
+ export interface DevServerOptions {
7
6
  rootDir: string;
8
- appName: string;
9
- scheme: string;
10
7
  host?: string;
11
8
  port?: number;
12
- plugins?: DevServerPlugin[];
9
+ buildConfig: Omit<BuildConfig, 'platform' | 'outfile'>;
10
+ middlewares?: Middleware[];
13
11
  }
14
12
  export interface DevServerContext {
15
13
  rootDir: string;
16
- config: DevServerConfig;
17
14
  android: {
18
15
  bundler: Bundler;
19
16
  progressBar: BuildStatusProgressBar;
@@ -23,14 +20,14 @@ export interface DevServerContext {
23
20
  progressBar: BuildStatusProgressBar;
24
21
  };
25
22
  }
26
- type ClientLogLevel = 'trace' | 'info' | 'warn'
23
+ type ClientLogLevel = 'trace' | 'info' | 'warn' | 'log' | 'group' | 'groupCollapsed' | 'groupEnd' | 'debug'
27
24
  /**
28
- * React Native 에는 ReportableEvent['level'] 에 `error` 타입이 정의되어있지 않은데,
29
- * Flipper 에서는 error 타입을 지원하기에 이를 추가함.
25
+ * In React Native, `error` type is not defined in ReportableEvent['level'],
26
+ * Flipper supports `error` type, so we add it.
30
27
  *
31
28
  * @see {@link https://github.com/facebook/flipper/blob/v0.211.0/desktop/flipper-common/src/server-types.tsx#L76}
32
29
  */
33
- | 'error' | 'log' | 'group' | 'groupCollapsed' | 'groupEnd' | 'debug';
30
+ | 'error';
34
31
  /**
35
32
  * @see {@link https://github.com/facebook/metro/blob/v0.78.0/packages/metro/src/lib/reporting.js#L36}
36
33
  */
@@ -41,7 +38,7 @@ export interface ClientLogEvent {
41
38
  mode: 'BRIDGE' | 'NOBRIDGE';
42
39
  }
43
40
  /**
44
- * HMR 웹소켓 메시지 타입
41
+ * HMR WebSocket message type
45
42
  *
46
43
  * @see {@link https://github.com/facebook/metro/blob/v0.77.0/packages/metro-runtime/src/modules/types.flow.js#L68}
47
44
  */
@@ -92,5 +89,4 @@ export type BroadcastCommand = 'reload' | 'devMenu';
92
89
  export interface MessageBroadcaster {
93
90
  (command: BroadcastCommand, params?: Record<string, unknown>): void;
94
91
  }
95
- export type DevServerPlugin = FastifyPluginCallback | FastifyPluginAsync;
96
92
  export {};
@@ -1,21 +1,9 @@
1
- import { BuildConfig } from './BuildConfig';
1
+ import type { BuildConfig } from '@granite-js/plugin-core';
2
2
  export interface BundlerConfig {
3
- /**
4
- * Task indentifier
5
- */
6
- tag: string;
7
3
  /**
8
4
  * Project root path
9
5
  */
10
6
  rootDir: string;
11
- /**
12
- * Application name
13
- */
14
- appName: string;
15
- /**
16
- * Scheme prefix
17
- */
18
- scheme: string;
19
7
  /**
20
8
  * Development mode
21
9
  */
@@ -32,25 +20,4 @@ export interface BundlerConfig {
32
20
  * Build configuration
33
21
  */
34
22
  buildConfig: BuildConfig;
35
- /**
36
- * @deprecated
37
- *
38
- * Configuration for integrating external services
39
- */
40
- services?: ServiceConfig;
41
- }
42
- interface ServiceConfig {
43
- sentry?: {
44
- /**
45
- * Defaults to `true`
46
- */
47
- enabled?: boolean;
48
- /**
49
- * Defaults to `process.env.SENTRY_AUTH_TOKEN`
50
- */
51
- authToken?: string;
52
- org?: string;
53
- project?: string;
54
- };
55
23
  }
56
- export {};
@@ -0,0 +1,3 @@
1
+ export type INTERNAL__Id = string & {
2
+ __id: true;
3
+ };
@@ -12,5 +12,5 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var types_exports = {};
16
- module.exports = __toCommonJS(types_exports);
15
+ var Id_exports = {};
16
+ module.exports = __toCommonJS(Id_exports);
@@ -1,5 +1,5 @@
1
- import type { INTERNAL__Id } from './TaskConfig';
2
- import type { BuildResult } from '../bundler/types';
1
+ import type { BuildResult } from '@granite-js/plugin-core';
2
+ import type { INTERNAL__Id } from './Id';
3
3
  import type { BundlerConfig } from '../types/BundlerConfig';
4
4
  export interface Plugin extends Partial<BindThis<PluginHooks, PluginContext>> {
5
5
  name?: string;
@@ -1,7 +1,3 @@
1
- export * from './BuildConfig';
2
1
  export * from './BundlerConfig';
3
- export * from './Config';
4
- export * from './DevServerConfig';
5
2
  export * from './Plugin';
6
- export * from './ServicesConfig';
7
- export * from './TaskConfig';
3
+ export * from './Id';
@@ -15,20 +15,12 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var types_exports = {};
17
17
  module.exports = __toCommonJS(types_exports);
18
- __reExport(types_exports, require("./BuildConfig"), module.exports);
19
18
  __reExport(types_exports, require("./BundlerConfig"), module.exports);
20
- __reExport(types_exports, require("./Config"), module.exports);
21
- __reExport(types_exports, require("./DevServerConfig"), module.exports);
22
19
  __reExport(types_exports, require("./Plugin"), module.exports);
23
- __reExport(types_exports, require("./ServicesConfig"), module.exports);
24
- __reExport(types_exports, require("./TaskConfig"), module.exports);
20
+ __reExport(types_exports, require("./Id"), module.exports);
25
21
  // Annotate the CommonJS export names for ESM import in node:
26
22
  0 && (module.exports = {
27
- ...require("./BuildConfig"),
28
23
  ...require("./BundlerConfig"),
29
- ...require("./Config"),
30
- ...require("./DevServerConfig"),
31
24
  ...require("./Plugin"),
32
- ...require("./ServicesConfig"),
33
- ...require("./TaskConfig")
25
+ ...require("./Id")
34
26
  });
@@ -25,14 +25,7 @@ var import_md5 = require("./md5");
25
25
  var import_constants = require("../constants");
26
26
  function getId(bundleConfig) {
27
27
  return (0, import_md5.md5)(
28
- JSON.stringify([
29
- import_constants.VERSION,
30
- bundleConfig.appName,
31
- bundleConfig.rootDir,
32
- bundleConfig.dev,
33
- bundleConfig.services,
34
- bundleConfig.buildConfig
35
- ])
28
+ JSON.stringify([import_constants.VERSION, bundleConfig.rootDir, bundleConfig.dev, bundleConfig.buildConfig])
36
29
  );
37
30
  }
38
31
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,4 +1,4 @@
1
- import type { BuildResult } from '../bundler/types';
1
+ import type { BuildResult } from '@granite-js/plugin-core';
2
2
  export interface BuildStatusProgressBar {
3
3
  start: (moduleCount: number, totalModuleCount: number) => void;
4
4
  update: (moduleCount: number, totalModuleCount?: number) => void;
@@ -1,2 +1,2 @@
1
- import type { BundleData } from '../bundler/types';
1
+ import type { BundleData } from '@granite-js/plugin-core';
2
2
  export declare function writeBundle(outputPath: string, { source, sourcemap }: BundleData): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@granite-js/mpack",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "A bundler for Granite apps",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -83,8 +83,9 @@
83
83
  "@babel/traverse": "^7.14.0",
84
84
  "@babel/types": "^7.0.0",
85
85
  "@fastify/static": "7.0.1",
86
- "@granite-js/devtools-frontend": "0.1.7",
87
- "@granite-js/utils": "0.1.7",
86
+ "@granite-js/devtools-frontend": "0.1.8",
87
+ "@granite-js/plugin-core": "0.1.8",
88
+ "@granite-js/utils": "0.1.8",
88
89
  "@inquirer/prompts": "^7.2.3",
89
90
  "@react-native-community/cli-plugin-metro": "11.3.7",
90
91
  "@react-native-community/cli-server-api": "11.3.7",
@@ -110,7 +111,7 @@
110
111
  "enhanced-resolve": "^5.17.1",
111
112
  "error-stack-parser": "^2.0.6",
112
113
  "es-toolkit": "^1.26.1",
113
- "esbuild": "^0.25.4",
114
+ "esbuild": "0.25.8",
114
115
  "events": "3.3.0",
115
116
  "fastify": "4.14.0",
116
117
  "fastify-plugin": "4.5.1",
@@ -1,17 +0,0 @@
1
- import * as esbuild from 'esbuild';
2
- import type { BuildConfig } from '..';
3
- export type BuildResult = esbuild.BuildResult & {
4
- tag: string;
5
- bundle: BundleData;
6
- outfile: BuildConfig['outfile'];
7
- sourcemapOutfile: NonNullable<BuildConfig['sourcemapOutfile']>;
8
- platform: BuildConfig['platform'];
9
- extra: BuildConfig['extra'];
10
- totalModuleCount: number;
11
- duration: number;
12
- size: number;
13
- };
14
- export interface BundleData {
15
- source: esbuild.OutputFile;
16
- sourcemap: esbuild.OutputFile;
17
- }