powerlines 0.42.32 → 0.42.34

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.
Files changed (122) hide show
  1. package/dist/api-0aKfs398.mjs +1010 -0
  2. package/dist/api-0aKfs398.mjs.map +1 -0
  3. package/dist/api-7bOKZ8DC.cjs +1030 -0
  4. package/dist/{api-context-k3dnn5KR.cjs → api-context-4t-rlsAr.cjs} +64 -442
  5. package/dist/{api-context-BQi9M07D.mjs → api-context-CmuOyg7q.mjs} +62 -432
  6. package/dist/api-context-CmuOyg7q.mjs.map +1 -0
  7. package/dist/astro.mjs.map +1 -1
  8. package/dist/{chunk-7azAqIA9.cjs → chunk-AIJqnxB6.cjs} +0 -7
  9. package/dist/{chunk-WJdhOJK3.mjs → chunk-CtajNgzt.mjs} +1 -10
  10. package/dist/config.cjs +1 -1
  11. package/dist/config.mjs +1 -1
  12. package/dist/constants.cjs +1 -1
  13. package/dist/constants.mjs +1 -1
  14. package/dist/context/index.cjs +1 -1
  15. package/dist/context/index.d.cts +11 -260
  16. package/dist/context/index.d.cts.map +1 -1
  17. package/dist/context/index.d.mts +12 -261
  18. package/dist/context/index.d.mts.map +1 -1
  19. package/dist/context/index.mjs +1 -1
  20. package/dist/esbuild.cjs +9 -4
  21. package/dist/esbuild.d.cts +2 -2
  22. package/dist/esbuild.d.cts.map +1 -1
  23. package/dist/esbuild.d.mts +2 -2
  24. package/dist/esbuild.d.mts.map +1 -1
  25. package/dist/esbuild.mjs +2 -2
  26. package/dist/esbuild.mjs.map +1 -1
  27. package/dist/farm.cjs +1 -1
  28. package/dist/index.cjs +3 -3
  29. package/dist/index.d.cts +1 -1
  30. package/dist/index.d.mts +2 -2
  31. package/dist/index.mjs +2 -2
  32. package/dist/next.mjs.map +1 -1
  33. package/dist/nuxt.cjs +2 -2
  34. package/dist/nuxt.d.mts +1 -1
  35. package/dist/nuxt.mjs +1 -1
  36. package/dist/nuxt.mjs.map +1 -1
  37. package/dist/plugin-utils.cjs +1 -1
  38. package/dist/plugin-utils.mjs +1 -1
  39. package/dist/rolldown.cjs +7 -2
  40. package/dist/rolldown.d.cts +2 -2
  41. package/dist/rolldown.d.cts.map +1 -1
  42. package/dist/rolldown.d.mts +2 -2
  43. package/dist/rolldown.d.mts.map +1 -1
  44. package/dist/rolldown.mjs +2 -2
  45. package/dist/rolldown.mjs.map +1 -1
  46. package/dist/rollup.cjs +7 -2
  47. package/dist/rollup.d.cts +2 -2
  48. package/dist/rollup.d.cts.map +1 -1
  49. package/dist/rollup.d.mts +2 -2
  50. package/dist/rollup.d.mts.map +1 -1
  51. package/dist/rollup.mjs +2 -2
  52. package/dist/rollup.mjs.map +1 -1
  53. package/dist/rspack.cjs +7 -2
  54. package/dist/rspack.d.cts +2 -2
  55. package/dist/rspack.d.cts.map +1 -1
  56. package/dist/rspack.d.mts +2 -2
  57. package/dist/rspack.d.mts.map +1 -1
  58. package/dist/rspack.mjs +2 -2
  59. package/dist/rspack.mjs.map +1 -1
  60. package/dist/storage/index.cjs +1 -1
  61. package/dist/storage/index.d.cts +1 -1
  62. package/dist/storage/index.d.mts +2 -2
  63. package/dist/storage/index.mjs +1 -1
  64. package/dist/ts-morph-B85ZbV1Q.mjs +102 -0
  65. package/dist/ts-morph-B85ZbV1Q.mjs.map +1 -0
  66. package/dist/ts-morph-Cf4wz3E0.cjs +114 -0
  67. package/dist/{tsconfig-BhVGZ2DK.cjs → tsconfig-ChmbpAO7.cjs} +2 -2
  68. package/dist/{tsconfig-CzYPBpDS.mjs → tsconfig-DoV1dUYg.mjs} +2 -2
  69. package/dist/{tsconfig-CzYPBpDS.mjs.map → tsconfig-DoV1dUYg.mjs.map} +1 -1
  70. package/dist/tsdown.cjs +8 -3
  71. package/dist/tsdown.d.cts +2 -2
  72. package/dist/tsdown.d.cts.map +1 -1
  73. package/dist/tsdown.d.mts +2 -2
  74. package/dist/tsdown.d.mts.map +1 -1
  75. package/dist/tsdown.mjs +3 -3
  76. package/dist/tsdown.mjs.map +1 -1
  77. package/dist/tsup.cjs +8 -3
  78. package/dist/tsup.d.cts +3 -547
  79. package/dist/tsup.d.cts.map +1 -1
  80. package/dist/tsup.d.mts +3 -547
  81. package/dist/tsup.d.mts.map +1 -1
  82. package/dist/tsup.mjs +3 -3
  83. package/dist/tsup.mjs.map +1 -1
  84. package/dist/{types-hdziyQIH.d.mts → types-9O-s0Fpu.d.mts} +1 -1
  85. package/dist/types-9O-s0Fpu.d.mts.map +1 -0
  86. package/dist/typescript/index.cjs +4 -104
  87. package/dist/typescript/index.d.cts +1 -6
  88. package/dist/typescript/index.d.cts.map +1 -1
  89. package/dist/typescript/index.d.mts +2 -7
  90. package/dist/typescript/index.d.mts.map +1 -1
  91. package/dist/typescript/index.mjs +3 -102
  92. package/dist/unloader.cjs +1 -1
  93. package/dist/unplugin.cjs +2 -2
  94. package/dist/unplugin.mjs +1 -1
  95. package/dist/utils.cjs +1 -1
  96. package/dist/utils.mjs +1 -1
  97. package/dist/{virtual-BHb4iMd_.cjs → virtual-BNy8T32w.cjs} +3 -3
  98. package/dist/{virtual-OEHgBu0s.mjs → virtual-PaZGNIrj.mjs} +3 -3
  99. package/dist/{virtual-OEHgBu0s.mjs.map → virtual-PaZGNIrj.mjs.map} +1 -1
  100. package/dist/vite.cjs +7 -2
  101. package/dist/vite.d.cts +2 -2
  102. package/dist/vite.d.mts +2 -2
  103. package/dist/vite.mjs +2 -2
  104. package/dist/vite.mjs.map +1 -1
  105. package/dist/webpack.cjs +7 -2
  106. package/dist/webpack.d.cts +2 -2
  107. package/dist/webpack.d.cts.map +1 -1
  108. package/dist/webpack.d.mts +2 -2
  109. package/dist/webpack.d.mts.map +1 -1
  110. package/dist/webpack.mjs +2 -2
  111. package/dist/webpack.mjs.map +1 -1
  112. package/package.json +14 -13
  113. package/dist/api-D6i8MmbC.mjs +0 -6063
  114. package/dist/api-D6i8MmbC.mjs.map +0 -1
  115. package/dist/api-DZoRNTY7.cjs +0 -6083
  116. package/dist/api-context-BQi9M07D.mjs.map +0 -1
  117. package/dist/base-Bl_AMAlI.d.cts +0 -12
  118. package/dist/base-Bl_AMAlI.d.cts.map +0 -1
  119. package/dist/base-hjCHfNY6.d.mts +0 -12
  120. package/dist/base-hjCHfNY6.d.mts.map +0 -1
  121. package/dist/types-hdziyQIH.d.mts.map +0 -1
  122. package/dist/typescript/index.mjs.map +0 -1
@@ -1,12 +0,0 @@
1
- //#region ../../node_modules/.pnpm/@stryke+types@0.11.3/node_modules/@stryke/types/dist/base.d.cts
2
- type MaybePromise<T> = T | Promise<T>;
3
- /**
4
- * Create a type that makes the given keys optional. The remaining keys are kept as is.
5
- *
6
- * @remarks
7
- * Use-case: You want to define a single model where the only thing that changes is whether or not some of the keys are optional.
8
- */
9
- type PartialKeys<BaseType, Keys extends keyof BaseType> = Partial<Pick<BaseType, Keys>> & Omit<BaseType, Keys>;
10
- //#endregion
11
- export { PartialKeys as n, MaybePromise as t };
12
- //# sourceMappingURL=base-Bl_AMAlI.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-Bl_AMAlI.d.cts","names":["TypedArray","SerializablePrimitive","Primitive","BuiltIns","Date","RegExp","AtomicObject","Function","Promise","TypeTester","value","TypeMap","Record","emptyObjectSymbol","FunctionOrValue","Value","X","List","A","ReadonlyArray","FunctionLike","P","R$1","args","AnyFunction","Nullish","Nullishable","T","NonNullishObject","NativeClass","AnyNumber","AnyString","AnyBoolean","AnyArray","PlainObject","AnyMap","Map","AnyWeakMap","WeakKey","WeakMap","EmptyArray","EmptyObject","Any","IndexType","TypedIndexable","Indexable","Dictionary","EMPTY_STRING","NEWLINE_STRING","EMPTY_OBJECT","AnyCase","F1","Uppercase","Lowercase","F2","R","F","Newable","_args","Abstract","prototype","Clonable","clone","MaybePromise","ReducerFunction","TState","TAction","state","action","TYPE_ARGUMENTS","TYPE_ARRAY","TYPE_OBJECT","TYPE_MAP","TYPE_SET","Collection","IArguments","Set","NonUndefined","BrowserNativeObject","File","DeepPartial","NestedValue","K","Rollback","initialValue","currentValue","RequiredKeysOf","BaseType","Key","Exclude","IsEqual","G","B","Filter","KeyType$1","ExcludeType","ExceptOptions","requireExactProps","Except","ObjectType","KeysType","Options","KeyType","Partial","Simplify","RequiredKeys","Keys","Pick","Required","Omit","PartialKeys","$NestedValue","TValue","RefObject","current","Identity","id","Versioned","version","Sequenced","sequence","Typed","__type","ClassTypeCheckable","isTypeOf","NonRecursiveType","arguments_","IsPrimitive","IsNever","IsAny","IsNull","IsUndefined","IsUnknown","IsNullish","IsFunction","GlobalThis","globalThis","Class","Arguments","Constructor","AbstractClass","AbstractConstructor","BuildTuple","L","Fill","HasMultipleCallSignatures","StructuredCloneablePrimitive","StructuredCloneableData","ArrayBuffer","DataView","Error","Blob","StructuredCloneableCollection","StructuredCloneable","ReadonlyMap","ReadonlySet","key"],"sources":["../../../node_modules/.pnpm/@stryke+types@0.11.3/node_modules/@stryke/types/dist/base.d.cts"],"x_google_ignoreList":[0],"mappings":";KA6GK+D,YAAAA,MAAkBpC,CAAAA,GAAInB,OAAAA,CAAQmB,CAAAA;;;;;;;KA2E9BmF,WAAAA,8BAAyCvB,QAAAA,IAAYgB,OAAAA,CAAQI,IAAAA,CAAKpB,QAAAA,EAAUmB,IAAAA,KAASG,IAAAA,CAAKtB,QAAAA,EAAUmB,IAAAA"}
@@ -1,12 +0,0 @@
1
- //#region ../../node_modules/.pnpm/@stryke+types@0.11.3/node_modules/@stryke/types/dist/base.d.cts
2
- type MaybePromise<T> = T | Promise<T>;
3
- /**
4
- * Create a type that makes the given keys optional. The remaining keys are kept as is.
5
- *
6
- * @remarks
7
- * Use-case: You want to define a single model where the only thing that changes is whether or not some of the keys are optional.
8
- */
9
- type PartialKeys<BaseType, Keys extends keyof BaseType> = Partial<Pick<BaseType, Keys>> & Omit<BaseType, Keys>;
10
- //#endregion
11
- export { PartialKeys as n, MaybePromise as t };
12
- //# sourceMappingURL=base-hjCHfNY6.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-hjCHfNY6.d.mts","names":["TypedArray","SerializablePrimitive","Primitive","BuiltIns","Date","RegExp","AtomicObject","Function","Promise","TypeTester","value","TypeMap","Record","emptyObjectSymbol","FunctionOrValue","Value","X","List","A","ReadonlyArray","FunctionLike","P","R$1","args","AnyFunction","Nullish","Nullishable","T","NonNullishObject","NativeClass","AnyNumber","AnyString","AnyBoolean","AnyArray","PlainObject","AnyMap","Map","AnyWeakMap","WeakKey","WeakMap","EmptyArray","EmptyObject","Any","IndexType","TypedIndexable","Indexable","Dictionary","EMPTY_STRING","NEWLINE_STRING","EMPTY_OBJECT","AnyCase","F1","Uppercase","Lowercase","F2","R","F","Newable","_args","Abstract","prototype","Clonable","clone","MaybePromise","ReducerFunction","TState","TAction","state","action","TYPE_ARGUMENTS","TYPE_ARRAY","TYPE_OBJECT","TYPE_MAP","TYPE_SET","Collection","IArguments","Set","NonUndefined","BrowserNativeObject","File","DeepPartial","NestedValue","K","Rollback","initialValue","currentValue","RequiredKeysOf","BaseType","Key","Exclude","IsEqual","G","B","Filter","KeyType$1","ExcludeType","ExceptOptions","requireExactProps","Except","ObjectType","KeysType","Options","KeyType","Partial","Simplify","RequiredKeys","Keys","Pick","Required","Omit","PartialKeys","$NestedValue","TValue","RefObject","current","Identity","id","Versioned","version","Sequenced","sequence","Typed","__type","ClassTypeCheckable","isTypeOf","NonRecursiveType","arguments_","IsPrimitive","IsNever","IsAny","IsNull","IsUndefined","IsUnknown","IsNullish","IsFunction","GlobalThis","globalThis","Class","Arguments","Constructor","AbstractClass","AbstractConstructor","BuildTuple","L","Fill","HasMultipleCallSignatures","StructuredCloneablePrimitive","StructuredCloneableData","ArrayBuffer","DataView","Error","Blob","StructuredCloneableCollection","StructuredCloneable","ReadonlyMap","ReadonlySet","key"],"sources":["../../../node_modules/.pnpm/@stryke+types@0.11.3/node_modules/@stryke/types/dist/base.d.cts"],"x_google_ignoreList":[0],"mappings":";KA6GK+D,YAAAA,MAAkBpC,CAAAA,GAAInB,OAAAA,CAAQmB,CAAAA;;;;;;;KA2E9BmF,WAAAA,8BAAyCvB,QAAAA,IAAYgB,OAAAA,CAAQI,IAAAA,CAAKpB,QAAAA,EAAUmB,IAAAA,KAASG,IAAAA,CAAKtB,QAAAA,EAAUmB,IAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-hdziyQIH.d.mts","names":[],"sources":["../src/types.ts"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":["#context","defu"],"sources":["../../src/typescript/ts-morph.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Context } from \"@powerlines/core\";\nimport defu from \"defu\";\nimport {\n CompilerOptions,\n FileSystemHost,\n InMemoryFileSystemHost,\n Project,\n ProjectOptions,\n RuntimeDirEntry\n} from \"ts-morph\";\n\nexport class VirtualFileSystemHost\n extends InMemoryFileSystemHost\n implements FileSystemHost\n{\n #context: Context;\n\n public constructor(context: Context) {\n super();\n\n this.#context = context;\n }\n\n public override deleteSync(path: string) {\n this.#context.fs.removeSync(path);\n }\n\n public override readDirSync(dirPath: string): RuntimeDirEntry[] {\n if (!this.#context.fs.isDirectorySync(dirPath)) {\n return [];\n }\n\n return this.#context.fs.listSync(dirPath).reduce((ret, entry) => {\n const fullPath = this.#context.fs.resolveSync(entry);\n if (fullPath) {\n ret.push({\n name: entry,\n isDirectory: this.#context.fs.isDirectorySync(fullPath),\n isFile: this.#context.fs.isFileSync(fullPath),\n isSymlink: false\n });\n }\n\n return ret;\n }, [] as RuntimeDirEntry[]);\n }\n\n public override async readFile(filePath: string) {\n if (!this.#context.fs.isFileSync(filePath)) {\n return \"\";\n }\n\n return (await this.#context.fs.read(filePath))!;\n }\n\n public override readFileSync(filePath: string) {\n if (!this.#context.fs.isFileSync(filePath)) {\n return \"\";\n }\n\n return this.#context.fs.readSync(filePath)!;\n }\n\n public override async writeFile(filePath: string, fileText: string) {\n return this.#context.fs.write(filePath, fileText);\n }\n\n public override writeFileSync(filePath: string, fileText: string) {\n this.#context.fs.writeSync(filePath, fileText);\n }\n\n public override async mkdir(dirPath: string) {\n await this.#context.fs.mkdir(dirPath);\n }\n\n public override mkdirSync(dirPath: string) {\n this.#context.fs.mkdirSync(dirPath);\n }\n\n public override async move(srcPath: string, destPath: string) {\n await this.#context.fs.move(srcPath, destPath);\n }\n\n public override moveSync(srcPath: string, destPath: string) {\n this.#context.fs.moveSync(srcPath, destPath);\n }\n\n public override async copy(srcPath: string, destPath: string) {\n await this.#context.fs.copy(srcPath, destPath);\n }\n\n public override copySync(srcPath: string, destPath: string) {\n this.#context.fs.copySync(srcPath, destPath);\n }\n\n public override async fileExists(filePath: string) {\n return this.#context.fs.isFile(filePath);\n }\n\n public override fileExistsSync(filePath: string) {\n return this.#context.fs.isFileSync(filePath);\n }\n\n public override async directoryExists(dirPath: string) {\n return this.#context.fs.isDirectory(dirPath);\n }\n\n public override directoryExistsSync(dirPath: string): boolean {\n return this.#context.fs.isDirectorySync(dirPath);\n }\n\n public override realpathSync(path: string) {\n return this.#context.fs.resolveSync(path) || path;\n }\n\n public override getCurrentDirectory() {\n return this.#context.workspaceConfig.workspaceRoot;\n }\n\n public override async glob(\n patterns: ReadonlyArray<string>\n ): Promise<string[]> {\n return this.#context.fs.glob(patterns as string[]);\n }\n\n public override globSync(patterns: ReadonlyArray<string>): string[] {\n return this.#context.fs.globSync(patterns as string[]);\n }\n}\n\n/**\n * Create a ts-morph {@link Project} instance used for type reflection and module manipulation during processing\n *\n * @param context - The Powerlines context\n * @returns A ts-morph {@link Project} instance\n */\nexport function createProgram(\n context: Context,\n override: Partial<ProjectOptions>\n): Project {\n context.debug(\n `Creating ts-morph Project instance with configuration from: ${\n context.tsconfig.tsconfigFilePath\n }.`\n );\n\n const project = new Project(\n defu(override ?? {}, {\n skipAddingFilesFromTsConfig: false,\n tsConfigFilePath: context.tsconfig.tsconfigFilePath,\n fileSystem: new VirtualFileSystemHost(context),\n compilerOptions: defu(context.tsconfig.options ?? {}, {\n lib: [\"lib.esnext.full.d.ts\"]\n }) as CompilerOptions\n })\n );\n\n return project;\n}\n"],"mappings":"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"}