upgrade-rspeedy-canary 0.9.10 → 0.9.11-canary-20250626-0bbb23af
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 +2 -0
- package/dist/upgrade-rspeedy.js +120 -111
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
package/dist/upgrade-rspeedy.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import external_tty_default from "tty";
|
|
5
|
-
import { EOL } from "node:os";
|
|
2
|
+
import node_os, { EOL } from "node:os";
|
|
3
|
+
import node_tty from "node:tty";
|
|
6
4
|
import { createRequire } from "node:module";
|
|
7
5
|
import * as __WEBPACK_EXTERNAL_MODULE_node_child_process_27f17141__ from "node:child_process";
|
|
8
6
|
import * as __WEBPACK_EXTERNAL_MODULE_node_events_0a6aefe7__ from "node:events";
|
|
@@ -82,22 +80,30 @@ var __webpack_modules__ = {
|
|
|
82
80
|
});
|
|
83
81
|
var commander = __webpack_require__("../../../node_modules/.pnpm/commander@13.1.0/node_modules/commander/index.js");
|
|
84
82
|
const { program: esm_program, createCommand, createArgument, createOption, CommanderError, InvalidArgumentError, InvalidOptionArgumentError, Command, Argument, Option, Help } = commander;
|
|
85
|
-
|
|
86
|
-
|
|
83
|
+
var external_node_process_ = __webpack_require__("node:process");
|
|
84
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : external_node_process_["default"].argv) {
|
|
85
|
+
const prefix = flag.startsWith('-') ? '' : 1 === flag.length ? '-' : '--';
|
|
87
86
|
const position = argv.indexOf(prefix + flag);
|
|
88
|
-
const terminatorPosition = argv.indexOf(
|
|
87
|
+
const terminatorPosition = argv.indexOf('--');
|
|
89
88
|
return -1 !== position && (-1 === terminatorPosition || position < terminatorPosition);
|
|
90
89
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (hasFlag(
|
|
94
|
-
else if (hasFlag(
|
|
90
|
+
const { env } = external_node_process_["default"];
|
|
91
|
+
let flagForceColor;
|
|
92
|
+
if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false') || hasFlag('color=never')) flagForceColor = 0;
|
|
93
|
+
else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) flagForceColor = 1;
|
|
95
94
|
function envForceColor() {
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
95
|
+
if (!('FORCE_COLOR' in env)) return;
|
|
96
|
+
if ('true' === env.FORCE_COLOR) return 1;
|
|
97
|
+
if ('false' === env.FORCE_COLOR) return 0;
|
|
98
|
+
if (0 === env.FORCE_COLOR.length) return 1;
|
|
99
|
+
const level = Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
|
|
100
|
+
if (![
|
|
101
|
+
0,
|
|
102
|
+
1,
|
|
103
|
+
2,
|
|
104
|
+
3
|
|
105
|
+
].includes(level)) return;
|
|
106
|
+
return level;
|
|
101
107
|
}
|
|
102
108
|
function translateLevel(level) {
|
|
103
109
|
if (0 === level) return false;
|
|
@@ -114,45 +120,48 @@ var __webpack_modules__ = {
|
|
|
114
120
|
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
|
|
115
121
|
if (0 === forceColor) return 0;
|
|
116
122
|
if (sniffFlags) {
|
|
117
|
-
if (hasFlag(
|
|
118
|
-
if (hasFlag(
|
|
123
|
+
if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) return 3;
|
|
124
|
+
if (hasFlag('color=256')) return 2;
|
|
119
125
|
}
|
|
120
|
-
if (
|
|
126
|
+
if ('TF_BUILD' in env && 'AGENT_NAME' in env) return 1;
|
|
121
127
|
if (haveStream && !streamIsTTY && void 0 === forceColor) return 0;
|
|
122
128
|
const min = forceColor || 0;
|
|
123
|
-
if (
|
|
124
|
-
if (
|
|
125
|
-
const osRelease =
|
|
129
|
+
if ('dumb' === env.TERM) return min;
|
|
130
|
+
if ('win32' === external_node_process_["default"].platform) {
|
|
131
|
+
const osRelease = node_os.release().split('.');
|
|
126
132
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
127
133
|
return 1;
|
|
128
134
|
}
|
|
129
|
-
if (
|
|
130
|
-
if (
|
|
135
|
+
if ('CI' in env) {
|
|
136
|
+
if ([
|
|
137
|
+
'GITHUB_ACTIONS',
|
|
138
|
+
'GITEA_ACTIONS',
|
|
139
|
+
'CIRCLECI'
|
|
140
|
+
].some((key)=>key in env)) return 3;
|
|
131
141
|
if ([
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
].some((sign)=>sign in env) || "codeship" === env.CI_NAME) return 1;
|
|
142
|
+
'TRAVIS',
|
|
143
|
+
'APPVEYOR',
|
|
144
|
+
'GITLAB_CI',
|
|
145
|
+
'BUILDKITE',
|
|
146
|
+
'DRONE'
|
|
147
|
+
].some((sign)=>sign in env) || 'codeship' === env.CI_NAME) return 1;
|
|
139
148
|
return min;
|
|
140
149
|
}
|
|
141
|
-
if (
|
|
142
|
-
if (
|
|
143
|
-
if (
|
|
144
|
-
if (
|
|
145
|
-
const version = Number.parseInt((env.TERM_PROGRAM_VERSION ||
|
|
150
|
+
if ('TEAMCITY_VERSION' in env) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
|
151
|
+
if ('truecolor' === env.COLORTERM) return 3;
|
|
152
|
+
if ('xterm-kitty' === env.TERM) return 3;
|
|
153
|
+
if ('TERM_PROGRAM' in env) {
|
|
154
|
+
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
|
|
146
155
|
switch(env.TERM_PROGRAM){
|
|
147
|
-
case
|
|
156
|
+
case 'iTerm.app':
|
|
148
157
|
return version >= 3 ? 3 : 2;
|
|
149
|
-
case
|
|
158
|
+
case 'Apple_Terminal':
|
|
150
159
|
return 2;
|
|
151
160
|
}
|
|
152
161
|
}
|
|
153
162
|
if (/-256(color)?$/i.test(env.TERM)) return 2;
|
|
154
163
|
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) return 1;
|
|
155
|
-
if (
|
|
164
|
+
if ('COLORTERM' in env) return 1;
|
|
156
165
|
return min;
|
|
157
166
|
}
|
|
158
167
|
function createSupportsColor(stream, options = {}) {
|
|
@@ -162,49 +171,49 @@ var __webpack_modules__ = {
|
|
|
162
171
|
});
|
|
163
172
|
return translateLevel(level);
|
|
164
173
|
}
|
|
165
|
-
|
|
174
|
+
const supportsColor = {
|
|
166
175
|
stdout: createSupportsColor({
|
|
167
|
-
isTTY:
|
|
176
|
+
isTTY: node_tty.isatty(1)
|
|
168
177
|
}),
|
|
169
178
|
stderr: createSupportsColor({
|
|
170
|
-
isTTY:
|
|
179
|
+
isTTY: node_tty.isatty(2)
|
|
171
180
|
})
|
|
172
181
|
};
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
let string =
|
|
182
|
+
const supports_color = supportsColor;
|
|
183
|
+
const colorLevel = supports_color.stdout ? supports_color.stdout.level : 0;
|
|
184
|
+
let errorStackRegExp = /at\s.*:\d+:\d+[\s\)]*$/;
|
|
185
|
+
let anonymousErrorStackRegExp = /at\s.*\(<anonymous>\)$/;
|
|
186
|
+
let isErrorStackMessage = (message)=>errorStackRegExp.test(message) || anonymousErrorStackRegExp.test(message);
|
|
187
|
+
let formatter = (open, close, replace = open)=>colorLevel >= 2 ? (input)=>{
|
|
188
|
+
let string = '' + input;
|
|
180
189
|
let index = string.indexOf(close, open.length);
|
|
181
190
|
return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
|
|
182
191
|
} : String;
|
|
183
|
-
|
|
192
|
+
let replaceClose = (string, close, replace, index)=>{
|
|
184
193
|
let start = string.substring(0, index) + replace;
|
|
185
194
|
let end = string.substring(index + close.length);
|
|
186
195
|
let nextIndex = end.indexOf(close);
|
|
187
196
|
return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;
|
|
188
197
|
};
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
const bold = formatter('\x1b[1m', '\x1b[22m', '\x1b[22m\x1b[1m');
|
|
199
|
+
const red = formatter('\x1b[31m', '\x1b[39m');
|
|
200
|
+
const green = formatter('\x1b[32m', '\x1b[39m');
|
|
201
|
+
const yellow = formatter('\x1b[33m', '\x1b[39m');
|
|
202
|
+
const magenta = formatter('\x1b[35m', '\x1b[39m');
|
|
203
|
+
const cyan = formatter('\x1b[36m', '\x1b[39m');
|
|
204
|
+
const gray = formatter('\x1b[90m', '\x1b[39m');
|
|
205
|
+
let startColor = [
|
|
197
206
|
189,
|
|
198
207
|
255,
|
|
199
208
|
243
|
|
200
209
|
];
|
|
201
|
-
|
|
210
|
+
let endColor = [
|
|
202
211
|
74,
|
|
203
212
|
194,
|
|
204
213
|
154
|
|
205
214
|
];
|
|
206
|
-
|
|
207
|
-
|
|
215
|
+
let isWord = (char)=>!/[\s\n]/.test(char);
|
|
216
|
+
let gradient = (message)=>{
|
|
208
217
|
if (colorLevel < 3) return 2 === colorLevel ? bold(cyan(message)) : message;
|
|
209
218
|
let chars = [
|
|
210
219
|
...message
|
|
@@ -216,106 +225,106 @@ var __webpack_modules__ = {
|
|
|
216
225
|
let rStep = (endColor[0] - r) / steps;
|
|
217
226
|
let gStep = (endColor[1] - g) / steps;
|
|
218
227
|
let bStep = (endColor[2] - b) / steps;
|
|
219
|
-
let output =
|
|
228
|
+
let output = '';
|
|
220
229
|
for (let char of chars){
|
|
221
230
|
if (isWord(char)) {
|
|
222
231
|
r += rStep;
|
|
223
232
|
g += gStep;
|
|
224
233
|
b += bStep;
|
|
225
234
|
}
|
|
226
|
-
output += `\
|
|
235
|
+
output += `\x1b[38;2;${Math.round(r)};${Math.round(g)};${Math.round(b)}m${char}\x1b[39m`;
|
|
227
236
|
}
|
|
228
237
|
return bold(output);
|
|
229
238
|
};
|
|
230
|
-
|
|
239
|
+
let LOG_LEVEL = {
|
|
240
|
+
silent: -1,
|
|
231
241
|
error: 0,
|
|
232
242
|
warn: 1,
|
|
233
243
|
info: 2,
|
|
234
|
-
log:
|
|
235
|
-
verbose:
|
|
244
|
+
log: 2,
|
|
245
|
+
verbose: 3
|
|
236
246
|
};
|
|
237
|
-
|
|
247
|
+
let LOG_TYPES = {
|
|
238
248
|
error: {
|
|
239
|
-
label:
|
|
240
|
-
level:
|
|
249
|
+
label: 'error',
|
|
250
|
+
level: 'error',
|
|
241
251
|
color: red
|
|
242
252
|
},
|
|
243
253
|
warn: {
|
|
244
|
-
label:
|
|
245
|
-
level:
|
|
254
|
+
label: 'warn',
|
|
255
|
+
level: 'warn',
|
|
246
256
|
color: yellow
|
|
247
257
|
},
|
|
248
258
|
info: {
|
|
249
|
-
label:
|
|
250
|
-
level:
|
|
259
|
+
label: 'info',
|
|
260
|
+
level: 'info',
|
|
251
261
|
color: cyan
|
|
252
262
|
},
|
|
253
263
|
start: {
|
|
254
|
-
label:
|
|
255
|
-
level:
|
|
264
|
+
label: 'start',
|
|
265
|
+
level: 'info',
|
|
256
266
|
color: cyan
|
|
257
267
|
},
|
|
258
268
|
ready: {
|
|
259
|
-
label:
|
|
260
|
-
level:
|
|
269
|
+
label: 'ready',
|
|
270
|
+
level: 'info',
|
|
261
271
|
color: green
|
|
262
272
|
},
|
|
263
273
|
success: {
|
|
264
|
-
label:
|
|
265
|
-
level:
|
|
274
|
+
label: 'success',
|
|
275
|
+
level: 'info',
|
|
266
276
|
color: green
|
|
267
277
|
},
|
|
268
278
|
log: {
|
|
269
|
-
level:
|
|
279
|
+
level: 'info'
|
|
270
280
|
},
|
|
271
281
|
debug: {
|
|
272
|
-
label:
|
|
273
|
-
level:
|
|
282
|
+
label: 'debug',
|
|
283
|
+
level: 'verbose',
|
|
274
284
|
color: magenta
|
|
275
285
|
}
|
|
276
286
|
};
|
|
277
|
-
|
|
278
|
-
let maxLevel = options.level ||
|
|
287
|
+
let createLogger = (options = {})=>{
|
|
288
|
+
let maxLevel = options.level || 'info';
|
|
279
289
|
let log = (type, message, ...args)=>{
|
|
280
290
|
if (LOG_LEVEL[LOG_TYPES[type].level] > LOG_LEVEL[maxLevel]) return;
|
|
281
291
|
if (null == message) return console.log();
|
|
282
292
|
let logType = LOG_TYPES[type];
|
|
283
|
-
let label =
|
|
284
|
-
let text =
|
|
285
|
-
if (
|
|
286
|
-
label = (logType.label ||
|
|
293
|
+
let label = '';
|
|
294
|
+
let text = '';
|
|
295
|
+
if ('label' in logType) {
|
|
296
|
+
label = (logType.label || '').padEnd(7);
|
|
287
297
|
label = bold(logType.color ? logType.color(label) : label);
|
|
288
298
|
}
|
|
289
299
|
if (message instanceof Error) if (message.stack) {
|
|
290
|
-
let [name, ...rest] = message.stack.split(
|
|
291
|
-
if (name.startsWith(
|
|
292
|
-
text = `${name}
|
|
293
|
-
${gray(rest.join("\n"))}`;
|
|
300
|
+
let [name, ...rest] = message.stack.split('\n');
|
|
301
|
+
if (name.startsWith('Error: ')) name = name.slice(7);
|
|
302
|
+
text = `${name}\n${gray(rest.join('\n'))}`;
|
|
294
303
|
} else text = message.message;
|
|
295
|
-
else if (
|
|
296
|
-
let lines = message.split(
|
|
297
|
-
text = lines.map((line)=>isErrorStackMessage(line) ? gray(line) : line).join(
|
|
304
|
+
else if ('error' === logType.level && 'string' == typeof message) {
|
|
305
|
+
let lines = message.split('\n');
|
|
306
|
+
text = lines.map((line)=>isErrorStackMessage(line) ? gray(line) : line).join('\n');
|
|
298
307
|
} else text = `${message}`;
|
|
299
308
|
console.log(label.length ? `${label} ${text}` : text, ...args);
|
|
300
309
|
};
|
|
301
|
-
let
|
|
302
|
-
greet: (message)=>log(
|
|
310
|
+
let logger = {
|
|
311
|
+
greet: (message)=>log('log', gradient(message))
|
|
303
312
|
};
|
|
304
313
|
Object.keys(LOG_TYPES).forEach((key)=>{
|
|
305
|
-
|
|
314
|
+
logger[key] = (...args)=>log(key, ...args);
|
|
306
315
|
});
|
|
307
|
-
Object.defineProperty(
|
|
316
|
+
Object.defineProperty(logger, 'level', {
|
|
308
317
|
get: ()=>maxLevel,
|
|
309
318
|
set (val) {
|
|
310
319
|
maxLevel = val;
|
|
311
320
|
}
|
|
312
321
|
});
|
|
313
|
-
|
|
314
|
-
Object.assign(
|
|
322
|
+
logger.override = (customLogger)=>{
|
|
323
|
+
Object.assign(logger, customLogger);
|
|
315
324
|
};
|
|
316
|
-
return
|
|
325
|
+
return logger;
|
|
317
326
|
};
|
|
318
|
-
|
|
327
|
+
let src_logger = createLogger();
|
|
319
328
|
var external_node_fs_ = __webpack_require__("node:fs");
|
|
320
329
|
var external_node_path_ = __webpack_require__("node:path");
|
|
321
330
|
const INDENT_REGEX = /^(?:( )+|\t+)/;
|
|
@@ -424,7 +433,7 @@ ${gray(rest.join("\n"))}`;
|
|
|
424
433
|
const packageJSONPath = external_node_path_["default"].resolve(cwd, 'package.json');
|
|
425
434
|
if (!external_node_fs_["default"].existsSync(packageJSONPath)) {
|
|
426
435
|
const message = `${picocolors_default().underline(picocolors_default().yellow(packageJSONPath))} not found. Please run ${picocolors_default().bold('upgrade-rspeedy')} in your Rspeedy project.`;
|
|
427
|
-
|
|
436
|
+
src_logger.error(message);
|
|
428
437
|
throw new Error(message);
|
|
429
438
|
}
|
|
430
439
|
try {
|
|
@@ -441,28 +450,28 @@ Please run ${picocolors_default().bold('upgrade-rspeedy')} in your Rspeedy proje
|
|
|
441
450
|
console.info();
|
|
442
451
|
if (dependenciesUpdated || devDependenciesUpdated) {
|
|
443
452
|
await external_node_fs_["default"].promises.writeFile(packageJSONPath, JSON.stringify(pkg, null, indent) + EOL, 'utf-8');
|
|
444
|
-
|
|
445
|
-
|
|
453
|
+
src_logger.success(`${picocolors_default().yellow(packageJSONPath)} has been updated.`);
|
|
454
|
+
src_logger.success("Please install the dependencies with your package manager.");
|
|
446
455
|
}
|
|
447
456
|
} catch (error) {
|
|
448
|
-
|
|
457
|
+
src_logger.error(error);
|
|
449
458
|
throw error;
|
|
450
459
|
}
|
|
451
460
|
}
|
|
452
461
|
function updateDependencies(pkg, packageJSONPath, name) {
|
|
453
462
|
const dependencies = pkg[name];
|
|
454
463
|
if (!dependencies) {
|
|
455
|
-
|
|
464
|
+
src_logger.info(`No ${picocolors_default().yellow(name)} is found in ${picocolors_default().underline(packageJSONPath)}`);
|
|
456
465
|
return false;
|
|
457
466
|
}
|
|
458
467
|
const updatedDependencies = findDependencies(dependencies).filter(([, { original, target }])=>original !== target);
|
|
459
468
|
if (0 === updatedDependencies.length) {
|
|
460
|
-
|
|
469
|
+
src_logger.info(`No ${picocolors_default().yellow(name)} need to be updated in ${picocolors_default().underline(packageJSONPath)}`);
|
|
461
470
|
return false;
|
|
462
471
|
}
|
|
463
472
|
{
|
|
464
473
|
const sep = '\n - ';
|
|
465
|
-
|
|
474
|
+
src_logger.info(`Updated ${picocolors_default().yellow(name)}:\n${sep}${updatedDependencies.map(([name, { original, target }])=>`${picocolors_default().cyan(name)}: ${picocolors_default().dim(original)} -> ${picocolors_default().green(target)}`).join(sep)}`);
|
|
466
475
|
}
|
|
467
476
|
updatedDependencies.forEach(([dependency, { target }])=>{
|
|
468
477
|
dependencies[dependency] = target;
|
|
@@ -486,7 +495,7 @@ Please run ${picocolors_default().bold('upgrade-rspeedy')} in your Rspeedy proje
|
|
|
486
495
|
const program = new Command('upgrade-rspeedy');
|
|
487
496
|
const { npm_execpath } = process.env;
|
|
488
497
|
if (!npm_execpath || npm_execpath.includes('npm-cli.js') || npm_execpath.includes('npx-cli.js')) console.info();
|
|
489
|
-
|
|
498
|
+
src_logger.greet(`Upgrade Rspeedy v${version_version}\n`);
|
|
490
499
|
program.helpCommand(false).description('Upgrade the Rspeedy-related packages').action(()=>install(cwd ?? process.cwd()));
|
|
491
500
|
await program.parseAsync(argv);
|
|
492
501
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "upgrade-rspeedy-canary",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.11-canary-20250626-0bbb23af",
|
|
4
4
|
"description": "Upgrade Rspeedy-related packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"webpack",
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
"detect-indent": "^7.0.1",
|
|
38
38
|
"memfs": "^4.17.2",
|
|
39
39
|
"picocolors": "^1.1.1",
|
|
40
|
-
"rsbuild-plugin-tailwindcss": "0.2.
|
|
41
|
-
"rslog": "^1.2.
|
|
40
|
+
"rsbuild-plugin-tailwindcss": "0.2.2",
|
|
41
|
+
"rslog": "^1.2.8",
|
|
42
42
|
"type-fest": "^4.41.0",
|
|
43
|
-
"@lynx-js/qrcode-rsbuild-plugin": "npm:@lynx-js/qrcode-rsbuild-plugin-canary@0.
|
|
44
|
-
"@lynx-js/react
|
|
45
|
-
"@lynx-js/
|
|
46
|
-
"@lynx-js/
|
|
47
|
-
"@lynx-js/web-
|
|
48
|
-
"@lynx-js/web-
|
|
43
|
+
"@lynx-js/qrcode-rsbuild-plugin": "npm:@lynx-js/qrcode-rsbuild-plugin-canary@0.4.0-canary-20250626-0bbb23af",
|
|
44
|
+
"@lynx-js/react": "npm:@lynx-js/react-canary@0.110.1-canary-20250626-0bbb23af",
|
|
45
|
+
"@lynx-js/react-rsbuild-plugin": "npm:@lynx-js/react-rsbuild-plugin-canary@0.10.5-canary-20250626-0bbb23af",
|
|
46
|
+
"@lynx-js/rspeedy": "npm:@lynx-js/rspeedy-canary@0.9.11-canary-20250626-0bbb23af",
|
|
47
|
+
"@lynx-js/web-core": "npm:@lynx-js/web-core-canary@0.14.1-canary-20250626-0bbb23af",
|
|
48
|
+
"@lynx-js/web-elements": "npm:@lynx-js/web-elements-canary@0.7.7-canary-20250626-0bbb23af"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
51
|
"node": ">=18"
|