From 350e83667bf7240fd737089d47b9107adf3a3284 Mon Sep 17 00:00:00 2001 From: Tom Frenken <54979414+tomfrenken@users.noreply.github.com> Date: Thu, 22 Aug 2024 17:26:10 +0200 Subject: [PATCH] chore: Add cjs check (#79) --- .github/workflows/build.yml | 1 + .github/workflows/e2e-test.yaml | 2 +- .gitignore | 1 + package.json | 3 ++- packages/ai-core/package.json | 1 + packages/ai-core/tsconfig.cjs.json | 7 +++++++ packages/core/package.json | 1 + packages/core/src/index.ts | 3 ++- packages/core/tsconfig.cjs.json | 7 +++++++ packages/gen-ai-hub/package.json | 1 + packages/gen-ai-hub/tsconfig.cjs.json | 7 +++++++ sample-code/README.md | 2 +- test-util/mock-http.ts | 5 ++--- 13 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 packages/ai-core/tsconfig.cjs.json create mode 100644 packages/core/tsconfig.cjs.json create mode 100644 packages/gen-ai-hub/tsconfig.cjs.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9d07827f..03fdb5aa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,7 @@ jobs: - run: pnpm i --frozen-lockfile # - run: pnpm build # might be needed in the future - run: pnpm lint + - run: pnpm compile:cjs build: runs-on: ubuntu-latest diff --git a/.github/workflows/e2e-test.yaml b/.github/workflows/e2e-test.yaml index cb52d6e5..13bdd2ee 100644 --- a/.github/workflows/e2e-test.yaml +++ b/.github/workflows/e2e-test.yaml @@ -40,7 +40,7 @@ jobs: - name: "Check Sample App Starts Up" working-directory: ./sample-code run: | - pnpm run local & + pnpm local & timeout=15 while ! nc -z localhost 8080; do sleep 1 diff --git a/.gitignore b/.gitignore index 4ed3ea34..06abef35 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dist +dist-cjs node_modules coverage diff --git a/package.json b/package.json index 9fff6002..17b80f0e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "type": "module", "scripts": { "postinstall": "pnpm compile", - "compile": "pnpm -r -w=false run compile", + "compile": "pnpm -r compile", + "compile:cjs": "pnpm -r -F=./packages/** compile:cjs", "test:unit": "pnpm -r -F=./packages/** test", "test:type": "pnpm -F=@sap-ai-sdk/type-tests test", "test:e2e": "pnpm -F=@sap-ai-sdk/e2e-tests test", diff --git a/packages/ai-core/package.json b/packages/ai-core/package.json index 117e5504..870209bc 100644 --- a/packages/ai-core/package.json +++ b/packages/ai-core/package.json @@ -18,6 +18,7 @@ ], "scripts": { "compile": "tsc", + "compile:cjs": "tsc -p tsconfig.cjs.json", "test": "NODE_OPTIONS=--experimental-vm-modules jest", "lint": "eslint . && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -c", "lint:fix": "eslint . --fix && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -w --log-level error", diff --git a/packages/ai-core/tsconfig.cjs.json b/packages/ai-core/tsconfig.cjs.json new file mode 100644 index 00000000..a302e446 --- /dev/null +++ b/packages/ai-core/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist-cjs" + } +} diff --git a/packages/core/package.json b/packages/core/package.json index 3319990c..f35004bf 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -18,6 +18,7 @@ ], "scripts": { "compile": "tsc", + "compile:cjs": "tsc -p tsconfig.cjs.json", "test": "NODE_OPTIONS=--experimental-vm-modules jest", "lint": "eslint . && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -c", "lint:fix": "eslint . --fix && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -w --log-level error" diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 94b3d09a..7435275f 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -2,7 +2,8 @@ export { executeRequest, BaseLlmParametersWithDeploymentId, BaseLlmParameters, - CustomRequestConfig + CustomRequestConfig, + EndpointOptions } from './http-client.js'; export { getAiCoreDestination } from './context.js'; export { OpenApiRequestBuilder } from './openapi-request-builder.js'; diff --git a/packages/core/tsconfig.cjs.json b/packages/core/tsconfig.cjs.json new file mode 100644 index 00000000..a302e446 --- /dev/null +++ b/packages/core/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist-cjs" + } +} diff --git a/packages/gen-ai-hub/package.json b/packages/gen-ai-hub/package.json index 91f0a463..3e61f402 100644 --- a/packages/gen-ai-hub/package.json +++ b/packages/gen-ai-hub/package.json @@ -20,6 +20,7 @@ ], "scripts": { "compile": "tsc", + "compile:cjs": "tsc -p tsconfig.cjs.json", "test": "NODE_OPTIONS=--experimental-vm-modules jest", "lint": "eslint . && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -c", "lint:fix": "eslint . --fix && prettier . --config ../../.prettierrc --ignore-path ../../.prettierignore -w --log-level error", diff --git a/packages/gen-ai-hub/tsconfig.cjs.json b/packages/gen-ai-hub/tsconfig.cjs.json new file mode 100644 index 00000000..a302e446 --- /dev/null +++ b/packages/gen-ai-hub/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "outDir": "./dist-cjs" + } +} diff --git a/sample-code/README.md b/sample-code/README.md index 05b9b24f..df927908 100644 --- a/sample-code/README.md +++ b/sample-code/README.md @@ -13,7 +13,7 @@ Build the project with: 2. Download a service key for your AI Core service instance 3. Create a `.env` file in the sample-code directory 4. Add an entry `AICORE_SERVICE_KEY=''` -5. `pnpm run local` +5. `pnpm local` Call the test endpoints: diff --git a/test-util/mock-http.ts b/test-util/mock-http.ts index 15f58492..744d26c0 100644 --- a/test-util/mock-http.ts +++ b/test-util/mock-http.ts @@ -5,9 +5,8 @@ import { DestinationAuthToken, HttpDestination, ServiceCredentials } from '@sap- import nock from 'nock'; import { BaseLlmParameters, - CustomRequestConfig -} from '@sap-ai-sdk/core'; -import { EndpointOptions } from '@sap-ai-sdk/core/src/http-client.js'; + CustomRequestConfig, + EndpointOptions } from '@sap-ai-sdk/core'; import { dummyToken } from './mock-jwt.js'; // Get the directory of this file