@powerlines/plugin-vite 0.14.27 → 0.14.28

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.
@@ -1,17 +1,20 @@
1
1
  export { createVitePlugin } from './unplugin.cjs';
2
2
  import 'vite';
3
- import '../index-B7E0WZU6.cjs';
3
+ import '../index-Duvi2T7H.cjs';
4
4
  import '@stryke/env/get-env-paths';
5
5
  import '@stryke/types/base';
6
6
  import '@stryke/types/package-json';
7
7
  import 'jiti';
8
+ import 'magic-string';
8
9
  import 'semver';
10
+ import 'ts-morph';
9
11
  import 'unplugin';
10
12
  import '@storm-software/build-tools/types';
11
13
  import '@storm-software/config-tools/types';
12
14
  import '@storm-software/config/types';
13
15
  import '@stryke/types/configuration';
14
16
  import '@stryke/types/file';
17
+ import '@stryke/fs/resolve';
15
18
  import 'node:fs';
16
19
  import '@stryke/types/array';
17
20
  import '@stryke/types/tsconfig';
@@ -1,17 +1,20 @@
1
1
  export { createVitePlugin } from './unplugin.js';
2
2
  import 'vite';
3
- import '../index-B7E0WZU6.js';
3
+ import '../index-Duvi2T7H.js';
4
4
  import '@stryke/env/get-env-paths';
5
5
  import '@stryke/types/base';
6
6
  import '@stryke/types/package-json';
7
7
  import 'jiti';
8
+ import 'magic-string';
8
9
  import 'semver';
10
+ import 'ts-morph';
9
11
  import 'unplugin';
10
12
  import '@storm-software/build-tools/types';
11
13
  import '@storm-software/config-tools/types';
12
14
  import '@storm-software/config/types';
13
15
  import '@stryke/types/configuration';
14
16
  import '@stryke/types/file';
17
+ import '@stryke/fs/resolve';
15
18
  import 'node:fs';
16
19
  import '@stryke/types/array';
17
20
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
1
  import * as vite from 'vite';
2
- import { V as VitePluginContext } from '../index-B7E0WZU6.cjs';
2
+ import { V as VitePluginContext } from '../index-Duvi2T7H.cjs';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
1
  import * as vite from 'vite';
2
- import { V as VitePluginContext } from '../index-B7E0WZU6.js';
2
+ import { V as VitePluginContext } from '../index-Duvi2T7H.js';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
@@ -3,14 +3,17 @@ import { EnvPaths } from '@stryke/env/get-env-paths';
3
3
  import { MaybePromise, NonUndefined, FunctionLike } from '@stryke/types/base';
4
4
  import { PackageJson } from '@stryke/types/package-json';
5
5
  import { Jiti } from 'jiti';
6
+ import { SourceMap } from 'magic-string';
6
7
  import { Range } from 'semver';
7
- import { UnpluginMessage, UnpluginContext, UnpluginBuildContext, TransformResult, ExternalIdResult, HookFilter, UnpluginOptions } from 'unplugin';
8
+ import { Project } from 'ts-morph';
9
+ import { UnpluginMessage, ExternalIdResult, UnpluginContext, UnpluginBuildContext, TransformResult as TransformResult$1, HookFilter, UnpluginOptions } from 'unplugin';
8
10
  import { Format } from '@storm-software/build-tools/types';
9
11
  import { LogLevelLabel } from '@storm-software/config-tools/types';
10
12
  import { StormWorkspaceConfig } from '@storm-software/config/types';
11
13
  import { TypeDefinitionParameter, TypeDefinition } from '@stryke/types/configuration';
12
14
  import { AssetGlob } from '@stryke/types/file';
13
- import { PathLike, StatSyncOptions, Stats, RmDirOptions, RmOptions, Mode, MakeDirectoryOptions as MakeDirectoryOptions$1, PathOrFileDescriptor, WriteFileOptions as WriteFileOptions$1 } from 'node:fs';
15
+ import { ResolveOptions as ResolveOptions$1 } from '@stryke/fs/resolve';
16
+ import { StatSyncOptions, Stats, RmDirOptions, RmOptions, Mode, MakeDirectoryOptions as MakeDirectoryOptions$1, WriteFileOptions as WriteFileOptions$1 } from 'node:fs';
14
17
  import { ArrayValues } from '@stryke/types/array';
15
18
  import { TsConfigJson, CompilerOptions } from '@stryke/types/tsconfig';
16
19
  import ts from 'typescript';
@@ -240,21 +243,27 @@ interface PowerlinesWriteFileOptions extends ResolveFSOptions {
240
243
  type NodeWriteFileOptions = WriteFileOptions$1;
241
244
  type WriteFileOptions = NodeWriteFileOptions | PowerlinesWriteFileOptions;
242
245
  type WriteFileData = string | NodeJS.ArrayBufferView | VirtualFileData;
243
- interface ResolvePathOptions extends ResolveFSOptions {
246
+ interface ResolveOptions extends ResolveOptions$1 {
244
247
  /**
245
- * Should the resolved path include the file extension?
246
- *
247
- * @defaultValue true
248
+ * If true, the module is being resolved as an entry point.
249
+ */
250
+ isEntry?: boolean;
251
+ /**
252
+ * If true, the resolver will skip using the cache when resolving modules.
253
+ */
254
+ skipCache?: boolean;
255
+ /**
256
+ * An array of external modules or patterns to exclude from resolution.
248
257
  */
249
- withExtension?: boolean;
258
+ external?: (string | RegExp)[];
250
259
  /**
251
- * The paths to search for the file.
260
+ * An array of modules or patterns to include in the resolution, even if they are marked as external.
252
261
  */
253
- paths?: string[];
262
+ noExternal?: (string | RegExp)[];
254
263
  /**
255
- * The type of the path to resolve.
264
+ * An array of patterns to match when resolving modules.
256
265
  */
257
- pathType?: "file" | "directory";
266
+ skipNodeModulesBundle?: boolean;
258
267
  }
259
268
  interface VirtualFileSystemInterface {
260
269
  /**
@@ -268,27 +277,33 @@ interface VirtualFileSystemInterface {
268
277
  /**
269
278
  * The underlying file metadata.
270
279
  */
271
- metadata: Record<string, VirtualFileMetadata | undefined>;
280
+ metadata: Readonly<Record<string, VirtualFileMetadata>>;
281
+ /**
282
+ * A map of file paths to their module ids.
283
+ */
284
+ ids: Readonly<Record<string, string>>;
272
285
  /**
273
286
  * A map of module ids to their file paths.
274
287
  */
275
- ids: Record<string, string>;
288
+ paths: Readonly<Record<string, string>>;
276
289
  /**
277
290
  * Check if a path or id corresponds to a virtual file **(does not actually exists on disk)**.
278
291
  *
279
292
  * @param pathOrId - The path or id to check.
293
+ * @param importer - The importer path, if any.
280
294
  * @param options - Optional parameters for resolving the path.
281
295
  * @returns Whether the path or id corresponds to a virtual file **(does not actually exists on disk)**.
282
296
  */
283
- isVirtual: (pathOrId: string, options?: ResolvePathOptions) => boolean;
297
+ isVirtual: (pathOrId: string, importer?: string, options?: ResolveOptions) => boolean;
284
298
  /**
285
299
  * Check if a path or id corresponds to a file written to the file system **(actually exists on disk)**.
286
300
  *
287
301
  * @param pathOrId - The path or id to check.
302
+ * @param importer - The importer path, if any.
288
303
  * @param options - Optional parameters for resolving the path.
289
304
  * @returns Whether the path or id corresponds to a file written to the file system **(actually exists on disk)**.
290
305
  */
291
- isPhysical: (pathOrId: string, options?: ResolvePathOptions) => boolean;
306
+ isPhysical: (pathOrId: string, importer?: string, options?: ResolveOptions) => boolean;
292
307
  /**
293
308
  * Checks if a file exists in the virtual file system (VFS).
294
309
  *
@@ -316,7 +331,7 @@ interface VirtualFileSystemInterface {
316
331
  * @param pathOrId - The path or id of the file.
317
332
  * @returns The metadata of the file if it exists, otherwise undefined.
318
333
  */
319
- getMetadata: (pathOrId: PathLike) => VirtualFileMetadata | undefined;
334
+ getMetadata: (pathOrId: string) => VirtualFileMetadata | undefined;
320
335
  /**
321
336
  * Gets the stats of a file in the virtual file system (VFS).
322
337
  *
@@ -389,7 +404,7 @@ interface VirtualFileSystemInterface {
389
404
  * @param path - The path to the file to remove.
390
405
  * @returns A promise that resolves when the file is removed.
391
406
  */
392
- unlinkSync: (path: PathLike, options?: ResolveFSOptions) => void;
407
+ unlinkSync: (path: string, options?: ResolveFSOptions) => void;
393
408
  /**
394
409
  * Asynchronously removes a file or symbolic link in the virtual file system (VFS).
395
410
  *
@@ -403,7 +418,7 @@ interface VirtualFileSystemInterface {
403
418
  * @param path - The path to create the directory at.
404
419
  * @param options - Options for creating the directory.
405
420
  */
406
- rmdirSync: (path: PathLike, options?: RmDirOptions & ResolveFSOptions) => any;
421
+ rmdirSync: (path: string, options?: RmDirOptions & ResolveFSOptions) => any;
407
422
  /**
408
423
  * Removes a directory in the virtual file system (VFS).
409
424
  *
@@ -411,7 +426,7 @@ interface VirtualFileSystemInterface {
411
426
  * @param options - Options for creating the directory.
412
427
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
413
428
  */
414
- rmdir: (path: PathLike, options?: RmDirOptions & ResolveFSOptions) => Promise<void>;
429
+ rmdir: (path: string, options?: RmDirOptions & ResolveFSOptions) => Promise<void>;
415
430
  /**
416
431
  * Removes a file or directory in the virtual file system (VFS).
417
432
  *
@@ -419,14 +434,14 @@ interface VirtualFileSystemInterface {
419
434
  * @param options - Options for removing the file or directory.
420
435
  * @returns A promise that resolves when the file or directory is removed.
421
436
  */
422
- rm: (path: PathLike, options?: RmOptions & ResolveFSOptions) => Promise<void>;
437
+ rm: (path: string, options?: RmOptions & ResolveFSOptions) => Promise<void>;
423
438
  /**
424
439
  * Synchronously removes a file or directory in the virtual file system (VFS).
425
440
  *
426
441
  * @param path - The path to the file or directory to remove.
427
442
  * @param options - Options for removing the file or directory.
428
443
  */
429
- rmSync: (path: PathLike, options?: RmOptions & ResolveFSOptions) => void;
444
+ rmSync: (path: string, options?: RmOptions & ResolveFSOptions) => void;
430
445
  /**
431
446
  * Creates a directory in the virtual file system (VFS).
432
447
  *
@@ -434,7 +449,7 @@ interface VirtualFileSystemInterface {
434
449
  * @param options - Options for creating the directory.
435
450
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
436
451
  */
437
- mkdirSync: (path: PathLike, options?: MakeDirectoryOptions) => string | undefined;
452
+ mkdirSync: (path: string, options?: MakeDirectoryOptions) => string | undefined;
438
453
  /**
439
454
  * Creates a directory in the virtual file system (VFS).
440
455
  *
@@ -442,7 +457,7 @@ interface VirtualFileSystemInterface {
442
457
  * @param options - Options for creating the directory.
443
458
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
444
459
  */
445
- mkdir: (path: PathLike, options?: MakeDirectoryOptions) => Promise<string | undefined>;
460
+ mkdir: (path: string, options?: MakeDirectoryOptions) => Promise<string | undefined>;
446
461
  /**
447
462
  * Reads a file from the virtual file system (VFS).
448
463
  *
@@ -464,7 +479,7 @@ interface VirtualFileSystemInterface {
464
479
  * @param options - Optional parameters for writing the file.
465
480
  * @returns A promise that resolves when the file is written.
466
481
  */
467
- writeFile: (path: PathOrFileDescriptor, data?: WriteFileData, options?: WriteFileOptions) => Promise<void>;
482
+ writeFile: (path: string, data?: WriteFileData, options?: WriteFileOptions) => Promise<void>;
468
483
  /**
469
484
  * Writes a file to the virtual file system (VFS).
470
485
  *
@@ -472,7 +487,7 @@ interface VirtualFileSystemInterface {
472
487
  * @param data - The contents of the file.
473
488
  * @param options - Optional parameters for writing the file.
474
489
  */
475
- writeFileSync: (path: PathOrFileDescriptor, data?: WriteFileData, options?: WriteFileOptions) => void;
490
+ writeFileSync: (path: string, data?: WriteFileData, options?: WriteFileOptions) => void;
476
491
  /**
477
492
  * Moves a file from one path to another in the virtual file system (VFS).
478
493
  *
@@ -519,24 +534,43 @@ interface VirtualFileSystemInterface {
519
534
  * Resolves a path or id to a file path in the virtual file system.
520
535
  *
521
536
  * @param pathOrId - The path or id of the file to resolve.
522
- * @param options - Optional parameters for resolving the path.
523
537
  * @returns The resolved path of the file if it exists, otherwise false.
524
538
  */
525
- resolve: (pathOrId: string, options?: ResolvePathOptions) => string | false;
539
+ realpathSync: (pathOrId: string) => string;
526
540
  /**
527
- * Formats a path to match the virtual file system (VFS) structure.
541
+ * A helper function to resolve modules using the Jiti resolver
528
542
  *
529
- * @param path - The path to format.
530
- * @returns The formatted path.
543
+ * @remarks
544
+ * This function can be used to resolve modules relative to the project root directory.
545
+ *
546
+ * @example
547
+ * ```ts
548
+ * const resolvedPath = await context.resolve("some-module", "/path/to/importer");
549
+ * ```
550
+ *
551
+ * @param id - The module to resolve.
552
+ * @param importer - An optional path to the importer module.
553
+ * @param options - Additional resolution options.
554
+ * @returns A promise that resolves to the resolved module path.
531
555
  */
532
- formatPath: (path: string) => string;
556
+ resolve: (id: string, importer?: string, options?: ResolveOptions) => Promise<string | undefined>;
533
557
  /**
534
- * Resolves a path or id to a file path in the virtual file system.
558
+ * A synchronous helper function to resolve modules using the Jiti resolver
535
559
  *
536
- * @param pathOrId - The path or id of the file to resolve.
537
- * @returns The resolved path of the file if it exists, otherwise false.
560
+ * @remarks
561
+ * This function can be used to resolve modules relative to the project root directory.
562
+ *
563
+ * @example
564
+ * ```ts
565
+ * const resolvedPath = context.resolveSync("some-module", "/path/to/importer");
566
+ * ```
567
+ *
568
+ * @param id - The module to resolve.
569
+ * @param importer - An optional path to the importer module.
570
+ * @param options - Additional resolution options.
571
+ * @returns The resolved module path.
538
572
  */
539
- realpathSync: (pathOrId: string) => string;
573
+ resolveSync: (id: string, importer?: string, options?: ResolveOptions) => string | undefined;
540
574
  /**
541
575
  * Disposes of the virtual file system (VFS), writes any virtual file changes to disk, and releases any associated resources.
542
576
  */
@@ -1010,6 +1044,10 @@ interface MetaInfo {
1010
1044
  interface Resolver extends Jiti {
1011
1045
  plugin: Jiti;
1012
1046
  }
1047
+ interface TransformResult {
1048
+ code: string;
1049
+ map: SourceMap | null;
1050
+ }
1013
1051
  interface InitContextOptions {
1014
1052
  /**
1015
1053
  * If false, the plugin will be loaded after all other plugins.
@@ -1144,6 +1182,47 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1144
1182
  * The builtin module id that exist in the Powerlines virtual file system
1145
1183
  */
1146
1184
  builtins: string[];
1185
+ /**
1186
+ * The {@link Project} instance used for type reflection and module manipulation
1187
+ *
1188
+ * @see https://ts-morph.com/
1189
+ *
1190
+ * @remarks
1191
+ * This instance is created lazily on first access.
1192
+ */
1193
+ program: Project;
1194
+ /**
1195
+ * A helper function to resolve modules using the Jiti resolver
1196
+ *
1197
+ * @remarks
1198
+ * This function can be used to resolve modules relative to the project root directory.
1199
+ *
1200
+ * @example
1201
+ * ```ts
1202
+ * const resolvedPath = await context.resolve("some-module", "/path/to/importer");
1203
+ * ```
1204
+ *
1205
+ * @param id - The module to resolve.
1206
+ * @param importer - An optional path to the importer module.
1207
+ * @param options - Additional resolution options.
1208
+ * @returns A promise that resolves to the resolved module path.
1209
+ */
1210
+ resolveId: (id: string, importer?: string, options?: ResolveOptions) => Promise<ExternalIdResult | undefined>;
1211
+ /**
1212
+ * A helper function to load modules using the Jiti resolver
1213
+ *
1214
+ * @remarks
1215
+ * This function can be used to load modules relative to the project root directory.
1216
+ *
1217
+ * @example
1218
+ * ```ts
1219
+ * const module = await context.load("some-module", "/path/to/importer");
1220
+ * ```
1221
+ *
1222
+ * @param id - The module to load.
1223
+ * @returns A promise that resolves to the loaded module.
1224
+ */
1225
+ load: (id: string) => Promise<TransformResult | undefined>;
1147
1226
  /**
1148
1227
  * The Powerlines builtin virtual files
1149
1228
  */
@@ -1313,7 +1392,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
1313
1392
  * @param id - The identifier of the source code.
1314
1393
  * @returns A promise that resolves when the hook is complete.
1315
1394
  */
1316
- transform: (this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult>;
1395
+ transform: (this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult$1>;
1317
1396
  /**
1318
1397
  * A hook that is called to load the source code.
1319
1398
  *
@@ -1321,7 +1400,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
1321
1400
  * @param id - The identifier of the source code.
1322
1401
  * @returns A promise that resolves when the hook is complete.
1323
1402
  */
1324
- load: (this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult>;
1403
+ load: (this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult$1>;
1325
1404
  /**
1326
1405
  * A hook that is called to resolve the identifier of the source code.
1327
1406
  *
@@ -1371,7 +1450,7 @@ type PluginHooks<TContext extends PluginContext = PluginContext> = {
1371
1450
  * @param id - The identifier of the source code.
1372
1451
  * @returns A promise that resolves when the hook is complete.
1373
1452
  */
1374
- transform: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult>, "code" | "id">;
1453
+ transform: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult$1>, "code" | "id">;
1375
1454
  /**
1376
1455
  * A hook that is called to load the source code.
1377
1456
  *
@@ -1379,7 +1458,7 @@ type PluginHooks<TContext extends PluginContext = PluginContext> = {
1379
1458
  * @param id - The identifier of the source code.
1380
1459
  * @returns A promise that resolves when the hook is complete.
1381
1460
  */
1382
- load: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult>, "id">;
1461
+ load: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult$1>, "id">;
1383
1462
  /**
1384
1463
  * A hook that is called to resolve the identifier of the source code.
1385
1464
  *
@@ -3,14 +3,17 @@ import { EnvPaths } from '@stryke/env/get-env-paths';
3
3
  import { MaybePromise, NonUndefined, FunctionLike } from '@stryke/types/base';
4
4
  import { PackageJson } from '@stryke/types/package-json';
5
5
  import { Jiti } from 'jiti';
6
+ import { SourceMap } from 'magic-string';
6
7
  import { Range } from 'semver';
7
- import { UnpluginMessage, UnpluginContext, UnpluginBuildContext, TransformResult, ExternalIdResult, HookFilter, UnpluginOptions } from 'unplugin';
8
+ import { Project } from 'ts-morph';
9
+ import { UnpluginMessage, ExternalIdResult, UnpluginContext, UnpluginBuildContext, TransformResult as TransformResult$1, HookFilter, UnpluginOptions } from 'unplugin';
8
10
  import { Format } from '@storm-software/build-tools/types';
9
11
  import { LogLevelLabel } from '@storm-software/config-tools/types';
10
12
  import { StormWorkspaceConfig } from '@storm-software/config/types';
11
13
  import { TypeDefinitionParameter, TypeDefinition } from '@stryke/types/configuration';
12
14
  import { AssetGlob } from '@stryke/types/file';
13
- import { PathLike, StatSyncOptions, Stats, RmDirOptions, RmOptions, Mode, MakeDirectoryOptions as MakeDirectoryOptions$1, PathOrFileDescriptor, WriteFileOptions as WriteFileOptions$1 } from 'node:fs';
15
+ import { ResolveOptions as ResolveOptions$1 } from '@stryke/fs/resolve';
16
+ import { StatSyncOptions, Stats, RmDirOptions, RmOptions, Mode, MakeDirectoryOptions as MakeDirectoryOptions$1, WriteFileOptions as WriteFileOptions$1 } from 'node:fs';
14
17
  import { ArrayValues } from '@stryke/types/array';
15
18
  import { TsConfigJson, CompilerOptions } from '@stryke/types/tsconfig';
16
19
  import ts from 'typescript';
@@ -240,21 +243,27 @@ interface PowerlinesWriteFileOptions extends ResolveFSOptions {
240
243
  type NodeWriteFileOptions = WriteFileOptions$1;
241
244
  type WriteFileOptions = NodeWriteFileOptions | PowerlinesWriteFileOptions;
242
245
  type WriteFileData = string | NodeJS.ArrayBufferView | VirtualFileData;
243
- interface ResolvePathOptions extends ResolveFSOptions {
246
+ interface ResolveOptions extends ResolveOptions$1 {
244
247
  /**
245
- * Should the resolved path include the file extension?
246
- *
247
- * @defaultValue true
248
+ * If true, the module is being resolved as an entry point.
249
+ */
250
+ isEntry?: boolean;
251
+ /**
252
+ * If true, the resolver will skip using the cache when resolving modules.
253
+ */
254
+ skipCache?: boolean;
255
+ /**
256
+ * An array of external modules or patterns to exclude from resolution.
248
257
  */
249
- withExtension?: boolean;
258
+ external?: (string | RegExp)[];
250
259
  /**
251
- * The paths to search for the file.
260
+ * An array of modules or patterns to include in the resolution, even if they are marked as external.
252
261
  */
253
- paths?: string[];
262
+ noExternal?: (string | RegExp)[];
254
263
  /**
255
- * The type of the path to resolve.
264
+ * An array of patterns to match when resolving modules.
256
265
  */
257
- pathType?: "file" | "directory";
266
+ skipNodeModulesBundle?: boolean;
258
267
  }
259
268
  interface VirtualFileSystemInterface {
260
269
  /**
@@ -268,27 +277,33 @@ interface VirtualFileSystemInterface {
268
277
  /**
269
278
  * The underlying file metadata.
270
279
  */
271
- metadata: Record<string, VirtualFileMetadata | undefined>;
280
+ metadata: Readonly<Record<string, VirtualFileMetadata>>;
281
+ /**
282
+ * A map of file paths to their module ids.
283
+ */
284
+ ids: Readonly<Record<string, string>>;
272
285
  /**
273
286
  * A map of module ids to their file paths.
274
287
  */
275
- ids: Record<string, string>;
288
+ paths: Readonly<Record<string, string>>;
276
289
  /**
277
290
  * Check if a path or id corresponds to a virtual file **(does not actually exists on disk)**.
278
291
  *
279
292
  * @param pathOrId - The path or id to check.
293
+ * @param importer - The importer path, if any.
280
294
  * @param options - Optional parameters for resolving the path.
281
295
  * @returns Whether the path or id corresponds to a virtual file **(does not actually exists on disk)**.
282
296
  */
283
- isVirtual: (pathOrId: string, options?: ResolvePathOptions) => boolean;
297
+ isVirtual: (pathOrId: string, importer?: string, options?: ResolveOptions) => boolean;
284
298
  /**
285
299
  * Check if a path or id corresponds to a file written to the file system **(actually exists on disk)**.
286
300
  *
287
301
  * @param pathOrId - The path or id to check.
302
+ * @param importer - The importer path, if any.
288
303
  * @param options - Optional parameters for resolving the path.
289
304
  * @returns Whether the path or id corresponds to a file written to the file system **(actually exists on disk)**.
290
305
  */
291
- isPhysical: (pathOrId: string, options?: ResolvePathOptions) => boolean;
306
+ isPhysical: (pathOrId: string, importer?: string, options?: ResolveOptions) => boolean;
292
307
  /**
293
308
  * Checks if a file exists in the virtual file system (VFS).
294
309
  *
@@ -316,7 +331,7 @@ interface VirtualFileSystemInterface {
316
331
  * @param pathOrId - The path or id of the file.
317
332
  * @returns The metadata of the file if it exists, otherwise undefined.
318
333
  */
319
- getMetadata: (pathOrId: PathLike) => VirtualFileMetadata | undefined;
334
+ getMetadata: (pathOrId: string) => VirtualFileMetadata | undefined;
320
335
  /**
321
336
  * Gets the stats of a file in the virtual file system (VFS).
322
337
  *
@@ -389,7 +404,7 @@ interface VirtualFileSystemInterface {
389
404
  * @param path - The path to the file to remove.
390
405
  * @returns A promise that resolves when the file is removed.
391
406
  */
392
- unlinkSync: (path: PathLike, options?: ResolveFSOptions) => void;
407
+ unlinkSync: (path: string, options?: ResolveFSOptions) => void;
393
408
  /**
394
409
  * Asynchronously removes a file or symbolic link in the virtual file system (VFS).
395
410
  *
@@ -403,7 +418,7 @@ interface VirtualFileSystemInterface {
403
418
  * @param path - The path to create the directory at.
404
419
  * @param options - Options for creating the directory.
405
420
  */
406
- rmdirSync: (path: PathLike, options?: RmDirOptions & ResolveFSOptions) => any;
421
+ rmdirSync: (path: string, options?: RmDirOptions & ResolveFSOptions) => any;
407
422
  /**
408
423
  * Removes a directory in the virtual file system (VFS).
409
424
  *
@@ -411,7 +426,7 @@ interface VirtualFileSystemInterface {
411
426
  * @param options - Options for creating the directory.
412
427
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
413
428
  */
414
- rmdir: (path: PathLike, options?: RmDirOptions & ResolveFSOptions) => Promise<void>;
429
+ rmdir: (path: string, options?: RmDirOptions & ResolveFSOptions) => Promise<void>;
415
430
  /**
416
431
  * Removes a file or directory in the virtual file system (VFS).
417
432
  *
@@ -419,14 +434,14 @@ interface VirtualFileSystemInterface {
419
434
  * @param options - Options for removing the file or directory.
420
435
  * @returns A promise that resolves when the file or directory is removed.
421
436
  */
422
- rm: (path: PathLike, options?: RmOptions & ResolveFSOptions) => Promise<void>;
437
+ rm: (path: string, options?: RmOptions & ResolveFSOptions) => Promise<void>;
423
438
  /**
424
439
  * Synchronously removes a file or directory in the virtual file system (VFS).
425
440
  *
426
441
  * @param path - The path to the file or directory to remove.
427
442
  * @param options - Options for removing the file or directory.
428
443
  */
429
- rmSync: (path: PathLike, options?: RmOptions & ResolveFSOptions) => void;
444
+ rmSync: (path: string, options?: RmOptions & ResolveFSOptions) => void;
430
445
  /**
431
446
  * Creates a directory in the virtual file system (VFS).
432
447
  *
@@ -434,7 +449,7 @@ interface VirtualFileSystemInterface {
434
449
  * @param options - Options for creating the directory.
435
450
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
436
451
  */
437
- mkdirSync: (path: PathLike, options?: MakeDirectoryOptions) => string | undefined;
452
+ mkdirSync: (path: string, options?: MakeDirectoryOptions) => string | undefined;
438
453
  /**
439
454
  * Creates a directory in the virtual file system (VFS).
440
455
  *
@@ -442,7 +457,7 @@ interface VirtualFileSystemInterface {
442
457
  * @param options - Options for creating the directory.
443
458
  * @returns A promise that resolves to the path of the created directory, or undefined if the directory could not be created.
444
459
  */
445
- mkdir: (path: PathLike, options?: MakeDirectoryOptions) => Promise<string | undefined>;
460
+ mkdir: (path: string, options?: MakeDirectoryOptions) => Promise<string | undefined>;
446
461
  /**
447
462
  * Reads a file from the virtual file system (VFS).
448
463
  *
@@ -464,7 +479,7 @@ interface VirtualFileSystemInterface {
464
479
  * @param options - Optional parameters for writing the file.
465
480
  * @returns A promise that resolves when the file is written.
466
481
  */
467
- writeFile: (path: PathOrFileDescriptor, data?: WriteFileData, options?: WriteFileOptions) => Promise<void>;
482
+ writeFile: (path: string, data?: WriteFileData, options?: WriteFileOptions) => Promise<void>;
468
483
  /**
469
484
  * Writes a file to the virtual file system (VFS).
470
485
  *
@@ -472,7 +487,7 @@ interface VirtualFileSystemInterface {
472
487
  * @param data - The contents of the file.
473
488
  * @param options - Optional parameters for writing the file.
474
489
  */
475
- writeFileSync: (path: PathOrFileDescriptor, data?: WriteFileData, options?: WriteFileOptions) => void;
490
+ writeFileSync: (path: string, data?: WriteFileData, options?: WriteFileOptions) => void;
476
491
  /**
477
492
  * Moves a file from one path to another in the virtual file system (VFS).
478
493
  *
@@ -519,24 +534,43 @@ interface VirtualFileSystemInterface {
519
534
  * Resolves a path or id to a file path in the virtual file system.
520
535
  *
521
536
  * @param pathOrId - The path or id of the file to resolve.
522
- * @param options - Optional parameters for resolving the path.
523
537
  * @returns The resolved path of the file if it exists, otherwise false.
524
538
  */
525
- resolve: (pathOrId: string, options?: ResolvePathOptions) => string | false;
539
+ realpathSync: (pathOrId: string) => string;
526
540
  /**
527
- * Formats a path to match the virtual file system (VFS) structure.
541
+ * A helper function to resolve modules using the Jiti resolver
528
542
  *
529
- * @param path - The path to format.
530
- * @returns The formatted path.
543
+ * @remarks
544
+ * This function can be used to resolve modules relative to the project root directory.
545
+ *
546
+ * @example
547
+ * ```ts
548
+ * const resolvedPath = await context.resolve("some-module", "/path/to/importer");
549
+ * ```
550
+ *
551
+ * @param id - The module to resolve.
552
+ * @param importer - An optional path to the importer module.
553
+ * @param options - Additional resolution options.
554
+ * @returns A promise that resolves to the resolved module path.
531
555
  */
532
- formatPath: (path: string) => string;
556
+ resolve: (id: string, importer?: string, options?: ResolveOptions) => Promise<string | undefined>;
533
557
  /**
534
- * Resolves a path or id to a file path in the virtual file system.
558
+ * A synchronous helper function to resolve modules using the Jiti resolver
535
559
  *
536
- * @param pathOrId - The path or id of the file to resolve.
537
- * @returns The resolved path of the file if it exists, otherwise false.
560
+ * @remarks
561
+ * This function can be used to resolve modules relative to the project root directory.
562
+ *
563
+ * @example
564
+ * ```ts
565
+ * const resolvedPath = context.resolveSync("some-module", "/path/to/importer");
566
+ * ```
567
+ *
568
+ * @param id - The module to resolve.
569
+ * @param importer - An optional path to the importer module.
570
+ * @param options - Additional resolution options.
571
+ * @returns The resolved module path.
538
572
  */
539
- realpathSync: (pathOrId: string) => string;
573
+ resolveSync: (id: string, importer?: string, options?: ResolveOptions) => string | undefined;
540
574
  /**
541
575
  * Disposes of the virtual file system (VFS), writes any virtual file changes to disk, and releases any associated resources.
542
576
  */
@@ -1010,6 +1044,10 @@ interface MetaInfo {
1010
1044
  interface Resolver extends Jiti {
1011
1045
  plugin: Jiti;
1012
1046
  }
1047
+ interface TransformResult {
1048
+ code: string;
1049
+ map: SourceMap | null;
1050
+ }
1013
1051
  interface InitContextOptions {
1014
1052
  /**
1015
1053
  * If false, the plugin will be loaded after all other plugins.
@@ -1144,6 +1182,47 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1144
1182
  * The builtin module id that exist in the Powerlines virtual file system
1145
1183
  */
1146
1184
  builtins: string[];
1185
+ /**
1186
+ * The {@link Project} instance used for type reflection and module manipulation
1187
+ *
1188
+ * @see https://ts-morph.com/
1189
+ *
1190
+ * @remarks
1191
+ * This instance is created lazily on first access.
1192
+ */
1193
+ program: Project;
1194
+ /**
1195
+ * A helper function to resolve modules using the Jiti resolver
1196
+ *
1197
+ * @remarks
1198
+ * This function can be used to resolve modules relative to the project root directory.
1199
+ *
1200
+ * @example
1201
+ * ```ts
1202
+ * const resolvedPath = await context.resolve("some-module", "/path/to/importer");
1203
+ * ```
1204
+ *
1205
+ * @param id - The module to resolve.
1206
+ * @param importer - An optional path to the importer module.
1207
+ * @param options - Additional resolution options.
1208
+ * @returns A promise that resolves to the resolved module path.
1209
+ */
1210
+ resolveId: (id: string, importer?: string, options?: ResolveOptions) => Promise<ExternalIdResult | undefined>;
1211
+ /**
1212
+ * A helper function to load modules using the Jiti resolver
1213
+ *
1214
+ * @remarks
1215
+ * This function can be used to load modules relative to the project root directory.
1216
+ *
1217
+ * @example
1218
+ * ```ts
1219
+ * const module = await context.load("some-module", "/path/to/importer");
1220
+ * ```
1221
+ *
1222
+ * @param id - The module to load.
1223
+ * @returns A promise that resolves to the loaded module.
1224
+ */
1225
+ load: (id: string) => Promise<TransformResult | undefined>;
1147
1226
  /**
1148
1227
  * The Powerlines builtin virtual files
1149
1228
  */
@@ -1313,7 +1392,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
1313
1392
  * @param id - The identifier of the source code.
1314
1393
  * @returns A promise that resolves when the hook is complete.
1315
1394
  */
1316
- transform: (this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult>;
1395
+ transform: (this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult$1>;
1317
1396
  /**
1318
1397
  * A hook that is called to load the source code.
1319
1398
  *
@@ -1321,7 +1400,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
1321
1400
  * @param id - The identifier of the source code.
1322
1401
  * @returns A promise that resolves when the hook is complete.
1323
1402
  */
1324
- load: (this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult>;
1403
+ load: (this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult$1>;
1325
1404
  /**
1326
1405
  * A hook that is called to resolve the identifier of the source code.
1327
1406
  *
@@ -1371,7 +1450,7 @@ type PluginHooks<TContext extends PluginContext = PluginContext> = {
1371
1450
  * @param id - The identifier of the source code.
1372
1451
  * @returns A promise that resolves when the hook is complete.
1373
1452
  */
1374
- transform: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult>, "code" | "id">;
1453
+ transform: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, code: string, id: string) => MaybePromise<TransformResult$1>, "code" | "id">;
1375
1454
  /**
1376
1455
  * A hook that is called to load the source code.
1377
1456
  *
@@ -1379,7 +1458,7 @@ type PluginHooks<TContext extends PluginContext = PluginContext> = {
1379
1458
  * @param id - The identifier of the source code.
1380
1459
  * @returns A promise that resolves when the hook is complete.
1381
1460
  */
1382
- load: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult>, "id">;
1461
+ load: PluginHook<(this: BuildPluginContext<TContext["config"]> & TContext, id: string) => MaybePromise<TransformResult$1>, "id">;
1383
1462
  /**
1384
1463
  * A hook that is called to resolve the identifier of the source code.
1385
1464
  *
package/dist/index.d.cts CHANGED
@@ -1,18 +1,21 @@
1
- import { V as VitePluginContext, a as VitePluginOptions, P as Plugin } from './index-B7E0WZU6.cjs';
2
- export { b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from './index-B7E0WZU6.cjs';
1
+ import { V as VitePluginContext, a as VitePluginOptions, P as Plugin } from './index-Duvi2T7H.cjs';
2
+ export { b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from './index-Duvi2T7H.cjs';
3
3
  export { createVitePlugin } from './helpers/unplugin.cjs';
4
4
  import 'vite';
5
5
  import '@stryke/env/get-env-paths';
6
6
  import '@stryke/types/base';
7
7
  import '@stryke/types/package-json';
8
8
  import 'jiti';
9
+ import 'magic-string';
9
10
  import 'semver';
11
+ import 'ts-morph';
10
12
  import 'unplugin';
11
13
  import '@storm-software/build-tools/types';
12
14
  import '@storm-software/config-tools/types';
13
15
  import '@storm-software/config/types';
14
16
  import '@stryke/types/configuration';
15
17
  import '@stryke/types/file';
18
+ import '@stryke/fs/resolve';
16
19
  import 'node:fs';
17
20
  import '@stryke/types/array';
18
21
  import '@stryke/types/tsconfig';
package/dist/index.d.ts CHANGED
@@ -1,18 +1,21 @@
1
- import { V as VitePluginContext, a as VitePluginOptions, P as Plugin } from './index-B7E0WZU6.js';
2
- export { b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from './index-B7E0WZU6.js';
1
+ import { V as VitePluginContext, a as VitePluginOptions, P as Plugin } from './index-Duvi2T7H.js';
2
+ export { b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from './index-Duvi2T7H.js';
3
3
  export { createVitePlugin } from './helpers/unplugin.js';
4
4
  import 'vite';
5
5
  import '@stryke/env/get-env-paths';
6
6
  import '@stryke/types/base';
7
7
  import '@stryke/types/package-json';
8
8
  import 'jiti';
9
+ import 'magic-string';
9
10
  import 'semver';
11
+ import 'ts-morph';
10
12
  import 'unplugin';
11
13
  import '@storm-software/build-tools/types';
12
14
  import '@storm-software/config-tools/types';
13
15
  import '@storm-software/config/types';
14
16
  import '@stryke/types/configuration';
15
17
  import '@stryke/types/file';
18
+ import '@stryke/fs/resolve';
16
19
  import 'node:fs';
17
20
  import '@stryke/types/array';
18
21
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
- export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-B7E0WZU6.cjs';
1
+ export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-Duvi2T7H.cjs';
2
2
  import 'vite';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
- export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-B7E0WZU6.js';
1
+ export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-Duvi2T7H.js';
2
2
  import 'vite';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
- export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-B7E0WZU6.cjs';
1
+ export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-Duvi2T7H.cjs';
2
2
  import 'vite';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
@@ -1,16 +1,19 @@
1
- export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-B7E0WZU6.js';
1
+ export { V as VitePluginContext, a as VitePluginOptions, b as VitePluginResolvedConfig, d as __ΩVitePluginContext, _ as __ΩVitePluginOptions, c as __ΩVitePluginResolvedConfig } from '../index-Duvi2T7H.js';
2
2
  import 'vite';
3
3
  import '@stryke/env/get-env-paths';
4
4
  import '@stryke/types/base';
5
5
  import '@stryke/types/package-json';
6
6
  import 'jiti';
7
+ import 'magic-string';
7
8
  import 'semver';
9
+ import 'ts-morph';
8
10
  import 'unplugin';
9
11
  import '@storm-software/build-tools/types';
10
12
  import '@storm-software/config-tools/types';
11
13
  import '@storm-software/config/types';
12
14
  import '@stryke/types/configuration';
13
15
  import '@stryke/types/file';
16
+ import '@stryke/fs/resolve';
14
17
  import 'node:fs';
15
18
  import '@stryke/types/array';
16
19
  import '@stryke/types/tsconfig';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-vite",
3
- "version": "0.14.27",
3
+ "version": "0.14.28",
4
4
  "type": "module",
5
5
  "description": "A package containing a Powerlines plugin to assist in developing other Powerlines plugins.",
6
6
  "repository": {
@@ -132,21 +132,21 @@
132
132
  "rolldown-vite": { "optional": true }
133
133
  },
134
134
  "dependencies": {
135
- "@stryke/fs": "^0.32.13",
136
- "@stryke/path": "^0.19.2",
137
- "@stryke/type-checks": "^0.3.12",
138
- "@stryke/types": "^0.10.2",
135
+ "@stryke/fs": "^0.33.0",
136
+ "@stryke/path": "^0.20.0",
137
+ "@stryke/type-checks": "^0.3.15",
138
+ "@stryke/types": "^0.10.5",
139
139
  "defu": "^6.1.4",
140
140
  "jiti": "^2.6.1",
141
- "powerlines": "^0.23.10"
141
+ "powerlines": "^0.24.0"
142
142
  },
143
143
  "devDependencies": {
144
144
  "vite": "^7.2.4",
145
145
  "rolldown-vite": "^7.2.7",
146
- "@powerlines/nx": "^0.10.27",
147
- "@powerlines/plugin-plugin": "^0.11.35",
146
+ "@powerlines/nx": "^0.10.28",
147
+ "@powerlines/plugin-plugin": "^0.11.36",
148
148
  "@types/node": "^24.10.1"
149
149
  },
150
150
  "publishConfig": { "access": "public" },
151
- "gitHead": "5a6b8349dc29bf9e496ed5dee32c6cfb8d9bff4e"
151
+ "gitHead": "73acce2067b9d81822a59cb03a4b1e7fa8873bf9"
152
152
  }