35 lines
No EOL
1.1 KiB
TypeScript
35 lines
No EOL
1.1 KiB
TypeScript
import path from 'node:path';
|
|
import appPkg from '../package.json';
|
|
import sdkTsConfig from './sdk/sdk.tsconfig.json';
|
|
import sdkPackage from './sdk/package.json';
|
|
import { emptyDir } from 'fs-extra';
|
|
import { generateDtsBundle } from 'dts-bundle-generator';
|
|
|
|
async function generateApiDeclarations ()
|
|
{
|
|
const tmpConfigPath = "./scripts/sdk/sdk.tsconfig.json";
|
|
const outDir = path.join(path.dirname(tmpConfigPath), sdkTsConfig.compilerOptions.outDir);
|
|
await emptyDir(outDir);
|
|
|
|
const results = generateDtsBundle([{
|
|
filePath: './scripts/sdk/sdk.ts',
|
|
output: {
|
|
inlineDeclareGlobals: true,
|
|
sortNodes: true,
|
|
}
|
|
},], { preferredConfigPath: './scripts/sdk/sdk.tsconfig.json' });
|
|
|
|
await Bun.write('./dist-sdk/index.d.ts', results);
|
|
|
|
const pkg = {
|
|
...sdkPackage,
|
|
license: appPkg.license,
|
|
version: appPkg.version,
|
|
repository: appPkg.repository,
|
|
author: appPkg.author,
|
|
peerDependencies: appPkg.dependencies
|
|
};
|
|
await Bun.write(path.join(outDir, '..', 'package.json'), JSON.stringify(pkg, null, 3));
|
|
}
|
|
|
|
await generateApiDeclarations(); |