rslog 1.2.2 → 1.2.4

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/index.mjs CHANGED
@@ -1,296 +1,239 @@
1
- // node_modules/.pnpm/supports-color@9.4.0/node_modules/supports-color/index.js
2
- import process from "process";
3
- import os from "os";
4
- import tty from "tty";
5
- function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process.argv) {
6
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
7
- const position = argv.indexOf(prefix + flag);
8
- const terminatorPosition = argv.indexOf("--");
9
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
10
- }
11
- var { env } = process;
12
- var flagForceColor;
13
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
14
- flagForceColor = 0;
15
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
16
- flagForceColor = 1;
1
+ import * as __WEBPACK_EXTERNAL_MODULE_node_process_786449bf__ from "node:process";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_node_os_74b4b876__ from "node:os";
3
+ import * as __WEBPACK_EXTERNAL_MODULE_node_tty_c64aab7e__ from "node:tty";
4
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : __WEBPACK_EXTERNAL_MODULE_node_process_786449bf__["default"].argv) {
5
+ const prefix = flag.startsWith('-') ? '' : 1 === flag.length ? '-' : '--';
6
+ const position = argv.indexOf(prefix + flag);
7
+ const terminatorPosition = argv.indexOf('--');
8
+ return -1 !== position && (-1 === terminatorPosition || position < terminatorPosition);
17
9
  }
10
+ const { env } = __WEBPACK_EXTERNAL_MODULE_node_process_786449bf__["default"];
11
+ let flagForceColor;
12
+ if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false') || hasFlag('color=never')) flagForceColor = 0;
13
+ else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) flagForceColor = 1;
18
14
  function envForceColor() {
19
- if ("FORCE_COLOR" in env) {
20
- if (env.FORCE_COLOR === "true") {
21
- return 1;
22
- }
23
- if (env.FORCE_COLOR === "false") {
24
- return 0;
15
+ if ('FORCE_COLOR' in env) {
16
+ if ('true' === env.FORCE_COLOR) return 1;
17
+ if ('false' === env.FORCE_COLOR) return 0;
18
+ return 0 === env.FORCE_COLOR.length ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
25
19
  }
26
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
27
- }
28
20
  }
29
21
  function translateLevel(level) {
30
- if (level === 0) {
31
- return false;
32
- }
33
- return {
34
- level,
35
- hasBasic: true,
36
- has256: level >= 2,
37
- has16m: level >= 3
38
- };
22
+ if (0 === level) return false;
23
+ return {
24
+ level,
25
+ hasBasic: true,
26
+ has256: level >= 2,
27
+ has16m: level >= 3
28
+ };
39
29
  }
40
30
  function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
41
- const noFlagForceColor = envForceColor();
42
- if (noFlagForceColor !== void 0) {
43
- flagForceColor = noFlagForceColor;
44
- }
45
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
46
- if (forceColor === 0) {
47
- return 0;
48
- }
49
- if (sniffFlags) {
50
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
51
- return 3;
31
+ const noFlagForceColor = envForceColor();
32
+ if (void 0 !== noFlagForceColor) flagForceColor = noFlagForceColor;
33
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
34
+ if (0 === forceColor) return 0;
35
+ if (sniffFlags) {
36
+ if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) return 3;
37
+ if (hasFlag('color=256')) return 2;
52
38
  }
53
- if (hasFlag("color=256")) {
54
- return 2;
55
- }
56
- }
57
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
58
- return 1;
59
- }
60
- if (haveStream && !streamIsTTY && forceColor === void 0) {
61
- return 0;
62
- }
63
- const min = forceColor || 0;
64
- if (env.TERM === "dumb") {
65
- return min;
66
- }
67
- if (process.platform === "win32") {
68
- const osRelease = os.release().split(".");
69
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
70
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
39
+ if ('TF_BUILD' in env && 'AGENT_NAME' in env) return 1;
40
+ if (haveStream && !streamIsTTY && void 0 === forceColor) return 0;
41
+ const min = forceColor || 0;
42
+ if ('dumb' === env.TERM) return min;
43
+ if ('win32' === __WEBPACK_EXTERNAL_MODULE_node_process_786449bf__["default"].platform) {
44
+ const osRelease = __WEBPACK_EXTERNAL_MODULE_node_os_74b4b876__["default"].release().split('.');
45
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
46
+ return 1;
71
47
  }
72
- return 1;
73
- }
74
- if ("CI" in env) {
75
- if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
76
- return 3;
48
+ if ('CI' in env) {
49
+ if ('GITHUB_ACTIONS' in env || 'GITEA_ACTIONS' in env) return 3;
50
+ if ([
51
+ 'TRAVIS',
52
+ 'CIRCLECI',
53
+ 'APPVEYOR',
54
+ 'GITLAB_CI',
55
+ 'BUILDKITE',
56
+ 'DRONE'
57
+ ].some((sign)=>sign in env) || 'codeship' === env.CI_NAME) return 1;
58
+ return min;
77
59
  }
78
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
79
- return 1;
60
+ if ('TEAMCITY_VERSION' in env) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
61
+ if ('truecolor' === env.COLORTERM) return 3;
62
+ if ('xterm-kitty' === env.TERM) return 3;
63
+ if ('TERM_PROGRAM' in env) {
64
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
65
+ switch(env.TERM_PROGRAM){
66
+ case 'iTerm.app':
67
+ return version >= 3 ? 3 : 2;
68
+ case 'Apple_Terminal':
69
+ return 2;
70
+ }
80
71
  }
72
+ if (/-256(color)?$/i.test(env.TERM)) return 2;
73
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) return 1;
74
+ if ('COLORTERM' in env) return 1;
81
75
  return min;
82
- }
83
- if ("TEAMCITY_VERSION" in env) {
84
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
85
- }
86
- if (env.COLORTERM === "truecolor") {
87
- return 3;
88
- }
89
- if (env.TERM === "xterm-kitty") {
90
- return 3;
91
- }
92
- if ("TERM_PROGRAM" in env) {
93
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
94
- switch (env.TERM_PROGRAM) {
95
- case "iTerm.app": {
96
- return version >= 3 ? 3 : 2;
97
- }
98
- case "Apple_Terminal": {
99
- return 2;
100
- }
101
- }
102
- }
103
- if (/-256(color)?$/i.test(env.TERM)) {
104
- return 2;
105
- }
106
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
107
- return 1;
108
- }
109
- if ("COLORTERM" in env) {
110
- return 1;
111
- }
112
- return min;
113
76
  }
114
77
  function createSupportsColor(stream, options = {}) {
115
- const level = _supportsColor(stream, {
116
- streamIsTTY: stream && stream.isTTY,
117
- ...options
118
- });
119
- return translateLevel(level);
78
+ const level = _supportsColor(stream, {
79
+ streamIsTTY: stream && stream.isTTY,
80
+ ...options
81
+ });
82
+ return translateLevel(level);
120
83
  }
121
- var supportsColor = {
122
- stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
123
- stderr: createSupportsColor({ isTTY: tty.isatty(2) })
84
+ const supportsColor = {
85
+ stdout: createSupportsColor({
86
+ isTTY: __WEBPACK_EXTERNAL_MODULE_node_tty_c64aab7e__["default"].isatty(1)
87
+ }),
88
+ stderr: createSupportsColor({
89
+ isTTY: __WEBPACK_EXTERNAL_MODULE_node_tty_c64aab7e__["default"].isatty(2)
90
+ })
124
91
  };
125
- var supports_color_default = supportsColor;
126
-
127
- // src/utils.ts
128
- var colorLevel = supports_color_default.stdout ? supports_color_default.stdout.level : 0;
129
- var errorStackRegExp = /at\s.*:\d+:\d+[\s\)]*$/;
130
- var anonymousErrorStackRegExp = /^\s*at\s.*\(<anonymous>\)$/;
131
- var isErrorStackMessage = (message) => errorStackRegExp.test(message) || anonymousErrorStackRegExp.test(message);
132
-
133
- // src/color.ts
134
- var formatter = (open, close, replace = open) => colorLevel >= 2 ? (input) => {
135
- let string = "" + input;
136
- let index = string.indexOf(close, open.length);
137
- return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
138
- } : String;
139
- var replaceClose = (string, close, replace, index) => {
140
- let start = string.substring(0, index) + replace;
141
- let end = string.substring(index + close.length);
142
- let nextIndex = end.indexOf(close);
143
- return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;
92
+ const supports_color = supportsColor;
93
+ const colorLevel = supports_color.stdout ? supports_color.stdout.level : 0;
94
+ let errorStackRegExp = /at\s.*:\d+:\d+[\s\)]*$/;
95
+ let anonymousErrorStackRegExp = /at\s.*\(<anonymous>\)$/;
96
+ let isErrorStackMessage = (message)=>errorStackRegExp.test(message) || anonymousErrorStackRegExp.test(message);
97
+ let formatter = (open, close, replace = open)=>colorLevel >= 2 ? (input)=>{
98
+ let string = '' + input;
99
+ let index = string.indexOf(close, open.length);
100
+ return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
101
+ } : String;
102
+ let replaceClose = (string, close, replace, index)=>{
103
+ let start = string.substring(0, index) + replace;
104
+ let end = string.substring(index + close.length);
105
+ let nextIndex = end.indexOf(close);
106
+ return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;
144
107
  };
145
- var bold = formatter("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m");
146
- var red = formatter("\x1B[31m", "\x1B[39m");
147
- var green = formatter("\x1B[32m", "\x1B[39m");
148
- var yellow = formatter("\x1B[33m", "\x1B[39m");
149
- var magenta = formatter("\x1B[35m", "\x1B[39m");
150
- var cyan = formatter("\x1B[36m", "\x1B[39m");
151
- var gray = formatter("\x1B[90m", "\x1B[39m");
152
-
153
- // src/gradient.ts
154
- var startColor = [189, 255, 243];
155
- var endColor = [74, 194, 154];
156
- var isWord = (char) => !/[\s\n]/.test(char);
157
- var gradient = (message) => {
158
- if (colorLevel < 3) {
159
- return colorLevel === 2 ? bold(cyan(message)) : message;
160
- }
161
- let chars = [...message];
162
- let steps = chars.filter(isWord).length;
163
- let r = startColor[0];
164
- let g = startColor[1];
165
- let b = startColor[2];
166
- let rStep = (endColor[0] - r) / steps;
167
- let gStep = (endColor[1] - g) / steps;
168
- let bStep = (endColor[2] - b) / steps;
169
- let output = "";
170
- for (let char of chars) {
171
- if (isWord(char)) {
172
- r += rStep;
173
- g += gStep;
174
- b += bStep;
108
+ const bold = formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m');
109
+ const red = formatter('\x1b[31m', '\x1b[39m');
110
+ const green = formatter('\x1b[32m', '\x1b[39m');
111
+ const yellow = formatter('\x1b[33m', '\x1b[39m');
112
+ const magenta = formatter('\x1b[35m', '\x1b[39m');
113
+ const cyan = formatter('\x1b[36m', '\x1b[39m');
114
+ const gray = formatter('\x1b[90m', '\x1b[39m');
115
+ let startColor = [
116
+ 189,
117
+ 255,
118
+ 243
119
+ ];
120
+ let endColor = [
121
+ 74,
122
+ 194,
123
+ 154
124
+ ];
125
+ let isWord = (char)=>!/[\s\n]/.test(char);
126
+ let gradient = (message)=>{
127
+ if (colorLevel < 3) return 2 === colorLevel ? bold(cyan(message)) : message;
128
+ let chars = [
129
+ ...message
130
+ ];
131
+ let steps = chars.filter(isWord).length;
132
+ let r = startColor[0];
133
+ let g = startColor[1];
134
+ let b = startColor[2];
135
+ let rStep = (endColor[0] - r) / steps;
136
+ let gStep = (endColor[1] - g) / steps;
137
+ let bStep = (endColor[2] - b) / steps;
138
+ let output = '';
139
+ for (let char of chars){
140
+ if (isWord(char)) {
141
+ r += rStep;
142
+ g += gStep;
143
+ b += bStep;
144
+ }
145
+ output += `\x1b[38;2;${Math.round(r)};${Math.round(g)};${Math.round(b)}m${char}\x1b[39m`;
175
146
  }
176
- output += `\x1B[38;2;${Math.round(r)};${Math.round(g)};${Math.round(
177
- b
178
- )}m${char}\x1B[39m`;
179
- }
180
- return bold(output);
181
- };
182
-
183
- // src/constants.ts
184
- var LOG_LEVEL = {
185
- error: 0,
186
- warn: 1,
187
- info: 2,
188
- log: 3,
189
- verbose: 4
147
+ return bold(output);
190
148
  };
191
- var LOG_TYPES = {
192
- // Level error
193
- error: {
194
- label: "error",
195
- level: "error",
196
- color: red
197
- },
198
- // Level warn
199
- warn: {
200
- label: "warn",
201
- level: "warn",
202
- color: yellow
203
- },
204
- // Level info
205
- info: {
206
- label: "info",
207
- level: "info",
208
- color: cyan
209
- },
210
- start: {
211
- label: "start",
212
- level: "info",
213
- color: cyan
214
- },
215
- ready: {
216
- label: "ready",
217
- level: "info",
218
- color: green
219
- },
220
- success: {
221
- label: "success",
222
- level: "info",
223
- color: green
224
- },
225
- // Level log
226
- log: {
227
- level: "log"
228
- },
229
- // Level debug
230
- debug: {
231
- label: "debug",
232
- level: "verbose",
233
- color: magenta
234
- }
149
+ let LOG_LEVEL = {
150
+ silent: -1,
151
+ error: 0,
152
+ warn: 1,
153
+ info: 2,
154
+ log: 3,
155
+ verbose: 4
235
156
  };
236
-
237
- // src/createLogger.ts
238
- var createLogger = (options = {}) => {
239
- let maxLevel = options.level || "log";
240
- let log = (type, message, ...args) => {
241
- if (LOG_LEVEL[LOG_TYPES[type].level] > LOG_LEVEL[maxLevel]) {
242
- return;
157
+ let LOG_TYPES = {
158
+ error: {
159
+ label: 'error',
160
+ level: 'error',
161
+ color: red
162
+ },
163
+ warn: {
164
+ label: 'warn',
165
+ level: 'warn',
166
+ color: yellow
167
+ },
168
+ info: {
169
+ label: 'info',
170
+ level: 'info',
171
+ color: cyan
172
+ },
173
+ start: {
174
+ label: 'start',
175
+ level: 'info',
176
+ color: cyan
177
+ },
178
+ ready: {
179
+ label: 'ready',
180
+ level: 'info',
181
+ color: green
182
+ },
183
+ success: {
184
+ label: 'success',
185
+ level: 'info',
186
+ color: green
187
+ },
188
+ log: {
189
+ level: 'log'
190
+ },
191
+ debug: {
192
+ label: 'debug',
193
+ level: 'verbose',
194
+ color: magenta
243
195
  }
244
- if (message === void 0 || message === null) {
245
- return console.log();
246
- }
247
- let logType = LOG_TYPES[type];
248
- let label = "";
249
- let text = "";
250
- if ("label" in logType) {
251
- label = (logType.label || "").padEnd(7);
252
- label = bold(logType.color ? logType.color(label) : label);
253
- }
254
- if (message instanceof Error) {
255
- if (message.stack) {
256
- let [name, ...rest] = message.stack.split("\n");
257
- if (name.startsWith("Error: ")) {
258
- name = name.slice(7);
259
- }
260
- text = `${name}
261
- ${gray(rest.join("\n"))}`;
262
- } else {
263
- text = message.message;
264
- }
265
- } else if (logType.level === "error" && typeof message === "string") {
266
- let lines = message.split("\n");
267
- text = lines.map((line) => isErrorStackMessage(line) ? gray(line) : line).join("\n");
268
- } else {
269
- text = `${message}`;
270
- }
271
- console.log(label.length ? `${label} ${text}` : text, ...args);
272
- };
273
- let logger2 = {
274
- greet: (message) => log("log", gradient(message))
275
- };
276
- Object.keys(LOG_TYPES).forEach((key) => {
277
- logger2[key] = (...args) => log(key, ...args);
278
- });
279
- Object.defineProperty(logger2, "level", {
280
- get: () => maxLevel,
281
- set(val) {
282
- maxLevel = val;
283
- }
284
- });
285
- logger2.override = (customLogger) => {
286
- Object.assign(logger2, customLogger);
287
- };
288
- return logger2;
289
196
  };
290
-
291
- // src/index.ts
292
- var logger = createLogger();
293
- export {
294
- createLogger,
295
- logger
197
+ let createLogger = (options = {})=>{
198
+ let maxLevel = options.level || 'log';
199
+ let log = (type, message, ...args)=>{
200
+ if (LOG_LEVEL[LOG_TYPES[type].level] > LOG_LEVEL[maxLevel]) return;
201
+ if (null == message) return console.log();
202
+ let logType = LOG_TYPES[type];
203
+ let label = '';
204
+ let text = '';
205
+ if ('label' in logType) {
206
+ label = (logType.label || '').padEnd(7);
207
+ label = bold(logType.color ? logType.color(label) : label);
208
+ }
209
+ if (message instanceof Error) {
210
+ if (message.stack) {
211
+ let [name, ...rest] = message.stack.split('\n');
212
+ if (name.startsWith('Error: ')) name = name.slice(7);
213
+ text = `${name}\n${gray(rest.join('\n'))}`;
214
+ } else text = message.message;
215
+ } else if ('error' === logType.level && 'string' == typeof message) {
216
+ let lines = message.split('\n');
217
+ text = lines.map((line)=>isErrorStackMessage(line) ? gray(line) : line).join('\n');
218
+ } else text = `${message}`;
219
+ console.log(label.length ? `${label} ${text}` : text, ...args);
220
+ };
221
+ let logger = {
222
+ greet: (message)=>log('log', gradient(message))
223
+ };
224
+ Object.keys(LOG_TYPES).forEach((key)=>{
225
+ logger[key] = (...args)=>log(key, ...args);
226
+ });
227
+ Object.defineProperty(logger, 'level', {
228
+ get: ()=>maxLevel,
229
+ set (val) {
230
+ maxLevel = val;
231
+ }
232
+ });
233
+ logger.override = (customLogger)=>{
234
+ Object.assign(logger, customLogger);
235
+ };
236
+ return logger;
296
237
  };
238
+ let src_logger = createLogger();
239
+ export { createLogger, src_logger as logger };
@@ -0,0 +1,19 @@
1
+ import type { ColorFn } from './color';
2
+ import type { LOG_TYPES } from './constants';
3
+ export type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'log' | 'verbose';
4
+ export type LogMessage = unknown;
5
+ export interface LogType {
6
+ label?: string;
7
+ level: LogLevel;
8
+ color?: ColorFn;
9
+ }
10
+ export type LogFunction = (message?: LogMessage, ...args: any[]) => void;
11
+ export interface Options {
12
+ level?: LogLevel;
13
+ }
14
+ export type LogMethods = keyof typeof LOG_TYPES;
15
+ export type Logger = Record<LogMethods, LogFunction> & {
16
+ greet: (message: string) => void;
17
+ level: LogLevel;
18
+ override: (customLogger: Partial<Record<LogMethods, LogFunction>>) => void;
19
+ };
@@ -0,0 +1,2 @@
1
+ export declare const colorLevel: import("supports-color").ColorSupportLevel;
2
+ export declare let isErrorStackMessage: (message: string) => boolean;
package/package.json CHANGED
@@ -1,37 +1,31 @@
1
1
  {
2
2
  "name": "rslog",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "types": "./dist/index.d.ts",
5
- "main": "./dist/index.cjs",
5
+ "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
7
7
  "exports": {
8
8
  ".": {
9
9
  "types": "./dist/index.d.ts",
10
10
  "import": "./dist/index.mjs",
11
- "require": "./dist/index.cjs"
11
+ "require": "./dist/index.js"
12
12
  }
13
13
  },
14
14
  "files": [
15
15
  "dist"
16
16
  ],
17
- "engines": {
18
- "node": ">=14.17.6"
19
- },
20
- "packageManager": "pnpm@8.8.0",
21
17
  "repository": {
22
18
  "type": "git",
23
19
  "url": "https://github.com/rspack-contrib/rslog.git"
24
20
  },
25
21
  "devDependencies": {
26
- "@modern-js/module-tools": "2.46.1",
27
- "@modern-js/plugin-testing": "2.46.1",
28
- "@modern-js/tsconfig": "2.46.1",
29
- "@types/jest": "~29.2.4",
30
- "@types/node": "~16.11.7",
31
- "prettier": "~2.8.1",
32
- "rimraf": "~3.0.2",
22
+ "@rslib/core": "^0.5.2",
23
+ "@types/node": "^22.13.8",
24
+ "prettier": "~3.5.3",
25
+ "strip-ansi": "^7.1.0",
33
26
  "supports-color": "^9.4.0",
34
- "typescript": "~5.0.4"
27
+ "typescript": "~5.8.2",
28
+ "vitest": "^2.1.8"
35
29
  },
36
30
  "publishConfig": {
37
31
  "access": "public",
@@ -39,12 +33,9 @@
39
33
  },
40
34
  "scripts": {
41
35
  "preview": "bun run ./preview.ts",
42
- "dev": "modern dev",
43
- "build": "modern build",
44
- "build:watch": "modern build -w",
45
- "reset": "rimraf ./**/node_modules",
46
- "new": "modern new",
47
- "upgrade": "modern upgrade",
48
- "test": "modern test"
36
+ "build": "rslib build",
37
+ "dev": "rslib build --watch",
38
+ "test": "vitest",
39
+ "bump": "npx bumpp"
49
40
  }
50
41
  }