zephyr-rolldown-plugin 0.0.0-canary-20250513002410 → 0.0.0-canary-20250513044151
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/lib/internal/extract-rolldown-build-stats.d.ts +2 -1
- package/dist/lib/internal/extract-rolldown-build-stats.js +170 -32
- package/dist/lib/internal/extract-rolldown-build-stats.js.map +1 -1
- package/dist/lib/zephyr-rolldown-plugin.d.ts +13 -3
- package/dist/lib/zephyr-rolldown-plugin.js +3 -1
- package/dist/lib/zephyr-rolldown-plugin.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,8 @@ interface RolldownBuildStatsOptions {
|
|
|
6
6
|
zephyr_engine: ZephyrEngine;
|
|
7
7
|
bundle: OutputBundle;
|
|
8
8
|
mfConfig?: RolldownModuleFederationConfig | undefined;
|
|
9
|
+
root?: string;
|
|
9
10
|
}
|
|
10
11
|
/** Extract build statistics specific to Rolldown builds */
|
|
11
|
-
export declare function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, }: RolldownBuildStatsOptions): Promise<ZephyrBuildStats>;
|
|
12
|
+
export declare function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, root, }: RolldownBuildStatsOptions): Promise<ZephyrBuildStats>;
|
|
12
13
|
export {};
|
|
@@ -3,8 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.extractRolldownBuildStats = extractRolldownBuildStats;
|
|
4
4
|
const zephyr_agent_1 = require("zephyr-agent");
|
|
5
5
|
/** Extract build statistics specific to Rolldown builds */
|
|
6
|
-
async function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, }) {
|
|
6
|
+
async function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, root = process.cwd(), }) {
|
|
7
7
|
(0, zephyr_agent_1.ze_log)('Extracting Rolldown build stats');
|
|
8
|
+
const consumeMap = new Map();
|
|
9
|
+
if (!bundle) {
|
|
10
|
+
(0, zephyr_agent_1.ze_log)('No bundle found, skipping build stats extraction');
|
|
11
|
+
}
|
|
8
12
|
const app = zephyr_engine.applicationProperties;
|
|
9
13
|
const { git } = zephyr_engine.gitProperties;
|
|
10
14
|
const { isCI } = zephyr_engine.env;
|
|
@@ -13,6 +17,10 @@ async function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, }) {
|
|
|
13
17
|
const application_uid = zephyr_engine.application_uid;
|
|
14
18
|
const buildId = await zephyr_engine.build_id;
|
|
15
19
|
const { EDGE_URL, PLATFORM, DELIMITER } = await zephyr_engine.application_configuration;
|
|
20
|
+
// Extract information from Module Federation config if available
|
|
21
|
+
const name = (mfConfig === null || mfConfig === void 0 ? void 0 : mfConfig.name) || app.name;
|
|
22
|
+
const filename = (mfConfig === null || mfConfig === void 0 ? void 0 : mfConfig.filename) || 'remoteEntry.js';
|
|
23
|
+
const remotes = (mfConfig === null || mfConfig === void 0 ? void 0 : mfConfig.remotes) ? Object.keys(mfConfig.remotes) : [];
|
|
16
24
|
// Get bundle stats
|
|
17
25
|
const totalSize = calculateBundleSize(bundle);
|
|
18
26
|
const fileCount = Object.keys(bundle).length;
|
|
@@ -25,31 +33,129 @@ async function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, }) {
|
|
|
25
33
|
chunks.forEach((chunk) => {
|
|
26
34
|
(chunk.dynamicImports || []).forEach((imp) => dynamicImports.add(imp));
|
|
27
35
|
});
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
// Different regex patterns to match various loadRemote call formats
|
|
37
|
+
const regexPatterns = [
|
|
38
|
+
// Basic pattern: loadRemote("remote/component")
|
|
39
|
+
/loadRemote\(["']([^/]+)\/([^'"]+)["']\)/g,
|
|
40
|
+
// Destructured pattern: { loadRemote: c } = a, then c("remote/component")
|
|
41
|
+
/(?:\{[ \t]*loadRemote:[ \t]*([a-zA-Z0-9_$]+)[ \t]*\}|\blodRemote[ \t]*:[ \t]*([a-zA-Z0-9_$]+)\b).*?([a-zA-Z0-9_$]+)[ \t]*\(["']([^/]+)\/([^'"]+)["']\)/g,
|
|
42
|
+
// Promise chain pattern: n.then(e => c("remote/component"))
|
|
43
|
+
/\.then\([ \t]*(?:[a-zA-Z0-9_$]+)[ \t]*=>[ \t]*(?:[a-zA-Z0-9_$]+)\(["']([^/]+)\/([^'"]+)["']\)\)/g,
|
|
44
|
+
];
|
|
45
|
+
// Process the bundle to find the loadRemote calls using multiple regex patterns
|
|
46
|
+
chunks.forEach((chunk) => {
|
|
47
|
+
try {
|
|
48
|
+
const code = chunk.code;
|
|
49
|
+
// Try each regex pattern
|
|
50
|
+
for (const pattern of regexPatterns) {
|
|
51
|
+
// Reset lastIndex to search from beginning
|
|
52
|
+
pattern.lastIndex = 0;
|
|
53
|
+
let match;
|
|
54
|
+
while ((match = pattern.exec(code)) !== null) {
|
|
55
|
+
// The match array structure depends on the regex pattern
|
|
56
|
+
let remoteName, componentName;
|
|
57
|
+
if (match.length === 3) {
|
|
58
|
+
// First pattern: loadRemote("remote/component")
|
|
59
|
+
remoteName = match[1];
|
|
60
|
+
componentName = match[2];
|
|
61
|
+
}
|
|
62
|
+
else if (match.length === 6) {
|
|
63
|
+
// Second pattern: destructured variant
|
|
64
|
+
remoteName = match[4];
|
|
65
|
+
componentName = match[5];
|
|
66
|
+
}
|
|
67
|
+
else if (match.length >= 3) {
|
|
68
|
+
// Third pattern: promise chain
|
|
69
|
+
remoteName = match[1];
|
|
70
|
+
componentName = match[2];
|
|
71
|
+
}
|
|
72
|
+
if (remoteName && componentName) {
|
|
73
|
+
const moduleIds = chunk.facadeModuleId
|
|
74
|
+
? [chunk.facadeModuleId]
|
|
75
|
+
: Object.keys(chunk.modules || {});
|
|
76
|
+
consumeMap.set(`${remoteName}-${componentName}`, {
|
|
77
|
+
consumingApplicationID: componentName,
|
|
78
|
+
applicationID: remoteName,
|
|
79
|
+
name: componentName,
|
|
80
|
+
usedIn: moduleIds.map((id) => ({
|
|
81
|
+
file: id.replace(root, ''),
|
|
82
|
+
url: id.replace(root, ''),
|
|
83
|
+
})),
|
|
84
|
+
});
|
|
85
|
+
(0, zephyr_agent_1.ze_log)('Found remote import', { remoteName, componentName });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Extra pattern specifically for the promise chain syntax
|
|
90
|
+
const promiseChainPattern = /\w+\s*=\s*\w+\.then\(\w+\s*=>\s*\w+\(["']([^/]+)\/([^'"]+)["']\)\)/g;
|
|
91
|
+
let promiseMatch;
|
|
92
|
+
while ((promiseMatch = promiseChainPattern.exec(chunk.code)) !== null) {
|
|
93
|
+
if (promiseMatch.length >= 3) {
|
|
94
|
+
const remoteName = promiseMatch[1];
|
|
95
|
+
const componentName = promiseMatch[2];
|
|
96
|
+
const moduleIds = chunk.facadeModuleId
|
|
97
|
+
? [chunk.facadeModuleId]
|
|
98
|
+
: Object.keys(chunk.modules || {});
|
|
99
|
+
consumeMap.set(`${remoteName}-${componentName}`, {
|
|
100
|
+
consumingApplicationID: componentName,
|
|
101
|
+
applicationID: remoteName,
|
|
102
|
+
name: componentName,
|
|
103
|
+
usedIn: moduleIds.map((id) => ({
|
|
104
|
+
file: id.replace(root, ''),
|
|
105
|
+
url: id.replace(root, ''),
|
|
106
|
+
})),
|
|
107
|
+
});
|
|
108
|
+
(0, zephyr_agent_1.ze_log)('Found remote import in promise chain', { remoteName, componentName });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
(0, zephyr_agent_1.ze_log)('Error parsing chunk for loadRemote calls', {
|
|
114
|
+
error,
|
|
115
|
+
chunkId: chunk.fileName,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
(0, zephyr_agent_1.ze_log)('consumeMap', ...consumeMap);
|
|
120
|
+
// Extract shared dependencies from Module Federation config
|
|
121
|
+
const overrides = (mfConfig === null || mfConfig === void 0 ? void 0 : mfConfig.shared)
|
|
122
|
+
? Object.entries(mfConfig.shared).map(([name, version]) => {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
// Get version from package dependencies if available or from config
|
|
125
|
+
let finalVersion = '0.0.0';
|
|
126
|
+
if ((_a = zephyr_engine.npmProperties.dependencies) === null || _a === void 0 ? void 0 : _a[name]) {
|
|
127
|
+
// Resolve catalog reference in dependencies if present
|
|
128
|
+
const depVersion = zephyr_engine.npmProperties.dependencies[name];
|
|
129
|
+
finalVersion = depVersion.startsWith('catalog:')
|
|
130
|
+
? (0, zephyr_agent_1.resolveCatalogDependencies)({ [name]: depVersion })[name]
|
|
131
|
+
: depVersion;
|
|
132
|
+
}
|
|
133
|
+
else if ((_b = zephyr_engine.npmProperties.peerDependencies) === null || _b === void 0 ? void 0 : _b[name]) {
|
|
134
|
+
// Resolve catalog reference in peer dependencies if present
|
|
135
|
+
const peerVersion = zephyr_engine.npmProperties.peerDependencies[name];
|
|
136
|
+
finalVersion = peerVersion.startsWith('catalog:')
|
|
137
|
+
? (0, zephyr_agent_1.resolveCatalogDependencies)({ [name]: peerVersion })[name]
|
|
138
|
+
: peerVersion;
|
|
139
|
+
}
|
|
140
|
+
else if (typeof version === 'string') {
|
|
141
|
+
// Resolve catalog reference if present
|
|
142
|
+
finalVersion = version.startsWith('catalog:')
|
|
143
|
+
? (0, zephyr_agent_1.resolveCatalogDependencies)({ [name]: version })[name]
|
|
144
|
+
: version;
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
id: name,
|
|
148
|
+
name,
|
|
149
|
+
version: finalVersion,
|
|
150
|
+
location: name,
|
|
151
|
+
applicationID: name,
|
|
152
|
+
};
|
|
153
|
+
})
|
|
154
|
+
: [];
|
|
49
155
|
// Build the stats object
|
|
50
156
|
const buildStats = {
|
|
51
157
|
id: application_uid,
|
|
52
|
-
name
|
|
158
|
+
name,
|
|
53
159
|
edge: { url: EDGE_URL, delimiter: DELIMITER },
|
|
54
160
|
domain: undefined,
|
|
55
161
|
platform: PLATFORM,
|
|
@@ -57,19 +163,19 @@ async function extractRolldownBuildStats({ zephyr_engine, bundle, mfConfig, }) {
|
|
|
57
163
|
app: Object.assign({}, app, { buildId }),
|
|
58
164
|
version,
|
|
59
165
|
git,
|
|
60
|
-
remote:
|
|
166
|
+
remote: filename,
|
|
61
167
|
remotes,
|
|
62
168
|
context: { isCI },
|
|
63
|
-
project:
|
|
169
|
+
project: name,
|
|
64
170
|
tags: [],
|
|
65
|
-
//
|
|
66
|
-
dependencies: getPackageDependencies(zephyr_engine.npmProperties.dependencies),
|
|
67
|
-
devDependencies: getPackageDependencies(zephyr_engine.npmProperties.devDependencies),
|
|
68
|
-
optionalDependencies: getPackageDependencies(zephyr_engine.npmProperties.optionalDependencies),
|
|
69
|
-
peerDependencies: getPackageDependencies(zephyr_engine.npmProperties.peerDependencies),
|
|
70
|
-
consumes,
|
|
171
|
+
// Module Federation related data
|
|
172
|
+
dependencies: getPackageDependencies((0, zephyr_agent_1.resolveCatalogDependencies)(zephyr_engine.npmProperties.dependencies)),
|
|
173
|
+
devDependencies: getPackageDependencies((0, zephyr_agent_1.resolveCatalogDependencies)(zephyr_engine.npmProperties.devDependencies)),
|
|
174
|
+
optionalDependencies: getPackageDependencies((0, zephyr_agent_1.resolveCatalogDependencies)(zephyr_engine.npmProperties.optionalDependencies)),
|
|
175
|
+
peerDependencies: getPackageDependencies((0, zephyr_agent_1.resolveCatalogDependencies)(zephyr_engine.npmProperties.peerDependencies)),
|
|
176
|
+
consumes: Array.from(consumeMap.values()),
|
|
71
177
|
overrides,
|
|
72
|
-
modules,
|
|
178
|
+
modules: extractModulesFromExposes(mfConfig, application_uid),
|
|
73
179
|
// Add Rolldown-specific metadata
|
|
74
180
|
metadata: {
|
|
75
181
|
bundler: 'rolldown',
|
|
@@ -107,4 +213,36 @@ function calculateBundleSize(bundle) {
|
|
|
107
213
|
return size;
|
|
108
214
|
}, 0);
|
|
109
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Extracts exposed modules from Module Federation configuration Creates formatted module
|
|
218
|
+
* entries for the build stats
|
|
219
|
+
*/
|
|
220
|
+
function extractModulesFromExposes(mfConfig, applicationID) {
|
|
221
|
+
if (!(mfConfig === null || mfConfig === void 0 ? void 0 : mfConfig.exposes)) {
|
|
222
|
+
return [];
|
|
223
|
+
}
|
|
224
|
+
// Extract exposed modules from the Module Federation config
|
|
225
|
+
return Object.entries(mfConfig.exposes).map(([exposedPath, filePath]) => {
|
|
226
|
+
// Handle different formats of exposes configuration
|
|
227
|
+
// Normalize the file path
|
|
228
|
+
const normalizedFilePath = typeof filePath === 'string' ? filePath : String(filePath);
|
|
229
|
+
// Extract just the module name from the exposed path (removing './')
|
|
230
|
+
const name = exposedPath.startsWith('./') ? exposedPath.substring(2) : exposedPath;
|
|
231
|
+
// Create a unique ID for this module in the format used by Module Federation Dashboard
|
|
232
|
+
const id = `${name}:${name}`;
|
|
233
|
+
// Extract any potential requirements from shared dependencies
|
|
234
|
+
const requires = [];
|
|
235
|
+
// If we have shared dependencies, use them as requirements
|
|
236
|
+
if (mfConfig.shared) {
|
|
237
|
+
requires.push(...Object.keys(mfConfig.shared));
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
id,
|
|
241
|
+
name,
|
|
242
|
+
applicationID,
|
|
243
|
+
requires,
|
|
244
|
+
file: normalizedFilePath,
|
|
245
|
+
};
|
|
246
|
+
});
|
|
247
|
+
}
|
|
110
248
|
//# sourceMappingURL=extract-rolldown-build-stats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-rolldown-build-stats.js","sourceRoot":"","sources":["../../../src/lib/internal/extract-rolldown-build-stats.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"extract-rolldown-build-stats.js","sourceRoot":"","sources":["../../../src/lib/internal/extract-rolldown-build-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import type { InputOptions, NormalizedOutputOptions, OutputBundle } from 'rolldown';
|
|
2
2
|
export interface RolldownModuleFederationConfig {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
name?: string;
|
|
4
|
+
filename?: string;
|
|
5
|
+
exposes?: Record<string, string | {
|
|
6
|
+
import: string;
|
|
7
|
+
}>;
|
|
8
|
+
remotes?: Record<string, string>;
|
|
9
|
+
shared?: Record<string, string | {
|
|
10
|
+
requiredVersion?: string;
|
|
11
|
+
singleton?: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
additionalShared?: Array<string | {
|
|
14
|
+
libraryName: string;
|
|
15
|
+
}>;
|
|
6
16
|
}
|
|
7
17
|
interface ZephyrRolldownOptions {
|
|
8
18
|
mfConfig?: RolldownModuleFederationConfig | undefined;
|
|
@@ -16,10 +16,11 @@ const getInputFolder = (options) => {
|
|
|
16
16
|
};
|
|
17
17
|
function withZephyr(options) {
|
|
18
18
|
const { zephyr_engine_defer, zephyr_defer_create } = zephyr_agent_1.ZephyrEngine.defer_create();
|
|
19
|
+
let path_to_execution_dir;
|
|
19
20
|
return {
|
|
20
21
|
name: 'with-zephyr',
|
|
21
22
|
buildStart: async (inputOptions) => {
|
|
22
|
-
|
|
23
|
+
path_to_execution_dir = getInputFolder(inputOptions);
|
|
23
24
|
zephyr_defer_create({
|
|
24
25
|
builder: 'rolldown', // Now explicitly using 'rolldown' as the builder
|
|
25
26
|
context: path_to_execution_dir,
|
|
@@ -37,6 +38,7 @@ function withZephyr(options) {
|
|
|
37
38
|
zephyr_engine,
|
|
38
39
|
bundle,
|
|
39
40
|
mfConfig: options === null || options === void 0 ? void 0 : options.mfConfig,
|
|
41
|
+
root: path_to_execution_dir,
|
|
40
42
|
});
|
|
41
43
|
// Upload assets and build stats
|
|
42
44
|
await zephyr_engine.upload_assets({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zephyr-rolldown-plugin.js","sourceRoot":"","sources":["../../src/lib/zephyr-rolldown-plugin.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"zephyr-rolldown-plugin.js","sourceRoot":"","sources":["../../src/lib/zephyr-rolldown-plugin.ts"],"names":[],"mappings":";;AA2BA,gCA4CC;AAtED,+CAAgE;AAChE,+CAAmC;AACnC,8DAAyD;AACzD,0FAAoF;AAWpF,MAAM,cAAc,GAAG,CAAC,OAAqB,EAAU,EAAE;IACvD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAA,kBAAG,GAAE,CAAC;AACf,CAAC,CAAC;AAOF,SAAgB,UAAU,CAAC,OAA+B;IACxD,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,2BAAY,CAAC,YAAY,EAAE,CAAC;IAEjF,IAAI,qBAA6B,CAAC;IAElC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK,EAAE,YAA0B,EAAE,EAAE;YAC/C,qBAAqB,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YACrD,mBAAmB,CAAC;gBAClB,OAAO,EAAE,UAAU,EAAE,iDAAiD;gBACtE,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,QAAiC,EAAE,MAAoB,EAAE,EAAE;YAC7E,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC;gBAEhD,oBAAoB;gBACpB,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;gBAEtC,iBAAiB;gBACjB,MAAM,SAAS,GAAG,IAAA,6BAAY,EAAC,MAAM,CAAC,CAAC;gBAEvC,6CAA6C;gBAC7C,MAAM,UAAU,GAAG,MAAM,IAAA,wDAAyB,EAAC;oBACjD,aAAa;oBACb,MAAM;oBACN,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;oBAC3B,IAAI,EAAE,qBAAqB;iBAC5B,CAAC,CAAC;gBAEH,gCAAgC;gBAChC,MAAM,aAAa,CAAC,aAAa,CAAC;oBAChC,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;gBAEH,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAA,oBAAK,EAAC,OAAO,EAAE,0BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zephyr-rolldown-plugin",
|
|
3
|
-
"version": "0.0.0-canary-
|
|
3
|
+
"version": "0.0.0-canary-20250513044151",
|
|
4
4
|
"description": "Rolldown plugin for Zephyr",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"is-ci": "^4.1.0",
|
|
20
20
|
"rolldown": "1.0.0-beta.3",
|
|
21
|
-
"zephyr-agent": "0.0.0-canary-
|
|
21
|
+
"zephyr-agent": "0.0.0-canary-20250513044151"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/is-ci": "3.0.4",
|