rollipop 0.1.0-alpha.12 → 0.1.0-alpha.13

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.
@@ -6,13 +6,12 @@ import { RollupLogWithString } from "@rollipop/rolldown";
6
6
  import { DevWatchOptions, TransformOptions } from "@rollipop/rolldown/experimental";
7
7
  import * as babel from "@babel/core";
8
8
  import * as swc from "@swc/core";
9
- import "@commander-js/extra-typings";
10
9
  import { FastifyInstance } from "fastify";
10
+ import { Emitter } from "mitt";
11
11
  import * as ws from "ws";
12
12
  export * from "@rollipop/rolldown-pluginutils";
13
13
 
14
14
  //#region src/core/types.d.ts
15
-
16
15
  type AsyncResult<T> = T | Promise<T>;
17
16
  //#endregion
18
17
  //#region src/types.d.ts
@@ -47,7 +46,8 @@ type MetroCompatibleClientLogEvent = {
47
46
  * But, Flipper supports the `error` type.
48
47
  *
49
48
  * @see https://github.com/facebook/flipper/blob/v0.273.0/desktop/flipper-common/src/server-types.tsx#L74
50
- */ | 'error';
49
+ */
50
+ | 'error';
51
51
  data: any[];
52
52
  };
53
53
  //#endregion
@@ -82,23 +82,6 @@ declare class Logger {
82
82
  child(scope: string): Logger;
83
83
  }
84
84
  //#endregion
85
- //#region node_modules/mitt/index.d.ts
86
- declare type EventType = string | symbol;
87
- declare type Handler<T = unknown> = (event: T) => void;
88
- declare type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void;
89
- declare type EventHandlerList<T = unknown> = Array<Handler<T>>;
90
- declare type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;
91
- declare type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<keyof Events | '*', EventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>>;
92
- interface Emitter<Events extends Record<EventType, unknown>> {
93
- all: EventHandlerMap<Events>;
94
- on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
95
- on(type: '*', handler: WildcardHandler<Events>): void;
96
- off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;
97
- off(type: '*', handler: WildcardHandler<Events>): void;
98
- emit<Key extends keyof Events>(type: Key, event: Events[Key]): void;
99
- emit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;
100
- }
101
- //#endregion
102
85
  //#region src/server/wss/server.d.ts
103
86
  type WebSocketClient = ws.WebSocket & {
104
87
  id: number;
@@ -627,10 +610,10 @@ declare function getDefaultConfig(projectRoot: string, mode?: Config['mode']): {
627
610
  devMode: {
628
611
  hmr: NonNullable<DevModeConfig["hmr"]>;
629
612
  };
613
+ reporter: Reporter;
630
614
  terminal: {
631
615
  status: "none" | "compat" | "progress" | undefined;
632
616
  };
633
- reporter: Reporter;
634
617
  envDir: string;
635
618
  envPrefix: string;
636
619
  };
@@ -25,7 +25,7 @@ const FALSY_VALUES = [
25
25
  ];
26
26
  function parseDebugKeys() {
27
27
  return Object.keys(process.env).filter((key) => /^debug_/i.test(key)).reduce((acc, key) => {
28
- const prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, key$1) => key$1.toUpperCase());
28
+ const prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, key) => key.toUpperCase());
29
29
  let value = process.env[key];
30
30
  const lowerCase = typeof value === "string" ? value.toLowerCase() : value.toString();
31
31
  if (TRUTHY_VALUES.includes(lowerCase)) value = true;
@@ -125,12 +125,12 @@ const logger = new Logger("bundler");
125
125
  //#endregion
126
126
  //#region src/core/plugins/utils/transform-utils.ts
127
127
  const TRANSFORM_FLAGS_KEY = Symbol("transform-flags");
128
- let TransformFlag = /* @__PURE__ */ function(TransformFlag$1) {
129
- TransformFlag$1[TransformFlag$1["NONE"] = 0] = "NONE";
130
- TransformFlag$1[TransformFlag$1["CODEGEN_REQUIRED"] = 1] = "CODEGEN_REQUIRED";
131
- TransformFlag$1[TransformFlag$1["STRIP_FLOW_REQUIRED"] = 2] = "STRIP_FLOW_REQUIRED";
132
- TransformFlag$1[TransformFlag$1["SKIP_ALL"] = 128] = "SKIP_ALL";
133
- return TransformFlag$1;
128
+ let TransformFlag = /* @__PURE__ */ function(TransformFlag) {
129
+ TransformFlag[TransformFlag["NONE"] = 0] = "NONE";
130
+ TransformFlag[TransformFlag["CODEGEN_REQUIRED"] = 1] = "CODEGEN_REQUIRED";
131
+ TransformFlag[TransformFlag["STRIP_FLOW_REQUIRED"] = 2] = "STRIP_FLOW_REQUIRED";
132
+ TransformFlag[TransformFlag["SKIP_ALL"] = 128] = "SKIP_ALL";
133
+ return TransformFlag;
134
134
  }({});
135
135
  function hasFlag(meta) {
136
136
  return TRANSFORM_FLAGS_KEY in meta;
package/dist/runtime.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
2
 
2
3
  //#region src/runtime.ts
3
4
  function setCustomHMRHandler(_) {
package/package.json CHANGED
@@ -1,8 +1,24 @@
1
1
  {
2
2
  "name": "rollipop",
3
- "version": "0.1.0-alpha.12",
4
- "type": "module",
3
+ "version": "0.1.0-alpha.13",
4
+ "homepage": "https://github.com/leegeunhyeok/rollipop#readme",
5
+ "bugs": {
6
+ "url": "https://github.com/leegeunhyeok/rollipop/issues"
7
+ },
8
+ "license": "MIT",
9
+ "author": "leegeunhyeok <dev.ghlee@gmail.com> (https://github.com/leegeunhyeok)",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/leegeunhyeok/rollipop.git",
13
+ "directory": "packages/rollipop"
14
+ },
5
15
  "bin": "./bin/index.js",
16
+ "files": [
17
+ "client.d.ts",
18
+ "bin",
19
+ "dist"
20
+ ],
21
+ "type": "module",
6
22
  "main": "./dist/index.js",
7
23
  "types": "./dist/index.d.ts",
8
24
  "exports": {
@@ -21,14 +37,8 @@
21
37
  }
22
38
  },
23
39
  "./pluginutils": {
24
- "import": {
25
- "types": "./dist/pluginutils.d.ts",
26
- "default": "./dist/pluginutils.js"
27
- },
28
- "require": {
29
- "types": "./dist/pluginutils.d.cts",
30
- "default": "./dist/pluginutils.cjs"
31
- }
40
+ "types": "./dist/pluginutils.d.ts",
41
+ "default": "./dist/pluginutils.js"
32
42
  },
33
43
  "./runtime": {
34
44
  "import": {
@@ -47,22 +57,6 @@
47
57
  },
48
58
  "./package.json": "./package.json"
49
59
  },
50
- "files": [
51
- "client.d.ts",
52
- "bin",
53
- "dist"
54
- ],
55
- "repository": {
56
- "type": "git",
57
- "url": "git+https://github.com/leegeunhyeok/rollipop.git",
58
- "directory": "packages/rollipop"
59
- },
60
- "author": "leegeunhyeok <dev.ghlee@gmail.com> (https://github.com/leegeunhyeok)",
61
- "license": "MIT",
62
- "bugs": {
63
- "url": "https://github.com/leegeunhyeok/rollipop/issues"
64
- },
65
- "homepage": "https://github.com/leegeunhyeok/rollipop#readme",
66
60
  "scripts": {
67
61
  "prepack": "yarn build",
68
62
  "typecheck": "tsc --noEmit",
@@ -71,6 +65,7 @@
71
65
  "build": "tsdown"
72
66
  },
73
67
  "dependencies": {
68
+ "@babel/code-frame": "^7.27.1",
74
69
  "@babel/core": "^7.28.5",
75
70
  "@babel/generator": "^7.28.5",
76
71
  "@babel/plugin-transform-flow-strip-types": "^7.27.1",
@@ -83,8 +78,8 @@
83
78
  "@react-native-community/cli-types": "^20.1.0",
84
79
  "@react-native/babel-plugin-codegen": "^0.83.1",
85
80
  "@react-native/dev-middleware": "^0.83.1",
86
- "@rollipop/rolldown": "1.0.0-rc.2",
87
- "@rollipop/rolldown-pluginutils": "1.0.0-rc.2",
81
+ "@rollipop/rolldown": "1.0.0-rc.3",
82
+ "@rollipop/rolldown-pluginutils": "1.0.0-rc.3",
88
83
  "@svgr/core": "^8.1.0",
89
84
  "@svgr/plugin-jsx": "^8.1.0",
90
85
  "@swc/core": "^1.15.7",
@@ -98,7 +93,7 @@
98
93
  "dedent": "^1.7.1",
99
94
  "dotenv": "^17.2.3",
100
95
  "dotenv-expand": "^12.0.3",
101
- "es-toolkit": "1.43.0",
96
+ "es-toolkit": "^1.44.0",
102
97
  "fastify": "^5.6.2",
103
98
  "fastify-plugin": "^5.1.0",
104
99
  "flow-remove-types": "^2.295.0",
@@ -107,6 +102,7 @@
107
102
  "image-size": "^2.0.2",
108
103
  "json-schema-to-ts": "^3.1.1",
109
104
  "mime": "^4.1.0",
105
+ "mitt": "^3.0.1",
110
106
  "p-limit": "^7.2.0",
111
107
  "source-map": "^0.7.6",
112
108
  "strip-ansi": "^7.1.2",
@@ -115,14 +111,12 @@
115
111
  "ws": "^8.18.3"
116
112
  },
117
113
  "devDependencies": {
118
- "@babel/code-frame": "^7.27.1",
119
114
  "@types/babel__code-frame": "^7",
120
115
  "@types/babel__core": "^7",
121
116
  "@types/babel__generator": "^7",
122
117
  "magic-string": "^0.30.21",
123
- "mitt": "^3.0.1",
124
- "tsdown": "0.20.0-beta.1",
118
+ "tsdown": "0.20.3",
125
119
  "typescript": "5.9.3",
126
- "vitest": "4.0.17"
120
+ "vitest": "4.0.18"
127
121
  }
128
122
  }
@@ -1,210 +0,0 @@
1
- //#region rolldown:runtime
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 __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) {
13
- __defProp(to, key, {
14
- get: ((k) => from[k]).bind(null, key),
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- }
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
- value: mod,
24
- enumerable: true
25
- }) : target, mod));
26
-
27
- //#endregion
28
- require("@rollipop/rolldown-pluginutils");
29
- let chalk = require("chalk");
30
- chalk = __toESM(chalk);
31
- let dayjs = require("dayjs");
32
- dayjs = __toESM(dayjs);
33
- let es_toolkit = require("es-toolkit");
34
- require("@node-rs/xxhash");
35
-
36
- //#region src/common/constants.ts
37
- const DEBUG_KEY = "rollipop";
38
-
39
- //#endregion
40
- //#region src/common/debug.ts
41
- const TRUTHY_VALUES = [
42
- "yes",
43
- "on",
44
- "true",
45
- "enabled"
46
- ];
47
- const FALSY_VALUES = [
48
- "no",
49
- "off",
50
- "false",
51
- "disabled"
52
- ];
53
- function parseDebugKeys() {
54
- return Object.keys(process.env).filter((key) => /^debug_/i.test(key)).reduce((acc, key) => {
55
- const prop = key.slice(6).toLowerCase().replace(/_([a-z])/g, (_, key$1) => key$1.toUpperCase());
56
- let value = process.env[key];
57
- const lowerCase = typeof value === "string" ? value.toLowerCase() : value.toString();
58
- if (TRUTHY_VALUES.includes(lowerCase)) value = true;
59
- else if (FALSY_VALUES.includes(lowerCase)) value = false;
60
- else value = Boolean(Number(value));
61
- acc[prop] = value;
62
- return acc;
63
- }, {});
64
- }
65
- let debugKeys = null;
66
- function isDebugEnabled() {
67
- if (debugKeys == null) debugKeys = parseDebugKeys();
68
- return debugKeys[DEBUG_KEY] ?? false;
69
- }
70
-
71
- //#endregion
72
- //#region src/common/logger.ts
73
- var Logger = class Logger {
74
- static blocked = false;
75
- static queuedMessages = [];
76
- static Colors = {
77
- trace: chalk.default.gray,
78
- debug: chalk.default.blue,
79
- log: chalk.default.green,
80
- info: chalk.default.cyan,
81
- warn: chalk.default.yellow,
82
- error: chalk.default.red
83
- };
84
- format = "HH:mm:ss.SSS";
85
- debugEnabled;
86
- static block() {
87
- this.blocked = true;
88
- }
89
- static unblock(flush = true) {
90
- this.blocked = false;
91
- if (flush) for (const args of Logger.queuedMessages) console.log(...args);
92
- Logger.queuedMessages.length = 0;
93
- }
94
- constructor(scope) {
95
- this.scope = scope;
96
- this.debugEnabled = isDebugEnabled();
97
- }
98
- getFormat() {
99
- return this.format;
100
- }
101
- setFormat(format) {
102
- this.format = format;
103
- }
104
- getTimestamp() {
105
- return (0, dayjs.default)().format(this.getFormat());
106
- }
107
- print(logLevel, ...args) {
108
- const timestamp = chalk.default.gray(this.getTimestamp());
109
- const level = Logger.Colors[logLevel](logLevel);
110
- if (this.scope) args = [
111
- timestamp,
112
- level,
113
- chalk.default.magenta(this.scope),
114
- ...args
115
- ];
116
- else args = [
117
- timestamp,
118
- level,
119
- ...args
120
- ];
121
- if (Logger.blocked) Logger.queuedMessages.push(args);
122
- else console.log(...args);
123
- }
124
- trace(...args) {
125
- this.debugEnabled && this.print("trace", ...args);
126
- }
127
- debug(...args) {
128
- this.debugEnabled && this.print("debug", ...args);
129
- }
130
- log(...args) {
131
- this.print("log", ...args);
132
- }
133
- info(...args) {
134
- this.print("info", ...args);
135
- }
136
- warn(...args) {
137
- this.print("warn", ...args);
138
- }
139
- error(...args) {
140
- this.print("error", ...args);
141
- }
142
- child(scope) {
143
- (0, es_toolkit.invariant)(this.scope, "Logger must have a scope to create a child logger");
144
- return new Logger(`${this.scope}:${scope}`);
145
- }
146
- };
147
-
148
- //#endregion
149
- //#region src/logger.ts
150
- const logger = new Logger("bundler");
151
-
152
- //#endregion
153
- //#region src/core/plugins/utils/transform-utils.ts
154
- const TRANSFORM_FLAGS_KEY = Symbol("transform-flags");
155
- let TransformFlag = /* @__PURE__ */ function(TransformFlag$1) {
156
- TransformFlag$1[TransformFlag$1["NONE"] = 0] = "NONE";
157
- TransformFlag$1[TransformFlag$1["CODEGEN_REQUIRED"] = 1] = "CODEGEN_REQUIRED";
158
- TransformFlag$1[TransformFlag$1["STRIP_FLOW_REQUIRED"] = 2] = "STRIP_FLOW_REQUIRED";
159
- TransformFlag$1[TransformFlag$1["SKIP_ALL"] = 128] = "SKIP_ALL";
160
- return TransformFlag$1;
161
- }({});
162
- function hasFlag(meta) {
163
- return TRANSFORM_FLAGS_KEY in meta;
164
- }
165
- function getFlag(context, id$1) {
166
- return getFlagFromModuleInfo(context.getModuleInfo(id$1));
167
- }
168
- function getFlagFromModuleInfo(moduleInfo) {
169
- if (moduleInfo && hasFlag(moduleInfo.meta)) return moduleInfo.meta[TRANSFORM_FLAGS_KEY];
170
- return TransformFlag.NONE;
171
- }
172
-
173
- //#endregion
174
- //#region src/core/plugins/utils/persist-cache.ts
175
- /**
176
- * Enhance a plugin to cache the result. (transform hook only)
177
- */
178
- function cacheable(plugin) {
179
- let configured = false;
180
- const originalTransform = plugin.transform;
181
- if (typeof originalTransform === "function") {
182
- plugin.transform = function(code, id$1, meta) {
183
- if (getFlag(this, id$1) & TransformFlag.SKIP_ALL) return;
184
- return originalTransform.call(this, code, id$1, meta);
185
- };
186
- configured = true;
187
- }
188
- if (typeof originalTransform === "object") {
189
- plugin.transform = {
190
- ...originalTransform,
191
- handler(code, id$1, meta) {
192
- if (getFlag(this, id$1) & TransformFlag.SKIP_ALL) return;
193
- return originalTransform.handler.call(this, code, id$1, meta);
194
- }
195
- };
196
- configured = true;
197
- }
198
- if (configured) plugin.name = `${plugin.name}:cacheable`;
199
- else logger.warn(`Plugin '${plugin.name}' is could not be cached`);
200
- return plugin;
201
- }
202
-
203
- //#endregion
204
- exports.cacheable = cacheable;
205
- Object.keys(_rollipop_rolldown_pluginutils).forEach(function (k) {
206
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
207
- enumerable: true,
208
- get: function () { return _rollipop_rolldown_pluginutils[k]; }
209
- });
210
- });