1 | #!/usr/bin/env node
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | const fs = require('fs');
|
9 | const path = require('path');
|
10 |
|
11 | const packageInfo = require('aws-sdk/package.json');
|
12 | const sdkMetadata = require('aws-sdk/apis/metadata.json');
|
13 |
|
14 | fs.writeFileSync(
|
15 | path.resolve(__dirname, '..', 'lib', 'sdk-api-metadata.generated.ts'),
|
16 | [
|
17 | 'export interface AwsSdkMetadata {',
|
18 | ' readonly [service: string]: {',
|
19 | ' readonly name: string;',
|
20 | ' readonly cors?: boolean;',
|
21 | ' readonly dualstackAvailable?: boolean;',
|
22 | ' readonly prefix?: string;',
|
23 | ' readonly versions?: readonly string[];',
|
24 | ' readonly xmlNoDefaultLists?: boolean;',
|
25 | ' readonly [key: string]: unknown;',
|
26 | ' };',
|
27 | '}',
|
28 | '',
|
29 |
|
30 | '/* eslint-disable */',
|
31 | '/* tslint:disable */',
|
32 | '',
|
33 |
|
34 | '/**',
|
35 | ` * Extracted from ${packageInfo.name} version ${packageInfo.version} (${packageInfo.license}).`,
|
36 | ' */',
|
37 |
|
38 | `export const metadata: AwsSdkMetadata = ${JSON.stringify(sdkMetadata, null, 2)};`,
|
39 | ].join('\n'),
|
40 | );
|