Skip to content

Commit 0dfd14c

Browse files
authored
feat: convert SDK output to module (#802)
* feat: convert codegen'd SDKs to module * test: update snapshots
1 parent e456d46 commit 0dfd14c

240 files changed

Lines changed: 1084 additions & 1074 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/api/src/codegen/languages/typescript/index.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ export default class TSGenerator extends CodeGenerator {
222222
// If we don't have any schemas then we shouldn't import a `types` file that doesn't exist.
223223
sdkSource
224224
.getImportDeclarations()
225-
.find(id => id.getText() === "import type * as types from './types';")
225+
.find(id => id.getText() === "import type * as types from './types.js';")
226226
?.remove();
227227
}
228228

@@ -271,7 +271,7 @@ export default class TSGenerator extends CodeGenerator {
271271

272272
sourceFile.addImportDeclarations([
273273
// This import will be automatically removed later if the SDK ends up not having any types.
274-
{ defaultImport: 'type * as types', moduleSpecifier: './types' },
274+
{ defaultImport: 'type * as types', moduleSpecifier: './types.js' },
275275
{
276276
// `HTTPMethodRange` will be conditionally removed later if it ends up not being used.
277277
defaultImport: 'type { ConfigOptions, FetchResponse, HTTPMethodRange }',
@@ -599,19 +599,20 @@ dist/
599599
const pkg: PackageJson = {
600600
name: `@api/${this.identifier}`,
601601
version: pkgVersion.version,
602-
main: './dist/index.js',
603-
types: './dist/index.d.ts',
604-
module: './dist/index.mts',
602+
type: 'module',
603+
main: 'dist/index.cjs',
604+
types: 'dist/index.d.cts',
605+
module: 'dist/index.ts',
605606
exports: {
606607
'.': {
607-
import: './dist/index.mjs',
608-
require: './dist/index.js',
608+
import: './dist/index.js',
609+
require: './dist/index.cjs',
609610
},
610611
...(hasTypes
611612
? {
612613
'./types': {
613-
import: './dist/types.d.mts',
614-
require: './dist/types.d.ts',
614+
import: './dist/types.js',
615+
require: './dist/types.cjs',
615616
},
616617
}
617618
: {}),
@@ -683,7 +684,7 @@ Generated at ${createdAt}
683684
// for these schemas into our main `schemas.ts` file.`
684685
sourceFile.addImportDeclaration({
685686
defaultImport: schemaName,
686-
moduleSpecifier: `./schemas/${schemaName}`,
687+
moduleSpecifier: `./schemas/${schemaName}.js`,
687688
});
688689

689690
// Though we aren't using Prettier to make these generated SDKs look amazing we should at
@@ -702,7 +703,7 @@ Generated at ${createdAt}
702703
// declaration for it.
703704
schemaFile.addImportDeclaration({
704705
defaultImport: ref,
705-
moduleSpecifier: `./${ref}`,
706+
moduleSpecifier: `./${ref}.js`,
706707
});
707708
});
708709
}
@@ -746,7 +747,7 @@ Generated at ${createdAt}
746747

747748
sourceFile.addImportDeclarations([
748749
{ defaultImport: 'type { FromSchema }', moduleSpecifier: '@readme/api-core/types' },
749-
{ defaultImport: '* as schemas', moduleSpecifier: './schemas' },
750+
{ defaultImport: '* as schemas', moduleSpecifier: './schemas.js' },
750751
]);
751752

752753
Array.from(new Map(Array.from(this.types.entries()).sort())).forEach(([typeName, typeExpression]) => {

packages/test-utils/sdks/alby/package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
{
22
"name": "@api/alby",
33
"version": "1.0.14",
4-
"main": "./dist/index.js",
5-
"types": "./dist/index.d.ts",
6-
"module": "./dist/index.mts",
4+
"type": "module",
5+
"main": "dist/index.cjs",
6+
"types": "dist/index.d.cts",
7+
"module": "dist/index.ts",
78
"exports": {
89
".": {
9-
"import": "./dist/index.mjs",
10-
"require": "./dist/index.js"
10+
"import": "./dist/index.js",
11+
"require": "./dist/index.cjs"
1112
},
1213
"./types": {
13-
"import": "./dist/types.d.mts",
14-
"require": "./dist/types.d.ts"
14+
"import": "./dist/types.js",
15+
"require": "./dist/types.cjs"
1516
},
1617
"./package.json": "./package.json"
1718
},

packages/test-utils/sdks/alby/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type * as types from './types';
1+
import type * as types from './types.js';
22
import type { ConfigOptions, FetchResponse } from '@readme/api-core/types';
33
import APICore from '@readme/api-core';
44
import definition from '@api/test-utils/definitions/alby.json';
Lines changed: 76 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
1-
import AmqpExternalRulePatch from './schemas/AmqpExternalRulePatch';
2-
import AmqpExternalRulePost from './schemas/AmqpExternalRulePost';
3-
import AmqpExternalRuleResponse from './schemas/AmqpExternalRuleResponse';
4-
import AmqpRulePatch from './schemas/AmqpRulePatch';
5-
import AmqpRulePost from './schemas/AmqpRulePost';
6-
import AmqpRuleResponse from './schemas/AmqpRuleResponse';
7-
import AppPatch from './schemas/AppPatch';
8-
import AppPkcs12 from './schemas/AppPkcs12';
9-
import AppPost from './schemas/AppPost';
10-
import AppResponse from './schemas/AppResponse';
11-
import AwsAccessKeys from './schemas/AwsAccessKeys';
12-
import AwsAccessKeysResponse from './schemas/AwsAccessKeysResponse';
13-
import AwsAssumeRole from './schemas/AwsAssumeRole';
14-
import AwsKinesisRulePatch from './schemas/AwsKinesisRulePatch';
15-
import AwsKinesisRulePost from './schemas/AwsKinesisRulePost';
16-
import AwsKinesisRuleResponse from './schemas/AwsKinesisRuleResponse';
17-
import AwsLambdaRulePatch from './schemas/AwsLambdaRulePatch';
18-
import AwsLambdaRulePost from './schemas/AwsLambdaRulePost';
19-
import AwsLambdaRuleResponse from './schemas/AwsLambdaRuleResponse';
20-
import AwsSqsRulePatch from './schemas/AwsSqsRulePatch';
21-
import AwsSqsRulePost from './schemas/AwsSqsRulePost';
22-
import AwsSqsRuleResponse from './schemas/AwsSqsRuleResponse';
23-
import AzureFunctionRulePatch from './schemas/AzureFunctionRulePatch';
24-
import AzureFunctionRulePost from './schemas/AzureFunctionRulePost';
25-
import AzureFunctionRuleResponse from './schemas/AzureFunctionRuleResponse';
26-
import CloudflareWorkerRulePatch from './schemas/CloudflareWorkerRulePatch';
27-
import CloudflareWorkerRulePost from './schemas/CloudflareWorkerRulePost';
28-
import CloudflareWorkerRuleResponse from './schemas/CloudflareWorkerRuleResponse';
29-
import DeleteAppsAppIdNamespacesNamespaceId from './schemas/DeleteAppsAppIdNamespacesNamespaceId';
30-
import DeleteAppsAppIdQueuesQueueId from './schemas/DeleteAppsAppIdQueuesQueueId';
31-
import DeleteAppsAppIdRulesRuleId from './schemas/DeleteAppsAppIdRulesRuleId';
32-
import DeleteAppsId from './schemas/DeleteAppsId';
33-
import Error from './schemas/Error';
34-
import GetAccountsAccountIdApps from './schemas/GetAccountsAccountIdApps';
35-
import GetAppsAppIdKeys from './schemas/GetAppsAppIdKeys';
36-
import GetAppsAppIdNamespaces from './schemas/GetAppsAppIdNamespaces';
37-
import GetAppsAppIdQueues from './schemas/GetAppsAppIdQueues';
38-
import GetAppsAppIdRules from './schemas/GetAppsAppIdRules';
39-
import GetAppsAppIdRulesRuleId from './schemas/GetAppsAppIdRulesRuleId';
40-
import GoogleCloudFunctionRulePatch from './schemas/GoogleCloudFunctionRulePatch';
41-
import GoogleCloudFunctionRulePost from './schemas/GoogleCloudFunctionRulePost';
42-
import GoogleCloudFunctionRuleResponse from './schemas/GoogleCloudFunctionRuleResponse';
43-
import HttpRulePatch from './schemas/HttpRulePatch';
44-
import HttpRulePost from './schemas/HttpRulePost';
45-
import HttpRuleResponse from './schemas/HttpRuleResponse';
46-
import IftttRulePatch from './schemas/IftttRulePatch';
47-
import IftttRulePost from './schemas/IftttRulePost';
48-
import IftttRuleResponse from './schemas/IftttRuleResponse';
49-
import KeyPatch from './schemas/KeyPatch';
50-
import KeyPost from './schemas/KeyPost';
51-
import KeyResponse from './schemas/KeyResponse';
52-
import Me from './schemas/Me';
53-
import NamespacePatch from './schemas/NamespacePatch';
54-
import NamespacePost from './schemas/NamespacePost';
55-
import NamespaceResponse from './schemas/NamespaceResponse';
56-
import PatchAppsAppIdKeysKeyId from './schemas/PatchAppsAppIdKeysKeyId';
57-
import PatchAppsAppIdNamespacesNamespaceId from './schemas/PatchAppsAppIdNamespacesNamespaceId';
58-
import PatchAppsAppIdRulesRuleId from './schemas/PatchAppsAppIdRulesRuleId';
59-
import PatchAppsId from './schemas/PatchAppsId';
60-
import PostAccountsAccountIdApps from './schemas/PostAccountsAccountIdApps';
61-
import PostAppsAppIdKeys from './schemas/PostAppsAppIdKeys';
62-
import PostAppsAppIdKeysKeyIdRevoke from './schemas/PostAppsAppIdKeysKeyIdRevoke';
63-
import PostAppsAppIdNamespaces from './schemas/PostAppsAppIdNamespaces';
64-
import PostAppsAppIdQueues from './schemas/PostAppsAppIdQueues';
65-
import PostAppsAppIdRules from './schemas/PostAppsAppIdRules';
66-
import PostAppsIdPkcs12 from './schemas/PostAppsIdPkcs12';
67-
import Queue from './schemas/Queue';
68-
import QueueResponse from './schemas/QueueResponse';
69-
import RulePatch from './schemas/RulePatch';
70-
import RulePost from './schemas/RulePost';
71-
import RuleResponse from './schemas/RuleResponse';
72-
import RuleSource from './schemas/RuleSource';
73-
import UnsupportedRuleResponse from './schemas/UnsupportedRuleResponse';
74-
import ZapierRulePatch from './schemas/ZapierRulePatch';
75-
import ZapierRulePost from './schemas/ZapierRulePost';
76-
import ZapierRuleResponse from './schemas/ZapierRuleResponse';
1+
import AmqpExternalRulePatch from './schemas/AmqpExternalRulePatch.js';
2+
import AmqpExternalRulePost from './schemas/AmqpExternalRulePost.js';
3+
import AmqpExternalRuleResponse from './schemas/AmqpExternalRuleResponse.js';
4+
import AmqpRulePatch from './schemas/AmqpRulePatch.js';
5+
import AmqpRulePost from './schemas/AmqpRulePost.js';
6+
import AmqpRuleResponse from './schemas/AmqpRuleResponse.js';
7+
import AppPatch from './schemas/AppPatch.js';
8+
import AppPkcs12 from './schemas/AppPkcs12.js';
9+
import AppPost from './schemas/AppPost.js';
10+
import AppResponse from './schemas/AppResponse.js';
11+
import AwsAccessKeys from './schemas/AwsAccessKeys.js';
12+
import AwsAccessKeysResponse from './schemas/AwsAccessKeysResponse.js';
13+
import AwsAssumeRole from './schemas/AwsAssumeRole.js';
14+
import AwsKinesisRulePatch from './schemas/AwsKinesisRulePatch.js';
15+
import AwsKinesisRulePost from './schemas/AwsKinesisRulePost.js';
16+
import AwsKinesisRuleResponse from './schemas/AwsKinesisRuleResponse.js';
17+
import AwsLambdaRulePatch from './schemas/AwsLambdaRulePatch.js';
18+
import AwsLambdaRulePost from './schemas/AwsLambdaRulePost.js';
19+
import AwsLambdaRuleResponse from './schemas/AwsLambdaRuleResponse.js';
20+
import AwsSqsRulePatch from './schemas/AwsSqsRulePatch.js';
21+
import AwsSqsRulePost from './schemas/AwsSqsRulePost.js';
22+
import AwsSqsRuleResponse from './schemas/AwsSqsRuleResponse.js';
23+
import AzureFunctionRulePatch from './schemas/AzureFunctionRulePatch.js';
24+
import AzureFunctionRulePost from './schemas/AzureFunctionRulePost.js';
25+
import AzureFunctionRuleResponse from './schemas/AzureFunctionRuleResponse.js';
26+
import CloudflareWorkerRulePatch from './schemas/CloudflareWorkerRulePatch.js';
27+
import CloudflareWorkerRulePost from './schemas/CloudflareWorkerRulePost.js';
28+
import CloudflareWorkerRuleResponse from './schemas/CloudflareWorkerRuleResponse.js';
29+
import DeleteAppsAppIdNamespacesNamespaceId from './schemas/DeleteAppsAppIdNamespacesNamespaceId.js';
30+
import DeleteAppsAppIdQueuesQueueId from './schemas/DeleteAppsAppIdQueuesQueueId.js';
31+
import DeleteAppsAppIdRulesRuleId from './schemas/DeleteAppsAppIdRulesRuleId.js';
32+
import DeleteAppsId from './schemas/DeleteAppsId.js';
33+
import Error from './schemas/Error.js';
34+
import GetAccountsAccountIdApps from './schemas/GetAccountsAccountIdApps.js';
35+
import GetAppsAppIdKeys from './schemas/GetAppsAppIdKeys.js';
36+
import GetAppsAppIdNamespaces from './schemas/GetAppsAppIdNamespaces.js';
37+
import GetAppsAppIdQueues from './schemas/GetAppsAppIdQueues.js';
38+
import GetAppsAppIdRules from './schemas/GetAppsAppIdRules.js';
39+
import GetAppsAppIdRulesRuleId from './schemas/GetAppsAppIdRulesRuleId.js';
40+
import GoogleCloudFunctionRulePatch from './schemas/GoogleCloudFunctionRulePatch.js';
41+
import GoogleCloudFunctionRulePost from './schemas/GoogleCloudFunctionRulePost.js';
42+
import GoogleCloudFunctionRuleResponse from './schemas/GoogleCloudFunctionRuleResponse.js';
43+
import HttpRulePatch from './schemas/HttpRulePatch.js';
44+
import HttpRulePost from './schemas/HttpRulePost.js';
45+
import HttpRuleResponse from './schemas/HttpRuleResponse.js';
46+
import IftttRulePatch from './schemas/IftttRulePatch.js';
47+
import IftttRulePost from './schemas/IftttRulePost.js';
48+
import IftttRuleResponse from './schemas/IftttRuleResponse.js';
49+
import KeyPatch from './schemas/KeyPatch.js';
50+
import KeyPost from './schemas/KeyPost.js';
51+
import KeyResponse from './schemas/KeyResponse.js';
52+
import Me from './schemas/Me.js';
53+
import NamespacePatch from './schemas/NamespacePatch.js';
54+
import NamespacePost from './schemas/NamespacePost.js';
55+
import NamespaceResponse from './schemas/NamespaceResponse.js';
56+
import PatchAppsAppIdKeysKeyId from './schemas/PatchAppsAppIdKeysKeyId.js';
57+
import PatchAppsAppIdNamespacesNamespaceId from './schemas/PatchAppsAppIdNamespacesNamespaceId.js';
58+
import PatchAppsAppIdRulesRuleId from './schemas/PatchAppsAppIdRulesRuleId.js';
59+
import PatchAppsId from './schemas/PatchAppsId.js';
60+
import PostAccountsAccountIdApps from './schemas/PostAccountsAccountIdApps.js';
61+
import PostAppsAppIdKeys from './schemas/PostAppsAppIdKeys.js';
62+
import PostAppsAppIdKeysKeyIdRevoke from './schemas/PostAppsAppIdKeysKeyIdRevoke.js';
63+
import PostAppsAppIdNamespaces from './schemas/PostAppsAppIdNamespaces.js';
64+
import PostAppsAppIdQueues from './schemas/PostAppsAppIdQueues.js';
65+
import PostAppsAppIdRules from './schemas/PostAppsAppIdRules.js';
66+
import PostAppsIdPkcs12 from './schemas/PostAppsIdPkcs12.js';
67+
import Queue from './schemas/Queue.js';
68+
import QueueResponse from './schemas/QueueResponse.js';
69+
import RulePatch from './schemas/RulePatch.js';
70+
import RulePost from './schemas/RulePost.js';
71+
import RuleResponse from './schemas/RuleResponse.js';
72+
import RuleSource from './schemas/RuleSource.js';
73+
import UnsupportedRuleResponse from './schemas/UnsupportedRuleResponse.js';
74+
import ZapierRulePatch from './schemas/ZapierRulePatch.js';
75+
import ZapierRulePost from './schemas/ZapierRulePost.js';
76+
import ZapierRuleResponse from './schemas/ZapierRuleResponse.js';
7777
export { AmqpExternalRulePatch, AmqpExternalRulePost, AmqpExternalRuleResponse, AmqpRulePatch, AmqpRulePost, AmqpRuleResponse, AppPatch, AppPkcs12, AppPost, AppResponse, AwsAccessKeys, AwsAccessKeysResponse, AwsAssumeRole, AwsKinesisRulePatch, AwsKinesisRulePost, AwsKinesisRuleResponse, AwsLambdaRulePatch, AwsLambdaRulePost, AwsLambdaRuleResponse, AwsSqsRulePatch, AwsSqsRulePost, AwsSqsRuleResponse, AzureFunctionRulePatch, AzureFunctionRulePost, AzureFunctionRuleResponse, CloudflareWorkerRulePatch, CloudflareWorkerRulePost, CloudflareWorkerRuleResponse, DeleteAppsAppIdNamespacesNamespaceId, DeleteAppsAppIdQueuesQueueId, DeleteAppsAppIdRulesRuleId, DeleteAppsId, Error, GetAccountsAccountIdApps, GetAppsAppIdKeys, GetAppsAppIdNamespaces, GetAppsAppIdQueues, GetAppsAppIdRules, GetAppsAppIdRulesRuleId, GoogleCloudFunctionRulePatch, GoogleCloudFunctionRulePost, GoogleCloudFunctionRuleResponse, HttpRulePatch, HttpRulePost, HttpRuleResponse, IftttRulePatch, IftttRulePost, IftttRuleResponse, KeyPatch, KeyPost, KeyResponse, Me, NamespacePatch, NamespacePost, NamespaceResponse, PatchAppsAppIdKeysKeyId, PatchAppsAppIdNamespacesNamespaceId, PatchAppsAppIdRulesRuleId, PatchAppsId, PostAccountsAccountIdApps, PostAppsAppIdKeys, PostAppsAppIdKeysKeyIdRevoke, PostAppsAppIdNamespaces, PostAppsAppIdQueues, PostAppsAppIdRules, PostAppsIdPkcs12, Queue, QueueResponse, RulePatch, RulePost, RuleResponse, RuleSource, UnsupportedRuleResponse, ZapierRulePatch, ZapierRulePost, ZapierRuleResponse }

packages/test-utils/sdks/alby/src/schemas/AmqpExternalRulePatch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpExternalRulePatch = {
44
"additionalProperties": false,

packages/test-utils/sdks/alby/src/schemas/AmqpExternalRulePost.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpExternalRulePost = {
44
"additionalProperties": false,

packages/test-utils/sdks/alby/src/schemas/AmqpExternalRuleResponse.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpExternalRuleResponse = {
44
"additionalProperties": false,

packages/test-utils/sdks/alby/src/schemas/AmqpRulePatch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpRulePatch = {
44
"additionalProperties": false,

packages/test-utils/sdks/alby/src/schemas/AmqpRulePost.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpRulePost = {
44
"additionalProperties": false,

packages/test-utils/sdks/alby/src/schemas/AmqpRuleResponse.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RuleSource from './RuleSource';
1+
import RuleSource from './RuleSource.js';
22

33
const AmqpRuleResponse = {
44
"additionalProperties": false,

0 commit comments

Comments
 (0)