fork of hey-api/openapi-ts because I need some additional things
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #3615 from hey-api/fix/resolve-module-name-ctx

fix: pass context to resolvemodulename

authored by

Lubos and committed by
GitHub
67351ad5 5f3a5a09

+25 -11
+6
.changeset/dark-areas-give.md
··· 1 + --- 2 + "@hey-api/openapi-ts": patch 3 + "@hey-api/shared": patch 4 + --- 5 + 6 + **output**: pass context as second argument in `resolveModuleName()` function
+5 -4
packages/openapi-python/src/py-dsl/utils/render.ts
··· 1 1 import type { RenderContext, Renderer } from '@hey-api/codegen-core'; 2 + import type { ResolveModuleName } from '@hey-api/shared'; 2 3 import type { MaybeArray, MaybeFunc } from '@hey-api/types'; 3 4 4 5 import { py } from '../../py-compiler'; ··· 51 52 * 52 53 * @private 53 54 */ 54 - private _resolveModuleName?: (moduleName: string) => string | undefined; 55 + private _resolveModuleName?: ResolveModuleName; 55 56 56 57 constructor( 57 58 args: { 58 59 header?: HeaderArg; 59 60 preferExportAll?: boolean; 60 61 preferFileExtension?: string; 61 - resolveModuleName?: (moduleName: string) => string | undefined; 62 + resolveModuleName?: ResolveModuleName; 62 63 } = {}, 63 64 ) { 64 65 this._header = args.header; ··· 202 203 preferFileExtension: this._preferFileExtension, 203 204 root: ctx.project.root, 204 205 }); 205 - const modulePath = this._resolveModuleName?.(sortKey[2]) ?? sortKey[2]; 206 + const modulePath = this._resolveModuleName?.(sortKey[2], ctx) ?? sortKey[2]; 206 207 const [groupIndex] = sortKey; 207 208 208 209 if (!groups.has(groupIndex)) groups.set(groupIndex, new Map()); ··· 268 269 preferFileExtension: this._preferFileExtension, 269 270 root: ctx.project.root, 270 271 }); 271 - const modulePath = this._resolveModuleName?.(sortKey[2]) ?? sortKey[2]; 272 + const modulePath = this._resolveModuleName?.(sortKey[2], ctx) ?? sortKey[2]; 272 273 const [groupIndex] = sortKey; 273 274 274 275 if (!groups.has(groupIndex)) groups.set(groupIndex, new Map());
+5 -4
packages/openapi-ts/src/ts-dsl/utils/render.ts
··· 1 1 import type { RenderContext, Renderer } from '@hey-api/codegen-core'; 2 + import type { ResolveModuleName } from '@hey-api/shared'; 2 3 import type { MaybeArray, MaybeFunc } from '@hey-api/types'; 3 4 import ts from 'typescript'; 4 5 ··· 52 53 * 53 54 * @private 54 55 */ 55 - private _resolveModuleName?: (moduleName: string) => string | undefined; 56 + private _resolveModuleName?: ResolveModuleName; 56 57 57 58 constructor( 58 59 args: { 59 60 header?: HeaderArg; 60 61 preferExportAll?: boolean; 61 62 preferFileExtension?: string; 62 - resolveModuleName?: (moduleName: string) => string | undefined; 63 + resolveModuleName?: ResolveModuleName; 63 64 } = {}, 64 65 ) { 65 66 this._header = args.header; ··· 197 198 preferFileExtension: this._preferFileExtension, 198 199 root: ctx.project.root, 199 200 }); 200 - const modulePath = this._resolveModuleName?.(sortKey[2]) ?? sortKey[2]; 201 + const modulePath = this._resolveModuleName?.(sortKey[2], ctx) ?? sortKey[2]; 201 202 const [groupIndex] = sortKey; 202 203 203 204 if (!groups.has(groupIndex)) groups.set(groupIndex, new Map()); ··· 263 264 preferFileExtension: this._preferFileExtension, 264 265 root: ctx.project.root, 265 266 }); 266 - const modulePath = this._resolveModuleName?.(sortKey[2]) ?? sortKey[2]; 267 + const modulePath = this._resolveModuleName?.(sortKey[2], ctx) ?? sortKey[2]; 267 268 const [groupIndex] = sortKey; 268 269 269 270 if (!groups.has(groupIndex)) groups.set(groupIndex, new Map());
+8 -3
packages/shared/src/config/shared.ts
··· 1 - import type { NameConflictResolver, Symbol } from '@hey-api/codegen-core'; 1 + import type { NameConflictResolver, RenderContext, Symbol } from '@hey-api/codegen-core'; 2 2 import type { MaybeArray } from '@hey-api/types'; 3 3 4 4 import type { Plugin } from '../plugins/types'; ··· 169 169 * 170 170 * @default undefined 171 171 */ 172 - resolveModuleName?: (moduleName: string) => string | undefined; 172 + resolveModuleName?: ResolveModuleName; 173 173 /** 174 174 * Configuration for generating a copy of the input source used to produce this output. 175 175 * ··· 247 247 /** 248 248 * Optional function to transform module specifiers. 249 249 */ 250 - resolveModuleName: ((moduleName: string) => string | undefined) | undefined; 250 + resolveModuleName: ResolveModuleName | undefined; 251 251 /** 252 252 * Configuration for generating a copy of the input source used to produce this output. 253 253 */ ··· 346 346 * For shared utilities that operate on any config. 347 347 */ 348 348 export type AnyConfig = BaseConfig<Record<string, unknown>, BaseOutput>; 349 + 350 + /** 351 + * Function to transform module specifiers. 352 + */ 353 + export type ResolveModuleName = (moduleName: string, ctx: RenderContext) => string | undefined;
+1
packages/shared/src/index.ts
··· 23 23 FeatureToggle, 24 24 IndexExportOption, 25 25 NamingOptions, 26 + ResolveModuleName, 26 27 UserCommentsOption, 27 28 UserIndexExportOption, 28 29 } from './config/shared';