···2121- contain a clean history of small, incremental, logically separate commits, with no merge commits
2222- use clear commit messages
2323- be possible to merge automatically
2424+2525+## Start `@hey-api/openapi-ts`
2626+2727+Run `pnpm --filter @hey-api/openapi-ts dev`.
···4455import ts from 'typescript';
6677-import type { ImportExportItemObject } from '../compiler/utils';
87import type { Client } from '../plugins/@hey-api/client-core/types';
98import { getClientPlugin } from '../plugins/@hey-api/client-core/utils';
109import type { DefinePlugin } from '../plugins/types';
1010+import type { ImportExportItemObject } from '../tsc/utils';
1111import type { Config } from '../types/config';
1212import { ensureDirSync, relativeModulePath } from './utils';
1313
+5-8
packages/openapi-ts/src/generate/file/index.ts
···3344import ts from 'typescript';
5566-import { compiler } from '../../compiler';
77-import {
88- type ImportExportItemObject,
99- tsNodeToString,
1010-} from '../../compiler/utils';
116import type { IR } from '../../ir/types';
127import { getUniqueComponentName } from '../../openApi/shared/transforms/utils';
138import { ensureValidIdentifier } from '../../openApi/shared/utils/identifier';
99+import { tsc } from '../../tsc';
1010+import { type ImportExportItemObject, tsNodeToString } from '../../tsc/utils';
1411import type { StringCase } from '../../types/case';
1512import { stringCase } from '../../utils/stringCase';
1613import { ensureDirSync } from '../utils';
···199196 public getNode(id: string): NodeInfo {
200197 if (!this.nodes[id]) {
201198 this.nodes[id] = {
202202- node: compiler.typeReferenceNode({ typeName: '' }),
199199+ node: tsc.typeReferenceNode({ typeName: '' }),
203200 };
204201 }
205202 return this.nodes[id]!;
···382379 }
383380 }
384381385385- const node = compiler.namedImportDeclarations({
382382+ const node = tsc.namedImportDeclarations({
386383 imports,
387384 module: resolvedModule,
388385 });
···421418 components: Object.values(this.names),
422419 });
423420 this.names[id] = name;
424424- const node = compiler.typeReferenceNode({ typeName: name });
421421+ const node = tsc.typeReferenceNode({ typeName: name });
425422 // update node
426423 if (!this.nodes[id]) {
427424 this.nodes[id] = { node };
···2233import ts from 'typescript';
4455-import { compiler } from '../compiler';
65import type { IR } from '../ir/types';
76import { getClientPlugin } from '../plugins/@hey-api/client-core/utils';
77+import { tsc } from '../tsc';
88import { generateClientBundle } from './client';
99import { findTsConfigPath, loadTsConfig } from './tsConfig';
1010import { removeDirSync } from './utils';
···7070 }
7171 // TODO: parser - add export method for more granular control over
7272 // what's exported so we can support named exports
7373- indexFile.add(
7474- compiler.exportAllDeclaration({ module: resolvedModule }),
7575- );
7373+ indexFile.add(tsc.exportAllDeclaration({ module: resolvedModule }));
7674 }
77757876 file.write('\n\n', tsConfig);
+1-1
packages/openapi-ts/src/index.ts
···118118export const defineConfig = async (config: Configs): Promise<UserConfig> =>
119119 typeof config === 'function' ? await config() : config;
120120121121-export { compiler } from './compiler';
122121export { defaultPaginationKeywords } from './config/parser';
123122export { defaultPlugins } from './config/plugins';
124123export type { IR } from './ir/types';
···140139export type { ExpressionTransformer } from './plugins/@hey-api/transformers/expressions';
141140export { definePluginConfig } from './plugins/shared/utils/config';
142141export type { DefinePlugin, Plugin } from './plugins/types';
142142+export { compiler, tsc } from './tsc';
143143export type { UserConfig } from './types/config';
144144export type { LegacyIR } from './types/types';
145145export { utils } from './utils/exports';
···11-import type { ImportExportItem } from '../../../compiler/module';
11+import type { ImportExportItem } from '../../../tsc/module';
22import type { TanStackAngularQueryPlugin } from '../angular-query-experimental/types';
33import type { TanStackReactQueryPlugin } from '../react-query/types';
44import type { TanStackSolidQueryPlugin } from '../solid-query/types';
···11-import type { ImportExportItemObject } from '../../../compiler/utils';
21import type { IR } from '../../../ir/types';
22+import type { ImportExportItemObject } from '../../../tsc/utils';
33import { getClientPlugin } from '../../@hey-api/client-core/utils';
44import { operationOptionsType } from '../../@hey-api/sdk/operation';
55import { typesId } from '../../@hey-api/typescript/ref';
···11-import type { Comments } from '../../../compiler';
21import { hasOperationDataRequired } from '../../../ir/operation';
32import type { IR } from '../../../ir/types';
33+import type { Comments } from '../../../tsc';
44import { escapeComment } from '../../../utils/escape';
55import { getClientPlugin } from '../../@hey-api/client-core/utils';
66
···11-import type { Comments } from '../../../compiler';
21import type { IR } from '../../../ir/types';
22+import type { Comments } from '../../../tsc';
33import { escapeComment } from '../../../utils/escape';
4455export const createSchemaComment = ({