Skip to content

Commit 0aecf4f

Browse files
committed
feat: add exports
1 parent 9a4a862 commit 0aecf4f

File tree

2 files changed

+93
-12
lines changed

2 files changed

+93
-12
lines changed

package.json

+83-2
Original file line numberDiff line numberDiff line change
@@ -99,93 +99,174 @@
9999
},
100100
"exports": {
101101
".": "./dist/index.js",
102-
"./proto/*": "./dist/generated/yandex/cloud/*.js",
103102
"./ai-assistants-v1": "./dist/clients/ai-assistants-v1/index.js",
103+
"./ai-assistants-v1/*": "./dist/generated/yandex/cloud/ai/assistants/v1/*.js",
104104
"./ai-dataset-v1": "./dist/clients/ai-dataset-v1/index.js",
105+
"./ai-dataset-v1/*": "./dist/generated/yandex/cloud/ai/dataset/v1/*.js",
105106
"./ai-files-v1": "./dist/clients/ai-files-v1/index.js",
107+
"./ai-files-v1/*": "./dist/generated/yandex/cloud/ai/files/v1/*.js",
106108
"./ai-foundation_models-v1": "./dist/clients/ai-foundation_models-v1/index.js",
109+
"./ai-foundation_models-v1/*": "./dist/generated/yandex/cloud/ai/foundation_models/v1/*.js",
107110
"./ai-llm-v1alpha": "./dist/clients/ai-llm-v1alpha/index.js",
111+
"./ai-llm-v1alpha/*": "./dist/generated/yandex/cloud/ai/llm/v1alpha/*.js",
108112
"./ai-ocr-v1": "./dist/clients/ai-ocr-v1/index.js",
113+
"./ai-ocr-v1/*": "./dist/generated/yandex/cloud/ai/ocr/v1/*.js",
109114
"./ai-stt-v2": "./dist/clients/ai-stt-v2/index.js",
115+
"./ai-stt-v2/*": "./dist/generated/yandex/cloud/ai/stt/v2/*.js",
110116
"./ai-stt-v3": "./dist/clients/ai-stt-v3/index.js",
117+
"./ai-stt-v3/*": "./dist/generated/yandex/cloud/ai/stt/v3/*.js",
111118
"./ai-translate-v2": "./dist/clients/ai-translate-v2/index.js",
119+
"./ai-translate-v2/*": "./dist/generated/yandex/cloud/ai/translate/v2/*.js",
112120
"./ai-tts-v3": "./dist/clients/ai-tts-v3/index.js",
121+
"./ai-tts-v3/*": "./dist/generated/yandex/cloud/ai/tts/v3/*.js",
113122
"./ai-tuning-v1": "./dist/clients/ai-tuning-v1/index.js",
123+
"./ai-tuning-v1/*": "./dist/generated/yandex/cloud/ai/tuning/v1/*.js",
114124
"./ai-vision-v1": "./dist/clients/ai-vision-v1/index.js",
125+
"./ai-vision-v1/*": "./dist/generated/yandex/cloud/ai/vision/v1/*.js",
115126
"./ai-vision-v2": "./dist/clients/ai-vision-v2/index.js",
127+
"./ai-vision-v2/*": "./dist/generated/yandex/cloud/ai/vision/v2/*.js",
116128
"./airflow-v1": "./dist/clients/airflow-v1/index.js",
129+
"./airflow-v1/*": "./dist/generated/yandex/cloud/airflow/v1/*.js",
117130
"./apploadbalancer-v1": "./dist/clients/apploadbalancer-v1/index.js",
131+
"./apploadbalancer-v1/*": "./dist/generated/yandex/cloud/apploadbalancer/v1/*.js",
118132
"./audittrails-v1": "./dist/clients/audittrails-v1/index.js",
133+
"./audittrails-v1/*": "./dist/generated/yandex/cloud/audittrails/v1/*.js",
119134
"./backup-v1": "./dist/clients/backup-v1/index.js",
135+
"./backup-v1/*": "./dist/generated/yandex/cloud/backup/v1/*.js",
120136
"./billing-v1": "./dist/clients/billing-v1/index.js",
137+
"./billing-v1/*": "./dist/generated/yandex/cloud/billing/v1/*.js",
121138
"./cdn-v1": "./dist/clients/cdn-v1/index.js",
139+
"./cdn-v1/*": "./dist/generated/yandex/cloud/cdn/v1/*.js",
122140
"./certificatemanager-v1": "./dist/clients/certificatemanager-v1/index.js",
141+
"./certificatemanager-v1/*": "./dist/generated/yandex/cloud/certificatemanager/v1/*.js",
123142
"./cic-v1": "./dist/clients/cic-v1/index.js",
143+
"./cic-v1/*": "./dist/generated/yandex/cloud/cic/v1/*.js",
124144
"./cloudapps-workload-v1": "./dist/clients/cloudapps-workload-v1/index.js",
145+
"./cloudapps-workload-v1/*": "./dist/generated/yandex/cloud/cloudapps/workload/v1/*.js",
125146
"./cloudregistry-v1": "./dist/clients/cloudregistry-v1/index.js",
147+
"./cloudregistry-v1/*": "./dist/generated/yandex/cloud/cloudregistry/v1/*.js",
126148
"./cloudrouter-v1": "./dist/clients/cloudrouter-v1/index.js",
149+
"./cloudrouter-v1/*": "./dist/generated/yandex/cloud/cloudrouter/v1/*.js",
127150
"./compute-v1": "./dist/clients/compute-v1/index.js",
151+
"./compute-v1/*": "./dist/generated/yandex/cloud/compute/v1/*.js",
128152
"./containerregistry-v1": "./dist/clients/containerregistry-v1/index.js",
153+
"./containerregistry-v1/*": "./dist/generated/yandex/cloud/containerregistry/v1/*.js",
129154
"./dataproc-manager-v1": "./dist/clients/dataproc-manager-v1/index.js",
155+
"./dataproc-manager-v1/*": "./dist/generated/yandex/cloud/dataproc/manager/v1/*.js",
130156
"./dataproc-v1": "./dist/clients/dataproc-v1/index.js",
157+
"./dataproc-v1/*": "./dist/generated/yandex/cloud/dataproc/v1/*.js",
131158
"./datasphere-v1": "./dist/clients/datasphere-v1/index.js",
159+
"./datasphere-v1/*": "./dist/generated/yandex/cloud/datasphere/v1/*.js",
132160
"./datasphere-v2": "./dist/clients/datasphere-v2/index.js",
161+
"./datasphere-v2/*": "./dist/generated/yandex/cloud/datasphere/v2/*.js",
133162
"./datatransfer-v1": "./dist/clients/datatransfer-v1/index.js",
163+
"./datatransfer-v1/*": "./dist/generated/yandex/cloud/datatransfer/v1/*.js",
134164
"./dist/*": "./dist/*.js",
135165
"./dns-v1": "./dist/clients/dns-v1/index.js",
166+
"./dns-v1/*": "./dist/generated/yandex/cloud/dns/v1/*.js",
136167
"./endpoint": "./dist/clients/endpoint/index.js",
168+
"./endpoint/*": "./dist/generated/yandex/cloud/endpoint/*.js",
137169
"./google/*": "./dist/generated/google/*.js",
138170
"./iam-v1": "./dist/clients/iam-v1/index.js",
171+
"./iam-v1/*": "./dist/generated/yandex/cloud/iam/v1/*.js",
139172
"./iot-broker-v1": "./dist/clients/iot-broker-v1/index.js",
173+
"./iot-broker-v1/*": "./dist/generated/yandex/cloud/iot/broker/v1/*.js",
140174
"./iot-devices-v1": "./dist/clients/iot-devices-v1/index.js",
175+
"./iot-devices-v1/*": "./dist/generated/yandex/cloud/iot/devices/v1/*.js",
141176
"./k8s-marketplace-v1": "./dist/clients/k8s-marketplace-v1/index.js",
177+
"./k8s-marketplace-v1/*": "./dist/generated/yandex/cloud/k8s/marketplace/v1/*.js",
142178
"./k8s-v1": "./dist/clients/k8s-v1/index.js",
179+
"./k8s-v1/*": "./dist/generated/yandex/cloud/k8s/v1/*.js",
143180
"./kms-v1": "./dist/clients/kms-v1/index.js",
181+
"./kms-v1/*": "./dist/generated/yandex/cloud/kms/v1/*.js",
144182
"./loadbalancer-v1": "./dist/clients/loadbalancer-v1/index.js",
183+
"./loadbalancer-v1/*": "./dist/generated/yandex/cloud/loadbalancer/v1/*.js",
145184
"./loadtesting-agent-v1": "./dist/clients/loadtesting-agent-v1/index.js",
185+
"./loadtesting-agent-v1/*": "./dist/generated/yandex/cloud/loadtesting/agent/v1/*.js",
146186
"./loadtesting-api-v1": "./dist/clients/loadtesting-api-v1/index.js",
187+
"./loadtesting-api-v1/*": "./dist/generated/yandex/cloud/loadtesting/api/v1/*.js",
147188
"./lockbox-v1": "./dist/clients/lockbox-v1/index.js",
189+
"./lockbox-v1/*": "./dist/generated/yandex/cloud/lockbox/v1/*.js",
148190
"./logging-v1": "./dist/clients/logging-v1/index.js",
191+
"./logging-v1/*": "./dist/generated/yandex/cloud/logging/v1/*.js",
149192
"./marketplace-licensemanager-saas-v1": "./dist/clients/marketplace-licensemanager-saas-v1/index.js",
193+
"./marketplace-licensemanager-saas-v1/*": "./dist/generated/yandex/cloud/marketplace/licensemanager/saas/v1/*.js",
150194
"./marketplace-licensemanager-v1": "./dist/clients/marketplace-licensemanager-v1/index.js",
195+
"./marketplace-licensemanager-v1/*": "./dist/generated/yandex/cloud/marketplace/licensemanager/v1/*.js",
151196
"./marketplace-metering-v1": "./dist/clients/marketplace-metering-v1/index.js",
197+
"./marketplace-metering-v1/*": "./dist/generated/yandex/cloud/marketplace/metering/v1/*.js",
152198
"./marketplace-pim-v1": "./dist/clients/marketplace-pim-v1/index.js",
199+
"./marketplace-pim-v1/*": "./dist/generated/yandex/cloud/marketplace/pim/v1/*.js",
153200
"./marketplace-v1": "./dist/clients/marketplace-v1/index.js",
201+
"./marketplace-v1/*": "./dist/generated/yandex/cloud/marketplace/v1/*.js",
154202
"./mdb-clickhouse-v1": "./dist/clients/mdb-clickhouse-v1/index.js",
203+
"./mdb-clickhouse-v1/*": "./dist/generated/yandex/cloud/mdb/clickhouse/v1/*.js",
155204
"./mdb-elasticsearch-v1": "./dist/clients/mdb-elasticsearch-v1/index.js",
205+
"./mdb-elasticsearch-v1/*": "./dist/generated/yandex/cloud/mdb/elasticsearch/v1/*.js",
156206
"./mdb-greenplum-v1": "./dist/clients/mdb-greenplum-v1/index.js",
207+
"./mdb-greenplum-v1/*": "./dist/generated/yandex/cloud/mdb/greenplum/v1/*.js",
157208
"./mdb-kafka-v1": "./dist/clients/mdb-kafka-v1/index.js",
209+
"./mdb-kafka-v1/*": "./dist/generated/yandex/cloud/mdb/kafka/v1/*.js",
158210
"./mdb-mongodb-v1": "./dist/clients/mdb-mongodb-v1/index.js",
211+
"./mdb-mongodb-v1/*": "./dist/generated/yandex/cloud/mdb/mongodb/v1/*.js",
159212
"./mdb-mysql-v1": "./dist/clients/mdb-mysql-v1/index.js",
213+
"./mdb-mysql-v1/*": "./dist/generated/yandex/cloud/mdb/mysql/v1/*.js",
160214
"./mdb-mysql-v1alpha": "./dist/clients/mdb-mysql-v1alpha/index.js",
215+
"./mdb-mysql-v1alpha/*": "./dist/generated/yandex/cloud/mdb/mysql/v1alpha/*.js",
161216
"./mdb-opensearch-v1": "./dist/clients/mdb-opensearch-v1/index.js",
217+
"./mdb-opensearch-v1/*": "./dist/generated/yandex/cloud/mdb/opensearch/v1/*.js",
162218
"./mdb-postgresql-v1": "./dist/clients/mdb-postgresql-v1/index.js",
219+
"./mdb-postgresql-v1/*": "./dist/generated/yandex/cloud/mdb/postgresql/v1/*.js",
163220
"./mdb-redis-v1": "./dist/clients/mdb-redis-v1/index.js",
221+
"./mdb-redis-v1/*": "./dist/generated/yandex/cloud/mdb/redis/v1/*.js",
164222
"./mdb-sqlserver-v1": "./dist/clients/mdb-sqlserver-v1/index.js",
223+
"./mdb-sqlserver-v1/*": "./dist/generated/yandex/cloud/mdb/sqlserver/v1/*.js",
165224
"./monitoring-v3": "./dist/clients/monitoring-v3/index.js",
225+
"./monitoring-v3/*": "./dist/generated/yandex/cloud/monitoring/v3/*.js",
166226
"./operation": "./dist/clients/operation/index.js",
227+
"./operation/*": "./dist/generated/yandex/cloud/operation/*.js",
167228
"./organizationmanager-v1": "./dist/clients/organizationmanager-v1/index.js",
229+
"./organizationmanager-v1/*": "./dist/generated/yandex/cloud/organizationmanager/v1/*.js",
230+
"./proto/*": "./dist/generated/yandex/cloud/*.js",
168231
"./quotamanager-v1": "./dist/clients/quotamanager-v1/index.js",
232+
"./quotamanager-v1/*": "./dist/generated/yandex/cloud/quotamanager/v1/*.js",
169233
"./resourcemanager-v1": "./dist/clients/resourcemanager-v1/index.js",
234+
"./resourcemanager-v1/*": "./dist/generated/yandex/cloud/resourcemanager/v1/*.js",
170235
"./sdk/ai-assistants-v1": "./dist/sdk/ai-assistants-v1/index.js",
171236
"./sdk/ai-files-v1": "./dist/sdk/ai-files-v1/index.js",
172237
"./sdk/ai-foundation_models-v1": "./dist/sdk/ai-foundation_models-v1/index.js",
173238
"./sdk/operation": "./dist/sdk/operation/index.js",
174239
"./searchapi-v2": "./dist/clients/searchapi-v2/index.js",
240+
"./searchapi-v2/*": "./dist/generated/yandex/cloud/searchapi/v2/*.js",
175241
"./serverless-apigateway-v1": "./dist/clients/serverless-apigateway-v1/index.js",
242+
"./serverless-apigateway-v1/*": "./dist/generated/yandex/cloud/serverless/apigateway/v1/*.js",
176243
"./serverless-apigateway-websocket-v1": "./dist/clients/serverless-apigateway-websocket-v1/index.js",
244+
"./serverless-apigateway-websocket-v1/*": "./dist/generated/yandex/cloud/serverless/apigateway/websocket/v1/*.js",
177245
"./serverless-containers-v1": "./dist/clients/serverless-containers-v1/index.js",
246+
"./serverless-containers-v1/*": "./dist/generated/yandex/cloud/serverless/containers/v1/*.js",
178247
"./serverless-eventrouter-v1": "./dist/clients/serverless-eventrouter-v1/index.js",
248+
"./serverless-eventrouter-v1/*": "./dist/generated/yandex/cloud/serverless/eventrouter/v1/*.js",
179249
"./serverless-functions-v1": "./dist/clients/serverless-functions-v1/index.js",
250+
"./serverless-functions-v1/*": "./dist/generated/yandex/cloud/serverless/functions/v1/*.js",
180251
"./serverless-mdbproxy-v1": "./dist/clients/serverless-mdbproxy-v1/index.js",
252+
"./serverless-mdbproxy-v1/*": "./dist/generated/yandex/cloud/serverless/mdbproxy/v1/*.js",
181253
"./serverless-triggers-v1": "./dist/clients/serverless-triggers-v1/index.js",
254+
"./serverless-triggers-v1/*": "./dist/generated/yandex/cloud/serverless/triggers/v1/*.js",
182255
"./serverless-workflows-v1": "./dist/clients/serverless-workflows-v1/index.js",
256+
"./serverless-workflows-v1/*": "./dist/generated/yandex/cloud/serverless/workflows/v1/*.js",
183257
"./smartcaptcha-v1": "./dist/clients/smartcaptcha-v1/index.js",
258+
"./smartcaptcha-v1/*": "./dist/generated/yandex/cloud/smartcaptcha/v1/*.js",
184259
"./smartwebsecurity-v1": "./dist/clients/smartwebsecurity-v1/index.js",
260+
"./smartwebsecurity-v1/*": "./dist/generated/yandex/cloud/smartwebsecurity/v1/*.js",
185261
"./speechsense-v1": "./dist/clients/speechsense-v1/index.js",
262+
"./speechsense-v1/*": "./dist/generated/yandex/cloud/speechsense/v1/*.js",
186263
"./storage-v1": "./dist/clients/storage-v1/index.js",
264+
"./storage-v1/*": "./dist/generated/yandex/cloud/storage/v1/*.js",
187265
"./video-v1": "./dist/clients/video-v1/index.js",
266+
"./video-v1/*": "./dist/generated/yandex/cloud/video/v1/*.js",
188267
"./vpc-v1": "./dist/clients/vpc-v1/index.js",
189-
"./ydb-v1": "./dist/clients/ydb-v1/index.js"
268+
"./vpc-v1/*": "./dist/generated/yandex/cloud/vpc/v1/*.js",
269+
"./ydb-v1": "./dist/clients/ydb-v1/index.js",
270+
"./ydb-v1/*": "./dist/generated/yandex/cloud/ydb/v1/*.js"
190271
}
191272
}

scripts/generate_services/index.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,7 @@ const generateClient = async (dir: string) => {
103103

104104
const serviceProtoFiles = fg.sync('**/*.proto', { cwd: target, absolute: true });
105105

106-
const serviceName = generateServiceName(dir);
107-
108-
const serviceDir = PATH.join(CLIENTS_DIR, serviceName);
106+
const serviceDir = PATH.join(CLIENTS_DIR, generateServiceName(dir));
109107
if (!fs.existsSync(serviceDir)) {
110108
fs.mkdirSync(serviceDir, { recursive: true });
111109
}
@@ -116,18 +114,20 @@ const generateClient = async (dir: string) => {
116114

117115
await addReExports(serviceDir, dir, relativeProtoPathList);
118116

119-
return serviceName;
117+
return dir;
120118
};
121119

122-
const modifyPackageJSON = async (serviceList: string[]) => {
120+
const modifyPackageJSON = async (serviceDirList: string[]) => {
123121
const path = PATH.resolve('package.json');
124122
const data = fs.readFileSync(path, 'utf8');
125123
const jsonData = JSON.parse(data);
126124

127125
jsonData.exports = jsonData.exports || {};
128126

129-
serviceList.forEach((serviceName) => {
127+
serviceDirList.forEach((serviceDir) => {
128+
const serviceName = generateServiceName(serviceDir);
130129
jsonData.exports[`./${serviceName}`] = `./dist/clients/${serviceName}/index.js`;
130+
jsonData.exports[`./${serviceName}/*`] = `./dist/generated/yandex/cloud/${serviceDir}/*.js`;
131131
});
132132

133133
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -153,11 +153,11 @@ const main = async () => {
153153

154154
await generateCloudApi();
155155

156-
const serviceList = await Promise.all(Object.keys(serviceMap).map(generateClient));
157-
158-
serviceList.sort();
156+
const clientPromiseList = Object.keys(serviceMap).map(generateClient);
157+
const serviceDirList = await Promise.all(clientPromiseList);
158+
serviceDirList.sort();
159159

160-
await modifyPackageJSON(serviceList);
160+
await modifyPackageJSON(serviceDirList);
161161

162162
await exec('npm run prettier:fix:clients');
163163
};

0 commit comments

Comments
 (0)