From 78b89852c2d42da65b1e4b2ad8eb0bf43a141a23 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 13:02:46 -0800 Subject: [PATCH] OpenAPI: Regenerates API Bindings (#35) * Regenerates API Bindings * ENG 18614/test clean up (#36) * Adding workflow tests * Fixing version * Fixing test folder call * Switching to PAT for test dispatch * Adding testing headers * Fixing README version * Fixing openapi-generator settings --- .babelrc | 3 +- .github/workflows/nodeapp.yml | 34 + .github/workflows/openapi.yml | 2 + .gitignore | 1 + README.md | 7 +- docs/CreateApi.md | 22 +- docs/DocumentsApi.md | 4 +- docs/Error.md | 2 +- docs/FilesApi.md | 12 +- docs/JobsApi.md | 34 +- docs/LanguagesApi.md | 2 +- docs/LiltCreateContent.md | 2 + docs/LiltCreateContentRequest.md | 13 + docs/MemoriesApi.md | 20 +- docs/ProjectsApi.md | 6 +- docs/TranslateApi.md | 8 +- docs/WorkflowsApi.md | 2 +- package-lock.json | 2494 +++++++++++++---- package.json | 11 +- src/ApiClient.js | 2 +- src/api/CreateApi.js | 26 +- src/api/DocumentsApi.js | 6 +- src/api/FilesApi.js | 14 +- src/api/JobsApi.js | 34 +- src/api/LanguagesApi.js | 4 +- src/api/MemoriesApi.js | 24 +- src/api/ProjectsApi.js | 8 +- src/api/TranslateApi.js | 10 +- src/api/WorkflowsApi.js | 5 +- src/index.js | 11 +- src/model/AddFileLabelRequest.js | 2 +- src/model/CreateConverterConfigParameters.js | 2 +- src/model/DeleteSegmentFromMemoryResponse.js | 2 +- src/model/DocumentWithSegments.js | 2 +- src/model/DocumentWithoutSegments.js | 2 +- src/model/DocumentWithoutSegmentsStatus.js | 2 +- src/model/Error.js | 6 +- src/model/FileDeleteResponse.js | 2 +- src/model/GetLiltCreateContentResponse.js | 2 +- src/model/InlineResponse200.js | 2 +- src/model/Job.js | 2 +- src/model/JobCreateParameters.js | 2 +- src/model/JobDeleteResponse.js | 2 +- src/model/JobLeverageStats.js | 2 +- src/model/JobProject.js | 2 +- src/model/JobStats.js | 2 +- src/model/JobUpdateParameters.js | 2 +- src/model/LanguagePair.js | 2 +- src/model/LanguagesResponse.js | 2 +- src/model/LiltCreateContent.js | 20 +- src/model/LiltCreateContentPreferences.js | 2 +- src/model/LiltCreateContentRequest.js | 115 + src/model/LiltCreateContentTemplateParams.js | 2 +- src/model/Memory.js | 2 +- src/model/MemoryCreateParameters.js | 2 +- src/model/MemoryDeleteResponse.js | 2 +- src/model/MemoryImportResponse.js | 2 +- src/model/MemoryUpdateParameters.js | 2 +- src/model/Project.js | 2 +- src/model/ProjectCreateParameters.js | 2 +- src/model/ProjectDeleteResponse.js | 2 +- src/model/ProjectStats.js | 2 +- src/model/SDLXLIFFFilter.js | 2 +- src/model/Segment.js | 2 +- src/model/SignLiltCreateTermsResponse.js | 2 +- src/model/SourceFile.js | 2 +- src/model/TermbaseExportResponse.js | 2 +- src/model/TranslateSegmentBody.js | 2 +- src/model/Translation.js | 2 +- src/model/TranslationInfo.js | 2 +- src/model/TranslationList.js | 2 +- src/model/TranslationMemoryEntry.js | 2 +- src/model/WorkflowStageAssignment.js | 2 +- src/model/WorkflowStageTemplate.js | 2 +- src/model/WorkflowTemplate.js | 2 +- test/model/LiltCreateContentRequest.spec.js | 89 + workflow_tests/resources/getDocuments.json | 36 + workflow_tests/resources/test-frToEn.tmx | 14 + workflow_tests/resources/translate-frToEn.txt | 2 + workflow_tests/testCreateContent.js | 277 ++ workflow_tests/testDataSource.js | 270 ++ workflow_tests/testInstantTranslation.js | 96 + workflow_tests/testVerifiedTranslation.js | 161 ++ 83 files changed, 3293 insertions(+), 700 deletions(-) create mode 100644 .github/workflows/nodeapp.yml create mode 100644 docs/LiltCreateContentRequest.md create mode 100644 src/model/LiltCreateContentRequest.js create mode 100644 test/model/LiltCreateContentRequest.spec.js create mode 100644 workflow_tests/resources/getDocuments.json create mode 100644 workflow_tests/resources/test-frToEn.tmx create mode 100644 workflow_tests/resources/translate-frToEn.txt create mode 100644 workflow_tests/testCreateContent.js create mode 100644 workflow_tests/testDataSource.js create mode 100644 workflow_tests/testInstantTranslation.js create mode 100644 workflow_tests/testVerifiedTranslation.js diff --git a/.babelrc b/.babelrc index c73df9d..5029b51 100644 --- a/.babelrc +++ b/.babelrc @@ -28,6 +28,7 @@ ], "@babel/plugin-proposal-nullish-coalescing-operator", "@babel/plugin-proposal-do-expressions", - "@babel/plugin-proposal-function-bind" + "@babel/plugin-proposal-function-bind", + "@babel/plugin-transform-runtime" ] } diff --git a/.github/workflows/nodeapp.yml b/.github/workflows/nodeapp.yml new file mode 100644 index 0000000..f3ffbd8 --- /dev/null +++ b/.github/workflows/nodeapp.yml @@ -0,0 +1,34 @@ +name: Mocha Tests +env: + API_HOST: ${{ vars.API_HOST }} + API_KEY: ${{ secrets.API_KEY }} + +on: + push: + branches: [ master, openapi-bindings ] + pull_request: + branches: [ master, openapi-bindings ] + +jobs: + build: + runs-on: gcp-runner + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: 🔨 Setup Node.js + uses: actions/setup-node@v2 + with: + always-auth: true + node-version: '20.10.0' + registry-url: https://npm.pkg.github.com + scope: '@lilt' + + - name: Install dependencies + run: npm ci + + - name: Run build + run: npm run build --if-present + + - name: Run Mocha tests + run: npm test diff --git a/.github/workflows/openapi.yml b/.github/workflows/openapi.yml index 4eb2e39..5f0bbb2 100644 --- a/.github/workflows/openapi.yml +++ b/.github/workflows/openapi.yml @@ -27,6 +27,7 @@ jobs: -p projectName=lilt-node -p packageVersion=${{ github.event.client_payload.version }} -p usePromises=true + -p licenseName="SEE LICENSE IN LICENSE.md" --git-user-id lilt --git-repo-id lilt-node --skip-validate-spec @@ -34,6 +35,7 @@ jobs: - name: Create Pull Request uses: peter-evans/create-pull-request@v6.1.0 with: + token: ${{ secrets.GHA_REPO_DISPATCH_TOKEN }} commit-message: Regenerates API Bindings title: "OpenAPI: Regenerates API Bindings" body: | diff --git a/.gitignore b/.gitignore index b0a5c34..6c6badc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /node_modules/ /dist/ +.env diff --git a/README.md b/README.md index 265f1db..2537f94 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ Our services have a general quota of 4000 requests per minute. Should you hit th This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: v3.0 -- Package version: 0.6.3 +- API version: 3.0.0 +- Package version: 3.0.0 - Build package: org.openapitools.codegen.languages.JavascriptClientCodegen ## Installation @@ -171,7 +171,7 @@ Class | Method | HTTP request | Description *LiltNode.JobsApi* | [**createJob**](docs/JobsApi.md#createJob) | **POST** /v2/jobs | Create a Job *LiltNode.JobsApi* | [**deleteJob**](docs/JobsApi.md#deleteJob) | **DELETE** /v2/jobs/{jobId} | Delete a Job *LiltNode.JobsApi* | [**deliverJob**](docs/JobsApi.md#deliverJob) | **POST** /v2/jobs/{jobId}/deliver | Deliver a Job -*LiltNode.JobsApi* | [**downloadJob**](docs/JobsApi.md#downloadJob) | **GET** /v2/jobs/{jobId}/downlod | Download a Job +*LiltNode.JobsApi* | [**downloadJob**](docs/JobsApi.md#downloadJob) | **GET** /v2/jobs/{jobId}/download | Download a Job *LiltNode.JobsApi* | [**exportJob**](docs/JobsApi.md#exportJob) | **GET** /v2/jobs/{jobId}/export | Export a Job *LiltNode.JobsApi* | [**getJob**](docs/JobsApi.md#getJob) | **GET** /v2/jobs/{jobId} | Retrieve a Job *LiltNode.JobsApi* | [**getJobLeverageStats**](docs/JobsApi.md#getJobLeverageStats) | **POST** /v2/jobs/{jobId}/stats | Retrieve Job Leverage Stats @@ -222,6 +222,7 @@ Class | Method | HTTP request | Description - [LiltNode.LanguagesResponse](docs/LanguagesResponse.md) - [LiltNode.LiltCreateContent](docs/LiltCreateContent.md) - [LiltNode.LiltCreateContentPreferences](docs/LiltCreateContentPreferences.md) + - [LiltNode.LiltCreateContentRequest](docs/LiltCreateContentRequest.md) - [LiltNode.LiltCreateContentTemplateParams](docs/LiltCreateContentTemplateParams.md) - [LiltNode.Memory](docs/Memory.md) - [LiltNode.MemoryCreateParameters](docs/MemoryCreateParameters.md) diff --git a/docs/CreateApi.md b/docs/CreateApi.md index 620cc8e..b98cb8a 100644 --- a/docs/CreateApi.md +++ b/docs/CreateApi.md @@ -67,7 +67,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## generateLiltCreateContent @@ -94,7 +94,7 @@ BasicAuth.username = 'YOUR USERNAME'; BasicAuth.password = 'YOUR PASSWORD'; let apiInstance = new LiltNode.CreateApi(); -let templateParams = new LiltNode.LiltCreateContent(); // LiltCreateContent | Input parameters that determine what content will be generated. +let templateParams = new LiltNode.LiltCreateContentRequest(); // LiltCreateContentRequest | Input parameters that determine what content will be generated. apiInstance.generateLiltCreateContent(templateParams).then(() => { console.log('API called successfully.'); }, (error) => { @@ -108,7 +108,7 @@ apiInstance.generateLiltCreateContent(templateParams).then(() => { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **templateParams** | [**LiltCreateContent**](LiltCreateContent.md)| Input parameters that determine what content will be generated. | + **templateParams** | [**LiltCreateContentRequest**](LiltCreateContentRequest.md)| Input parameters that determine what content will be generated. | ### Return type @@ -121,7 +121,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: application/json -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json ## getLiltCreateById @@ -175,7 +175,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## getLiltCreateContent @@ -225,7 +225,7 @@ This endpoint does not need any parameter. ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## getLiltCreatePreferences @@ -275,7 +275,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json ## regenerateLiltCreateContent @@ -329,7 +329,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json ## signLiltCreateTerms @@ -383,7 +383,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## updateLiltCreateContent @@ -441,7 +441,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## updateLiltCreatePreferences @@ -497,5 +497,5 @@ null (empty response body) ### HTTP request headers - **Content-Type**: application/json -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json diff --git a/docs/DocumentsApi.md b/docs/DocumentsApi.md index 6b05680..f96ce0c 100644 --- a/docs/DocumentsApi.md +++ b/docs/DocumentsApi.md @@ -64,7 +64,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, text/plain, ## uploadDocument @@ -134,5 +134,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/octet-stream -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/Error.md b/docs/Error.md index a52b9b2..d1f719f 100644 --- a/docs/Error.md +++ b/docs/Error.md @@ -4,6 +4,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**message** | [**Object**](.md) | A human-readable message describing the error. | [optional] +**message** | **String** | A human-readable message describing the error. | [optional] diff --git a/docs/FilesApi.md b/docs/FilesApi.md index 65104a3..08c252c 100644 --- a/docs/FilesApi.md +++ b/docs/FilesApi.md @@ -66,7 +66,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: application/json -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json ## deleteFile @@ -120,7 +120,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## download @@ -174,7 +174,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, text/plain, application/json ## getFiles @@ -232,7 +232,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## removeLabel @@ -288,7 +288,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: Not defined +- **Accept**: application/octet-stream, text/plain, application/json ## uploadFile @@ -356,5 +356,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/octet-stream -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/JobsApi.md b/docs/JobsApi.md index 4f92189..f5efe7b 100644 --- a/docs/JobsApi.md +++ b/docs/JobsApi.md @@ -8,7 +8,7 @@ Method | HTTP request | Description [**createJob**](JobsApi.md#createJob) | **POST** /v2/jobs | Create a Job [**deleteJob**](JobsApi.md#deleteJob) | **DELETE** /v2/jobs/{jobId} | Delete a Job [**deliverJob**](JobsApi.md#deliverJob) | **POST** /v2/jobs/{jobId}/deliver | Deliver a Job -[**downloadJob**](JobsApi.md#downloadJob) | **GET** /v2/jobs/{jobId}/downlod | Download a Job +[**downloadJob**](JobsApi.md#downloadJob) | **GET** /v2/jobs/{jobId}/download | Download a Job [**exportJob**](JobsApi.md#exportJob) | **GET** /v2/jobs/{jobId}/export | Export a Job [**getJob**](JobsApi.md#getJob) | **GET** /v2/jobs/{jobId} | Retrieve a Job [**getJobLeverageStats**](JobsApi.md#getJobLeverageStats) | **POST** /v2/jobs/{jobId}/stats | Retrieve Job Leverage Stats @@ -70,7 +70,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## createJob @@ -124,7 +124,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## deleteJob @@ -178,7 +178,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## deliverJob @@ -232,12 +232,12 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## downloadJob -> downloadJob(jobId) +> Blob downloadJob(jobId) Download a Job @@ -260,8 +260,8 @@ BasicAuth.password = 'YOUR PASSWORD'; let apiInstance = new LiltNode.JobsApi(); let jobId = 56; // Number | A job id. -apiInstance.downloadJob(jobId).then(() => { - console.log('API called successfully.'); +apiInstance.downloadJob(jobId).then((data) => { + console.log('API called successfully. Returned data: ' + data); }, (error) => { console.error(error); }); @@ -277,7 +277,7 @@ Name | Type | Description | Notes ### Return type -null (empty response body) +**Blob** ### Authorization @@ -286,7 +286,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/octet-stream, text/plain, application/json ## exportJob @@ -342,7 +342,7 @@ null (empty response body) ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/octet-stream, text/plain, application/json ## getJob @@ -396,7 +396,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## getJobLeverageStats @@ -450,7 +450,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## reactivateJob @@ -504,7 +504,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## retrieveAllJobs @@ -566,7 +566,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## unarchiveJob @@ -620,7 +620,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## updateJob @@ -678,5 +678,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/LanguagesApi.md b/docs/LanguagesApi.md index 0963235..5407c82 100644 --- a/docs/LanguagesApi.md +++ b/docs/LanguagesApi.md @@ -55,5 +55,5 @@ This endpoint does not need any parameter. ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/LiltCreateContent.md b/docs/LiltCreateContent.md index 84b5da0..cf95507 100644 --- a/docs/LiltCreateContent.md +++ b/docs/LiltCreateContent.md @@ -4,6 +4,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**name** | **String** | A name for the request content. | [optional] +**id** | **Number** | A unique identifier for the generated content. | [optional] **language** | **String** | The language of the content. | **template** | **String** | The template of the content. | **templateParams** | [**LiltCreateContentTemplateParams**](LiltCreateContentTemplateParams.md) | | diff --git a/docs/LiltCreateContentRequest.md b/docs/LiltCreateContentRequest.md new file mode 100644 index 0000000..c6f0608 --- /dev/null +++ b/docs/LiltCreateContentRequest.md @@ -0,0 +1,13 @@ +# LiltNode.LiltCreateContentRequest + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **String** | A name for the request content. | [optional] +**language** | **String** | The language of the content. | +**template** | **String** | The template of the content. | +**templateParams** | [**LiltCreateContentTemplateParams**](LiltCreateContentTemplateParams.md) | | +**preferences** | [**LiltCreateContentPreferences**](LiltCreateContentPreferences.md) | | [optional] + + diff --git a/docs/MemoriesApi.md b/docs/MemoriesApi.md index 237bde1..4e3a593 100644 --- a/docs/MemoriesApi.md +++ b/docs/MemoriesApi.md @@ -67,7 +67,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## deleteMemory @@ -121,7 +121,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## deleteSegmentFromMemory @@ -177,7 +177,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## downloadTermbase @@ -231,7 +231,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## exportTermbase @@ -285,7 +285,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## getMemory @@ -341,7 +341,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## importMemoryFile @@ -407,7 +407,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/octet-stream -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## queryMemory @@ -416,7 +416,7 @@ Name | Type | Description | Notes Query a Memory -Perform a translation memory query. +Perform a translation memory query. ### Example @@ -467,7 +467,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## updateMemory @@ -521,5 +521,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/ProjectsApi.md b/docs/ProjectsApi.md index 859d859..ae82578 100644 --- a/docs/ProjectsApi.md +++ b/docs/ProjectsApi.md @@ -61,7 +61,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## deleteProject @@ -117,7 +117,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## getProjects @@ -187,5 +187,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/TranslateApi.md b/docs/TranslateApi.md index 0350671..1be8544 100644 --- a/docs/TranslateApi.md +++ b/docs/TranslateApi.md @@ -70,7 +70,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## downloadFile @@ -124,7 +124,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, text/plain, application/json ## monitorFileTranslation @@ -186,7 +186,7 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain ## translateSegmentPost @@ -242,5 +242,5 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/docs/WorkflowsApi.md b/docs/WorkflowsApi.md index fe5d3e4..a04567e 100644 --- a/docs/WorkflowsApi.md +++ b/docs/WorkflowsApi.md @@ -55,5 +55,5 @@ This endpoint does not need any parameter. ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream, text/plain diff --git a/package-lock.json b/package-lock.json index 9c35475..fcb1fc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,17 @@ { "name": "lilt-node", - "version": "0.6.3", + "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "lilt-node", - "version": "0.6.3", - "license": "Unlicense", + "version": "3.0.0", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@babel/cli": "^7.0.0", + "adm-zip": "^0.5.16", + "dotenv": "^16.4.5", "superagent": "3.7.0" }, "devDependencies": { @@ -30,10 +32,11 @@ "@babel/plugin-proposal-throw-expressions": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.25.4", "@babel/preset-env": "^7.0.0", "@babel/register": "^7.0.0", "expect.js": "^0.3.1", - "mocha": "^5.2.0", + "mocha": "^10.7.3", "sinon": "^7.2.0" } }, @@ -63,22 +66,27 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.8.3" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.0.tgz", - "integrity": "sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "dev": true, - "dependencies": { - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/core": { @@ -126,14 +134,19 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.9.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { @@ -156,19 +169,30 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { @@ -213,6 +237,48 @@ "lodash": "^4.17.13" } }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", @@ -227,6 +293,7 @@ "version": "7.9.5", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", + "dev": true, "dependencies": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -237,6 +304,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, "dependencies": { "@babel/types": "^7.8.3" } @@ -259,11 +327,16 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.8.3" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { @@ -289,10 +362,14 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-regex": { "version": "7.8.3", @@ -344,10 +421,33 @@ "@babel/types": "^7.8.3" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-wrap-function": { "version": "7.8.3", @@ -371,20 +471,14 @@ "@babel/types": "^7.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, "node_modules/@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -1198,6 +1292,37 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", @@ -1386,53 +1511,119 @@ } }, "node_modules/@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@sinonjs/commons": { @@ -1471,15 +1662,49 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { @@ -1504,6 +1729,13 @@ "node": ">=0.10.0" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -1587,6 +1819,58 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -1727,22 +2011,36 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz", - "integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==", - "dev": true, + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001038", - "electron-to-chromium": "^1.3.390", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/buffer-from": { @@ -1771,24 +2069,79 @@ "node": ">=0.10.0" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001042", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001042.tgz", - "integrity": "sha512-igMQ4dlqnf4tWv0xjaaE02op9AJ2oQzXKjWf4EuAHFN694Uo9/EfPVIPJcmn2WkU9RqozCxx5e2KPcVClHDbDw==", - "dev": true + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" - } + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/chokidar": { "version": "2.1.8", @@ -1840,6 +2193,18 @@ "node": ">=0.10.0" } }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1854,17 +2219,24 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -1924,28 +2296,19 @@ } }, "node_modules/core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.8.5", - "semver": "7.0.0" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -1960,6 +2323,19 @@ "ms": "2.0.0" } }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -2049,18 +2425,53 @@ "node": ">=0.3.1" } }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/electron-to-chromium": { - "version": "1.3.412", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.412.tgz", - "integrity": "sha512-4bVdSeJScR8fT7ERveLWbxemY5uXEHVseqMRyORosiKcTUSGtVwBkV8uLjXCqoFLeImA57Z9hbz3TOid01U4Hw==", - "dev": true + "version": "1.5.60", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.60.tgz", + "integrity": "sha512-HcraRUkTKJ+8yA3b10i9qvhUlPBRDlKjn1XGek1zDGVfAKcvi8TsUnImGqLiEm9j6ZulxXIWWIo9BmbkbCTGgA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/esutils": { @@ -2279,15 +2690,40 @@ } }, "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, "node_modules/for-in": { @@ -3001,6 +3437,16 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -3065,19 +3511,11 @@ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "optional": true }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "engines": { - "node": ">=4.x" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, "engines": { "node": ">=4" } @@ -3134,10 +3572,11 @@ } }, "node_modules/he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } @@ -3267,16 +3706,26 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "optional": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "optional": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3308,6 +3757,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -3320,6 +3779,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -3348,15 +3820,29 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json5": { @@ -3410,16 +3896,19 @@ } }, "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -3427,6 +3916,30 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lolex": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", @@ -3445,6 +3958,16 @@ "loose-envify": "cli.js" } }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -3581,100 +4104,307 @@ "node": ">=0.10.0" } }, - "node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, + "license": "MIT", "dependencies": { - "minimist": "0.0.8" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { - "mkdirp": "bin/cmd.js" + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" } }, - "node_modules/mkdirp/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "node_modules/mocha/node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "dependencies": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "node_modules/mocha/node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" } }, - "node_modules/mocha/node_modules/commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true + "node_modules/mocha/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } }, "node_modules/mocha/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/mocha/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, "node_modules/mocha/node_modules/supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "devOptional": true + "optional": true }, "node_modules/nan": { "version": "2.14.0", @@ -3736,16 +4466,17 @@ } }, "node_modules/node-releases": { - "version": "1.1.53", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", - "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "optional": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -3845,36 +4576,35 @@ } }, "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "dependencies": { - "p-limit": "^1.1.0" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pascalcase": { @@ -3929,6 +4659,25 @@ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -4022,18 +4771,6 @@ "node": ">=6" } }, - "node_modules/pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "dependencies": { - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -4068,6 +4805,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -4211,6 +4958,16 @@ "node": ">=0.10" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", @@ -4260,6 +5017,16 @@ "semver": "bin/semver" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -4534,6 +5301,47 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/superagent": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.7.0.tgz", @@ -4573,6 +5381,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -4580,14 +5389,6 @@ "node": ">=4" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -4762,6 +5563,37 @@ "yarn": "*" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -4783,10 +5615,110 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -4807,23 +5739,20 @@ } }, "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "requires": { - "@babel/highlight": "^7.8.3" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.0.tgz", - "integrity": "sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g==", - "dev": true, - "requires": { - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "dev": true }, "@babel/core": { "version": "7.9.0", @@ -4864,14 +5793,15 @@ } }, "@babel/generator": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", - "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "requires": { - "@babel/types": "^7.9.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" } }, "@babel/helper-annotate-as-pure": { @@ -4894,16 +5824,24 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } } }, "@babel/helper-create-class-features-plugin": { @@ -4942,6 +5880,36 @@ "lodash": "^4.17.13" } }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, "@babel/helper-explode-assignable-expression": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", @@ -4956,6 +5924,7 @@ "version": "7.9.5", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", + "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", "@babel/template": "^7.8.3", @@ -4966,6 +5935,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, "requires": { "@babel/types": "^7.8.3" } @@ -4988,11 +5958,12 @@ } }, "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "requires": { - "@babel/types": "^7.8.3" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helper-module-transforms": { @@ -5018,9 +5989,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true }, "@babel/helper-regex": { @@ -5073,10 +6044,21 @@ "@babel/types": "^7.8.3" } }, + "@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" + }, "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" + }, + "@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true }, "@babel/helper-wrap-function": { "version": "7.8.3", @@ -5100,21 +6082,14 @@ "@babel/types": "^7.9.0" } }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/types": "^7.26.0" } }, - "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", - "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==" - }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", @@ -5729,6 +6704,28 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, "@babel/plugin-transform-shorthand-properties": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", @@ -5890,54 +6887,85 @@ } }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/traverse": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", - "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.5", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "requires": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "ms": "^2.1.1" + "ms": "^2.1.3" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "@babel/types": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", - "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@sinonjs/commons": { @@ -5976,12 +7004,30 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, + "adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==" + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "anymatch": { @@ -6005,6 +7051,12 @@ } } }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -6052,19 +7104,57 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "optional": true + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "optional": true + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dev": true, "requires": { - "object.assign": "^4.1.0" + "@babel/helper-define-polyfill-provider": "^0.6.3" } }, "balanced-match": { @@ -6187,15 +7277,15 @@ "dev": true }, "browserslist": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.11.1.tgz", - "integrity": "sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001038", - "electron-to-chromium": "^1.3.390", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" } }, "buffer-from": { @@ -6221,20 +7311,43 @@ "unset-value": "^1.0.0" } }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, "caniuse-lite": { - "version": "1.0.30001042", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001042.tgz", - "integrity": "sha512-igMQ4dlqnf4tWv0xjaaE02op9AJ2oQzXKjWf4EuAHFN694Uo9/EfPVIPJcmn2WkU9RqozCxx5e2KPcVClHDbDw==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "dev": true }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "chokidar": { @@ -6280,6 +7393,17 @@ } } }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -6291,17 +7415,19 @@ } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "combined-stream": { "version": "1.0.8", @@ -6352,21 +7478,12 @@ "optional": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", "dev": true, "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.24.2" } }, "core-util-is": { @@ -6383,6 +7500,12 @@ "ms": "2.0.0" } }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -6450,16 +7573,34 @@ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, + "dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" + }, "electron-to-chromium": { - "version": "1.3.412", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.412.tgz", - "integrity": "sha512-4bVdSeJScR8fT7ERveLWbxemY5uXEHVseqMRyORosiKcTUSGtVwBkV8uLjXCqoFLeImA57Z9hbz3TOid01U4Hw==", + "version": "1.5.60", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.60.tgz", + "integrity": "sha512-HcraRUkTKJ+8yA3b10i9qvhUlPBRDlKjn1XGek1zDGVfAKcvi8TsUnImGqLiEm9j6ZulxXIWWIo9BmbkbCTGgA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true }, "esutils": { "version": "2.0.3", @@ -6640,14 +7781,29 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -7183,6 +8339,12 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -7234,16 +8396,11 @@ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "optional": true }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.1", @@ -7284,9 +8441,9 @@ } }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, "inflight": { @@ -7396,13 +8553,19 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "optional": true + "devOptional": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "optional": true, + "devOptional": true, "requires": { "is-extglob": "^2.1.1" } @@ -7427,6 +8590,12 @@ } } }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -7436,6 +8605,12 @@ "isobject": "^3.0.1" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -7458,10 +8633,19 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==" }, "json5": { "version": "2.1.3", @@ -7499,13 +8683,12 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -7513,6 +8696,22 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, "lolex": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.2.0.tgz", @@ -7528,6 +8727,15 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -7630,78 +8838,198 @@ } } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { - "ms": "2.0.0" + "to-regex-range": "^5.0.1" } }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "is-number": "^7.0.0" } } } @@ -7710,7 +9038,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "devOptional": true + "optional": true }, "nan": { "version": "2.14.0", @@ -7768,16 +9096,16 @@ "dev": true }, "node-releases": { - "version": "1.1.53", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", - "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "optional": true + "devOptional": true }, "object-copy": { "version": "0.1.0", @@ -7855,29 +9183,23 @@ } }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^3.0.2" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -7923,6 +9245,17 @@ } } }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -7991,15 +9324,6 @@ } } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -8022,6 +9346,15 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==" }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -8143,6 +9476,12 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "optional": true }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, "resolve": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", @@ -8182,6 +9521,15 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -8412,6 +9760,32 @@ "safe-buffer": "~5.1.0" } }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "superagent": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.7.0.tgz", @@ -8448,15 +9822,11 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -8591,6 +9961,16 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "optional": true }, + "update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -8608,10 +9988,78 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 38dd29b..28c79b7 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,25 @@ { "name": "lilt-node", - "version": "0.6.5", + "version": "3.0.0", "repository": { "type": "git", "url": "git+https://github.com/lilt/lilt-node.git" }, "description": "The_Lilt_REST_API_enables_programmatic_access_to_the_full_range_of_Lilt_backend_services_including___Training_of_and_translating_with_interactive_adaptive_machine_translation___Large_scale_translation_memory___The_Lexicon__a_large_scale_termbase___Programmatic_control_of_the_Lilt_CAT_environment___Translation_memory_synchronizationRequests_and_responses_are_in_JSON_format__The_REST_API_only_responds_to_HTTPS___SSL_requests__AuthenticationRequests_are_authenticated_via_REST_API_key_which_requires_the_Business_plan_Requests_are_authenticated_using__HTTP_Basic_Auth_https__en_wikipedia_org_wiki_Basic_access_authentication__Add_your_REST_API_key_as_both_the_username_and_password_For_development_you_may_also_pass_the_REST_API_key_via_the_key_query_parameter__This_is_less_secure_than_HTTP_Basic_Auth_and_is_not_recommended_for_production_use__QuotasOur_services_have_a_general_quota_of_4000_requests_per_minute__Should_you_hit_the_maximum_requests_per_minute_you_will_need_to_wait_60_seconds_before_you_can_send_another_request_", - "license": "Unlicense", + "license": "SEE LICENSE IN LICENSE.md", "main": "dist/index.js", "scripts": { "build": "babel src -d dist", "prepack": "npm run build", - "test": "mocha --require @babel/register --recursive" + "test": "mocha ./workflow_tests --require @babel/register --recursive --timeout 120000" }, "browser": { "fs": false }, "dependencies": { "@babel/cli": "^7.0.0", + "adm-zip": "^0.5.16", + "dotenv": "^16.4.5", "superagent": "3.7.0" }, "devDependencies": { @@ -38,10 +40,11 @@ "@babel/plugin-proposal-throw-expressions": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.25.4", "@babel/preset-env": "^7.0.0", "@babel/register": "^7.0.0", "expect.js": "^0.3.1", - "mocha": "^5.2.0", + "mocha": "^10.7.3", "sinon": "^7.2.0" }, "files": [ diff --git a/src/ApiClient.js b/src/ApiClient.js index 48c6516..5dd200b 100644 --- a/src/ApiClient.js +++ b/src/ApiClient.js @@ -17,7 +17,7 @@ import querystring from "querystring"; /** * @module ApiClient -* @version 0.6.3 +* @version 3.0.0 */ /** diff --git a/src/api/CreateApi.js b/src/api/CreateApi.js index 529e6c0..d3bdc37 100644 --- a/src/api/CreateApi.js +++ b/src/api/CreateApi.js @@ -14,15 +14,17 @@ import ApiClient from "../ApiClient"; import CreateConverterConfigParameters from '../model/CreateConverterConfigParameters'; +import Error from '../model/Error'; import GetLiltCreateContentResponse from '../model/GetLiltCreateContentResponse'; import InlineResponse200 from '../model/InlineResponse200'; import LiltCreateContent from '../model/LiltCreateContent'; +import LiltCreateContentRequest from '../model/LiltCreateContentRequest'; import SignLiltCreateTermsResponse from '../model/SignLiltCreateTermsResponse'; /** * Create service. * @module api/CreateApi -* @version 0.6.3 +* @version 3.0.0 */ export default class CreateApi { @@ -64,7 +66,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = InlineResponse200; return this.apiClient.callApi( '/v2/create/{contentId}', 'DELETE', @@ -90,7 +92,7 @@ export default class CreateApi { /** * Generate new Lilt Create content * Generate new Lilt Create content with the given parameters. Example CURL: ```bash curl -X POST 'https://api.lilt.com/v2/create?key=API_KEY' \\ --header 'Content-Type: application/json' \\ --data-raw '{ \"language\":\"en-US\", \"template\":\"blog-post\", \"templateParams\":{ \"contentLength\":\"100\", \"language\":\"en-US\", \"sections\":[], \"summary\":\"a blog post about hiking\" }, \"preferences\":{\"tone\":\"formal\",\"styleguide\":\"\"} }' ``` - * @param {module:model/LiltCreateContent} templateParams Input parameters that determine what content will be generated. + * @param {module:model/LiltCreateContentRequest} templateParams Input parameters that determine what content will be generated. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response */ generateLiltCreateContentWithHttpInfo(templateParams) { @@ -111,7 +113,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/create', 'POST', @@ -123,7 +125,7 @@ export default class CreateApi { /** * Generate new Lilt Create content * Generate new Lilt Create content with the given parameters. Example CURL: ```bash curl -X POST 'https://api.lilt.com/v2/create?key=API_KEY' \\ --header 'Content-Type: application/json' \\ --data-raw '{ \"language\":\"en-US\", \"template\":\"blog-post\", \"templateParams\":{ \"contentLength\":\"100\", \"language\":\"en-US\", \"sections\":[], \"summary\":\"a blog post about hiking\" }, \"preferences\":{\"tone\":\"formal\",\"styleguide\":\"\"} }' ``` - * @param {module:model/LiltCreateContent} templateParams Input parameters that determine what content will be generated. + * @param {module:model/LiltCreateContentRequest} templateParams Input parameters that determine what content will be generated. * @return {Promise} a {@link https://www.promisejs.org/|Promise} */ generateLiltCreateContent(templateParams) { @@ -159,7 +161,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = LiltCreateContent; return this.apiClient.callApi( '/v2/create/{contentId}', 'GET', @@ -201,7 +203,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = GetLiltCreateContentResponse; return this.apiClient.callApi( '/v2/create', 'GET', @@ -242,7 +244,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/create/preferences', 'GET', @@ -289,7 +291,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/create/{contentId}/create', 'GET', @@ -336,7 +338,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = SignLiltCreateTermsResponse; return this.apiClient.callApi( '/v2/create/terms-and-conditions', 'POST', @@ -387,7 +389,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = LiltCreateContent; return this.apiClient.callApi( '/v2/create/{contentId}', 'PUT', @@ -434,7 +436,7 @@ export default class CreateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/create/preferences', 'PUT', diff --git a/src/api/DocumentsApi.js b/src/api/DocumentsApi.js index deb2cea..4603b63 100644 --- a/src/api/DocumentsApi.js +++ b/src/api/DocumentsApi.js @@ -19,7 +19,7 @@ import Error from '../model/Error'; /** * Documents service. * @module api/DocumentsApi -* @version 0.6.3 +* @version 3.0.0 */ export default class DocumentsApi { @@ -65,7 +65,7 @@ export default class DocumentsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/octet-stream']; + let accepts = ['application/octet-stream', 'text/plain', ]; let returnType = 'Blob'; return this.apiClient.callApi( '/v2/documents/files', 'GET', @@ -138,7 +138,7 @@ export default class DocumentsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/octet-stream']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = DocumentWithSegments; return this.apiClient.callApi( '/v2/documents/files', 'POST', diff --git a/src/api/FilesApi.js b/src/api/FilesApi.js index a7b2a46..403ab36 100644 --- a/src/api/FilesApi.js +++ b/src/api/FilesApi.js @@ -21,7 +21,7 @@ import SourceFile from '../model/SourceFile'; /** * Files service. * @module api/FilesApi -* @version 0.6.3 +* @version 3.0.0 */ export default class FilesApi { @@ -68,7 +68,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/files/labels', 'POST', @@ -117,7 +117,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = FileDeleteResponse; return this.apiClient.callApi( '/v2/files', 'DELETE', @@ -165,7 +165,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/octet-stream']; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = 'Blob'; return this.apiClient.callApi( '/v2/files/download', 'GET', @@ -213,7 +213,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [SourceFile]; return this.apiClient.callApi( '/v2/files', 'GET', @@ -269,7 +269,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = []; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/files/labels', 'DELETE', @@ -335,7 +335,7 @@ export default class FilesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/octet-stream']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = SourceFile; return this.apiClient.callApi( '/v2/files', 'POST', diff --git a/src/api/JobsApi.js b/src/api/JobsApi.js index d7c573e..2dbd6d4 100644 --- a/src/api/JobsApi.js +++ b/src/api/JobsApi.js @@ -23,7 +23,7 @@ import JobUpdateParameters from '../model/JobUpdateParameters'; /** * Jobs service. * @module api/JobsApi -* @version 0.6.3 +* @version 3.0.0 */ export default class JobsApi { @@ -65,7 +65,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}/archive', 'POST', @@ -112,7 +112,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs', 'POST', @@ -160,7 +160,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = JobDeleteResponse; return this.apiClient.callApi( '/v2/jobs/{jobId}', 'DELETE', @@ -208,7 +208,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}/deliver', 'POST', @@ -235,7 +235,7 @@ export default class JobsApi { * Download a Job * Make sure you have exported a job with the same id before using this api. Downloading files requires the exported job `id` in the param. Example CURL command: ```bash curl -X GET 'https://api.lilt.com/v2/jobs/{id}/download?key=API_KEY' ``` * @param {Number} jobId A job id. - * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response + * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link Blob} and HTTP response */ downloadJobWithHttpInfo(jobId) { let postBody = null; @@ -256,10 +256,10 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; - let returnType = null; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; + let returnType = 'Blob'; return this.apiClient.callApi( - '/v2/jobs/{jobId}/downlod', 'GET', + '/v2/jobs/{jobId}/download', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, null ); @@ -269,7 +269,7 @@ export default class JobsApi { * Download a Job * Make sure you have exported a job with the same id before using this api. Downloading files requires the exported job `id` in the param. Example CURL command: ```bash curl -X GET 'https://api.lilt.com/v2/jobs/{id}/download?key=API_KEY' ``` * @param {Number} jobId A job id. - * @return {Promise} a {@link https://www.promisejs.org/|Promise} + * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link Blob} */ downloadJob(jobId) { return this.downloadJobWithHttpInfo(jobId) @@ -310,7 +310,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = null; return this.apiClient.callApi( '/v2/jobs/{jobId}/export', 'GET', @@ -359,7 +359,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}', 'GET', @@ -407,7 +407,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = JobLeverageStats; return this.apiClient.callApi( '/v2/jobs/{jobId}/stats', 'POST', @@ -455,7 +455,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}/reactivate', 'POST', @@ -507,7 +507,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [Job]; return this.apiClient.callApi( '/v2/jobs', 'GET', @@ -559,7 +559,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}/unarchive', 'POST', @@ -610,7 +610,7 @@ export default class JobsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Job; return this.apiClient.callApi( '/v2/jobs/{jobId}', 'PUT', diff --git a/src/api/LanguagesApi.js b/src/api/LanguagesApi.js index 98ba11e..a62671f 100644 --- a/src/api/LanguagesApi.js +++ b/src/api/LanguagesApi.js @@ -19,7 +19,7 @@ import LanguagesResponse from '../model/LanguagesResponse'; /** * Languages service. * @module api/LanguagesApi -* @version 0.6.3 +* @version 3.0.0 */ export default class LanguagesApi { @@ -55,7 +55,7 @@ export default class LanguagesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = LanguagesResponse; return this.apiClient.callApi( '/v2/languages', 'GET', diff --git a/src/api/MemoriesApi.js b/src/api/MemoriesApi.js index 14f9fad..c9b40b8 100644 --- a/src/api/MemoriesApi.js +++ b/src/api/MemoriesApi.js @@ -27,7 +27,7 @@ import TranslationMemoryEntry from '../model/TranslationMemoryEntry'; /** * Memories service. * @module api/MemoriesApi -* @version 0.6.3 +* @version 3.0.0 */ export default class MemoriesApi { @@ -68,7 +68,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Memory; return this.apiClient.callApi( '/v2/memories', 'POST', @@ -116,7 +116,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = MemoryDeleteResponse; return this.apiClient.callApi( '/v2/memories', 'DELETE', @@ -170,7 +170,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = DeleteSegmentFromMemoryResponse; return this.apiClient.callApi( '/v2/memories/segment', 'DELETE', @@ -219,7 +219,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = 'Blob'; return this.apiClient.callApi( '/v2/memories/termbase/download', 'GET', @@ -267,7 +267,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = TermbaseExportResponse; return this.apiClient.callApi( '/v2/memories/termbase/export', 'POST', @@ -313,7 +313,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [Memory]; return this.apiClient.callApi( '/v2/memories', 'GET', @@ -381,7 +381,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/octet-stream']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = MemoryImportResponse; return this.apiClient.callApi( '/v2/memories/import', 'POST', @@ -412,7 +412,7 @@ export default class MemoriesApi { /** * Query a Memory - * Perform a translation memory query. + * Perform a translation memory query. * @param {Number} id A unique Memory identifier. * @param {String} query A source query. * @param {Object} opts Optional parameters @@ -445,7 +445,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [TranslationMemoryEntry]; return this.apiClient.callApi( '/v2/memories/query', 'GET', @@ -456,7 +456,7 @@ export default class MemoriesApi { /** * Query a Memory - * Perform a translation memory query. + * Perform a translation memory query. * @param {Number} id A unique Memory identifier. * @param {String} query A source query. * @param {Object} opts Optional parameters @@ -495,7 +495,7 @@ export default class MemoriesApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Memory; return this.apiClient.callApi( '/v2/memories', 'PUT', diff --git a/src/api/ProjectsApi.js b/src/api/ProjectsApi.js index 956bbcb..1e46ce4 100644 --- a/src/api/ProjectsApi.js +++ b/src/api/ProjectsApi.js @@ -21,7 +21,7 @@ import ProjectDeleteResponse from '../model/ProjectDeleteResponse'; /** * Projects service. * @module api/ProjectsApi -* @version 0.6.3 +* @version 3.0.0 */ export default class ProjectsApi { @@ -62,7 +62,7 @@ export default class ProjectsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = Project; return this.apiClient.callApi( '/v2/projects', 'POST', @@ -108,7 +108,7 @@ export default class ProjectsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = ProjectDeleteResponse; return this.apiClient.callApi( '/v2/projects', 'DELETE', @@ -169,7 +169,7 @@ export default class ProjectsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [Project]; return this.apiClient.callApi( '/v2/projects', 'GET', diff --git a/src/api/TranslateApi.js b/src/api/TranslateApi.js index 313cfd9..8d183dd 100644 --- a/src/api/TranslateApi.js +++ b/src/api/TranslateApi.js @@ -21,7 +21,7 @@ import TranslationList from '../model/TranslationList'; /** * Translate service. * @module api/TranslateApi -* @version 0.6.3 +* @version 3.0.0 */ export default class TranslateApi { @@ -75,7 +75,7 @@ export default class TranslateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [TranslationInfo]; return this.apiClient.callApi( '/v2/translate/file', 'POST', @@ -127,7 +127,7 @@ export default class TranslateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/octet-stream']; + let accepts = ['application/octet-stream', 'text/plain', 'application/json']; let returnType = 'Blob'; return this.apiClient.callApi( '/v2/translate/files', 'GET', @@ -179,7 +179,7 @@ export default class TranslateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [TranslationInfo]; return this.apiClient.callApi( '/v2/translate/file', 'GET', @@ -228,7 +228,7 @@ export default class TranslateApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = ['application/json']; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = TranslationList; return this.apiClient.callApi( '/v2/translate', 'POST', diff --git a/src/api/WorkflowsApi.js b/src/api/WorkflowsApi.js index cdd882b..b571442 100644 --- a/src/api/WorkflowsApi.js +++ b/src/api/WorkflowsApi.js @@ -13,12 +13,13 @@ import ApiClient from "../ApiClient"; +import Error from '../model/Error'; import WorkflowTemplate from '../model/WorkflowTemplate'; /** * Workflows service. * @module api/WorkflowsApi -* @version 0.6.3 +* @version 3.0.0 */ export default class WorkflowsApi { @@ -54,7 +55,7 @@ export default class WorkflowsApi { let authNames = ['ApiKeyAuth', 'BasicAuth']; let contentTypes = []; - let accepts = ['application/json']; + let accepts = ['application/json', 'application/octet-stream', 'text/plain']; let returnType = [WorkflowTemplate]; return this.apiClient.callApi( '/v2/workflows/templates', 'GET', diff --git a/src/index.js b/src/index.js index 6438a0d..0d2738d 100644 --- a/src/index.js +++ b/src/index.js @@ -34,6 +34,7 @@ import LanguagePair from './model/LanguagePair'; import LanguagesResponse from './model/LanguagesResponse'; import LiltCreateContent from './model/LiltCreateContent'; import LiltCreateContentPreferences from './model/LiltCreateContentPreferences'; +import LiltCreateContentRequest from './model/LiltCreateContentRequest'; import LiltCreateContentTemplateParams from './model/LiltCreateContentTemplateParams'; import Memory from './model/Memory'; import MemoryCreateParameters from './model/MemoryCreateParameters'; @@ -69,7 +70,7 @@ import WorkflowsApi from './api/WorkflowsApi'; /** -* Lilt_REST_API_Support_https__lilt_atlassian_net_servicedesk_customer_portals___The_Lilt_REST_API_enables_programmatic_access_to_the_full_range_of_Lilt_backend_services_including___Training_of_and_translating_with_interactive_adaptive_machine_translation___Large_scale_translation_memory___The_Lexicon__a_large_scale_termbase___Programmatic_control_of_the_Lilt_CAT_environment___Translation_memory_synchronizationRequests_and_responses_are_in_JSON_format__The_REST_API_only_responds_to_HTTPS___SSL_requests__The_base_url_for_this_REST_API_is_https__api_lilt_com___AuthenticationRequests_are_authenticated_via_REST_API_key_which_requires_the_Business_plan_Requests_are_authenticated_using__HTTP_Basic_Auth_https__en_wikipedia_org_wiki_Basic_access_authentication__Add_your_REST_API_key_as_both_the_username_and_password_For_development_you_may_also_pass_the_REST_API_key_via_the_key_query_parameter__This_is_less_secure_than_HTTP_Basic_Auth_and_is_not_recommended_for_production_use__QuotasOur_services_have_a_general_quota_of_4000_requests_per_minute__Should_you_hit_the_maximum_requests_per_minute_you_will_need_to_wait_60_seconds_before_you_can_send_another_request_.
+* The_Lilt_REST_API_enables_programmatic_access_to_the_full_range_of_Lilt_backend_services_including___Training_of_and_translating_with_interactive_adaptive_machine_translation___Large_scale_translation_memory___The_Lexicon__a_large_scale_termbase___Programmatic_control_of_the_Lilt_CAT_environment___Translation_memory_synchronizationRequests_and_responses_are_in_JSON_format__The_REST_API_only_responds_to_HTTPS___SSL_requests__The_base_url_for_this_REST_API_is_https__api_lilt_com___AuthenticationRequests_are_authenticated_via_REST_API_key_which_requires_the_Business_plan_Requests_are_authenticated_using__HTTP_Basic_Auth_https__en_wikipedia_org_wiki_Basic_access_authentication__Add_your_REST_API_key_as_both_the_username_and_password_For_development_you_may_also_pass_the_REST_API_key_via_the_key_query_parameter__This_is_less_secure_than_HTTP_Basic_Auth_and_is_not_recommended_for_production_use__QuotasOur_services_have_a_general_quota_of_4000_requests_per_minute__Should_you_hit_the_maximum_requests_per_minute_you_will_need_to_wait_60_seconds_before_you_can_send_another_request_.
* The index module provides access to constructors for all the classes which comprise the public API. *

* An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: @@ -97,7 +98,7 @@ import WorkflowsApi from './api/WorkflowsApi'; * *

* @module index -* @version 0.6.3 +* @version 3.0.0 */ export { /** @@ -232,6 +233,12 @@ export { */ LiltCreateContentPreferences, + /** + * The LiltCreateContentRequest model constructor. + * @property {module:model/LiltCreateContentRequest} + */ + LiltCreateContentRequest, + /** * The LiltCreateContentTemplateParams model constructor. * @property {module:model/LiltCreateContentTemplateParams} diff --git a/src/model/AddFileLabelRequest.js b/src/model/AddFileLabelRequest.js index b67ca26..8183a6f 100644 --- a/src/model/AddFileLabelRequest.js +++ b/src/model/AddFileLabelRequest.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The AddFileLabelRequest model module. * @module model/AddFileLabelRequest - * @version 0.6.3 + * @version 3.0.0 */ class AddFileLabelRequest { /** diff --git a/src/model/CreateConverterConfigParameters.js b/src/model/CreateConverterConfigParameters.js index 0c9c123..da8bb54 100644 --- a/src/model/CreateConverterConfigParameters.js +++ b/src/model/CreateConverterConfigParameters.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The CreateConverterConfigParameters model module. * @module model/CreateConverterConfigParameters - * @version 0.6.3 + * @version 3.0.0 */ class CreateConverterConfigParameters { /** diff --git a/src/model/DeleteSegmentFromMemoryResponse.js b/src/model/DeleteSegmentFromMemoryResponse.js index 68bb8d2..27c9dc4 100644 --- a/src/model/DeleteSegmentFromMemoryResponse.js +++ b/src/model/DeleteSegmentFromMemoryResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The DeleteSegmentFromMemoryResponse model module. * @module model/DeleteSegmentFromMemoryResponse - * @version 0.6.3 + * @version 3.0.0 */ class DeleteSegmentFromMemoryResponse { /** diff --git a/src/model/DocumentWithSegments.js b/src/model/DocumentWithSegments.js index 3d5fc66..dadfdab 100644 --- a/src/model/DocumentWithSegments.js +++ b/src/model/DocumentWithSegments.js @@ -18,7 +18,7 @@ import Segment from './Segment'; /** * The DocumentWithSegments model module. * @module model/DocumentWithSegments - * @version 0.6.3 + * @version 3.0.0 */ class DocumentWithSegments { /** diff --git a/src/model/DocumentWithoutSegments.js b/src/model/DocumentWithoutSegments.js index f9de196..71ca2df 100644 --- a/src/model/DocumentWithoutSegments.js +++ b/src/model/DocumentWithoutSegments.js @@ -17,7 +17,7 @@ import DocumentWithoutSegmentsStatus from './DocumentWithoutSegmentsStatus'; /** * The DocumentWithoutSegments model module. * @module model/DocumentWithoutSegments - * @version 0.6.3 + * @version 3.0.0 */ class DocumentWithoutSegments { /** diff --git a/src/model/DocumentWithoutSegmentsStatus.js b/src/model/DocumentWithoutSegmentsStatus.js index 75a6edc..056110a 100644 --- a/src/model/DocumentWithoutSegmentsStatus.js +++ b/src/model/DocumentWithoutSegmentsStatus.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The DocumentWithoutSegmentsStatus model module. * @module model/DocumentWithoutSegmentsStatus - * @version 0.6.3 + * @version 3.0.0 */ class DocumentWithoutSegmentsStatus { /** diff --git a/src/model/Error.js b/src/model/Error.js index 924e564..462e764 100644 --- a/src/model/Error.js +++ b/src/model/Error.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The Error model module. * @module model/Error - * @version 0.6.3 + * @version 3.0.0 */ class Error { /** @@ -49,7 +49,7 @@ class Error { obj = obj || new Error(); if (data.hasOwnProperty('message')) { - obj['message'] = ApiClient.convertToType(data['message'], Object); + obj['message'] = ApiClient.convertToType(data['message'], 'String'); } } return obj; @@ -60,7 +60,7 @@ class Error { /** * A human-readable message describing the error. - * @member {Object} message + * @member {String} message */ Error.prototype['message'] = undefined; diff --git a/src/model/FileDeleteResponse.js b/src/model/FileDeleteResponse.js index e038891..4d39ab2 100644 --- a/src/model/FileDeleteResponse.js +++ b/src/model/FileDeleteResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The FileDeleteResponse model module. * @module model/FileDeleteResponse - * @version 0.6.3 + * @version 3.0.0 */ class FileDeleteResponse { /** diff --git a/src/model/GetLiltCreateContentResponse.js b/src/model/GetLiltCreateContentResponse.js index ee28ce2..90da189 100644 --- a/src/model/GetLiltCreateContentResponse.js +++ b/src/model/GetLiltCreateContentResponse.js @@ -17,7 +17,7 @@ import LiltCreateContent from './LiltCreateContent'; /** * The GetLiltCreateContentResponse model module. * @module model/GetLiltCreateContentResponse - * @version 0.6.3 + * @version 3.0.0 */ class GetLiltCreateContentResponse { /** diff --git a/src/model/InlineResponse200.js b/src/model/InlineResponse200.js index 2bbfdf9..f6674bc 100644 --- a/src/model/InlineResponse200.js +++ b/src/model/InlineResponse200.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The InlineResponse200 model module. * @module model/InlineResponse200 - * @version 0.6.3 + * @version 3.0.0 */ class InlineResponse200 { /** diff --git a/src/model/Job.js b/src/model/Job.js index d05b69c..5f43b6d 100644 --- a/src/model/Job.js +++ b/src/model/Job.js @@ -17,7 +17,7 @@ import JobStats from './JobStats'; /** * The Job model module. * @module model/Job - * @version 0.6.3 + * @version 3.0.0 */ class Job { /** diff --git a/src/model/JobCreateParameters.js b/src/model/JobCreateParameters.js index 0060bbb..6b01b7c 100644 --- a/src/model/JobCreateParameters.js +++ b/src/model/JobCreateParameters.js @@ -17,7 +17,7 @@ import LanguagePair from './LanguagePair'; /** * The JobCreateParameters model module. * @module model/JobCreateParameters - * @version 0.6.3 + * @version 3.0.0 */ class JobCreateParameters { /** diff --git a/src/model/JobDeleteResponse.js b/src/model/JobDeleteResponse.js index 038b61b..c69f778 100644 --- a/src/model/JobDeleteResponse.js +++ b/src/model/JobDeleteResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The JobDeleteResponse model module. * @module model/JobDeleteResponse - * @version 0.6.3 + * @version 3.0.0 */ class JobDeleteResponse { /** diff --git a/src/model/JobLeverageStats.js b/src/model/JobLeverageStats.js index 71e8cc1..51c62aa 100644 --- a/src/model/JobLeverageStats.js +++ b/src/model/JobLeverageStats.js @@ -17,7 +17,7 @@ import ProjectStats from './ProjectStats'; /** * The JobLeverageStats model module. * @module model/JobLeverageStats - * @version 0.6.3 + * @version 3.0.0 */ class JobLeverageStats { /** diff --git a/src/model/JobProject.js b/src/model/JobProject.js index 566ebd8..de2d4c9 100644 --- a/src/model/JobProject.js +++ b/src/model/JobProject.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The JobProject model module. * @module model/JobProject - * @version 0.6.3 + * @version 3.0.0 */ class JobProject { /** diff --git a/src/model/JobStats.js b/src/model/JobStats.js index dd02428..86ea819 100644 --- a/src/model/JobStats.js +++ b/src/model/JobStats.js @@ -17,7 +17,7 @@ import JobProject from './JobProject'; /** * The JobStats model module. * @module model/JobStats - * @version 0.6.3 + * @version 3.0.0 */ class JobStats { /** diff --git a/src/model/JobUpdateParameters.js b/src/model/JobUpdateParameters.js index b2ae29d..38b5f1b 100644 --- a/src/model/JobUpdateParameters.js +++ b/src/model/JobUpdateParameters.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The JobUpdateParameters model module. * @module model/JobUpdateParameters - * @version 0.6.3 + * @version 3.0.0 */ class JobUpdateParameters { /** diff --git a/src/model/LanguagePair.js b/src/model/LanguagePair.js index 3eba549..cf68144 100644 --- a/src/model/LanguagePair.js +++ b/src/model/LanguagePair.js @@ -17,7 +17,7 @@ import WorkflowStageAssignment from './WorkflowStageAssignment'; /** * The LanguagePair model module. * @module model/LanguagePair - * @version 0.6.3 + * @version 3.0.0 */ class LanguagePair { /** diff --git a/src/model/LanguagesResponse.js b/src/model/LanguagesResponse.js index 3448776..5e5a2ed 100644 --- a/src/model/LanguagesResponse.js +++ b/src/model/LanguagesResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The LanguagesResponse model module. * @module model/LanguagesResponse - * @version 0.6.3 + * @version 3.0.0 */ class LanguagesResponse { /** diff --git a/src/model/LiltCreateContent.js b/src/model/LiltCreateContent.js index 2295072..aa279a3 100644 --- a/src/model/LiltCreateContent.js +++ b/src/model/LiltCreateContent.js @@ -18,7 +18,7 @@ import LiltCreateContentTemplateParams from './LiltCreateContentTemplateParams'; /** * The LiltCreateContent model module. * @module model/LiltCreateContent - * @version 0.6.3 + * @version 3.0.0 */ class LiltCreateContent { /** @@ -56,6 +56,12 @@ class LiltCreateContent { if (data) { obj = obj || new LiltCreateContent(); + if (data.hasOwnProperty('name')) { + obj['name'] = ApiClient.convertToType(data['name'], 'String'); + } + if (data.hasOwnProperty('id')) { + obj['id'] = ApiClient.convertToType(data['id'], 'Number'); + } if (data.hasOwnProperty('language')) { obj['language'] = ApiClient.convertToType(data['language'], 'String'); } @@ -75,6 +81,18 @@ class LiltCreateContent { } +/** + * A name for the request content. + * @member {String} name + */ +LiltCreateContent.prototype['name'] = undefined; + +/** + * A unique identifier for the generated content. + * @member {Number} id + */ +LiltCreateContent.prototype['id'] = undefined; + /** * The language of the content. * @member {String} language diff --git a/src/model/LiltCreateContentPreferences.js b/src/model/LiltCreateContentPreferences.js index 5775d6c..eb5e512 100644 --- a/src/model/LiltCreateContentPreferences.js +++ b/src/model/LiltCreateContentPreferences.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The LiltCreateContentPreferences model module. * @module model/LiltCreateContentPreferences - * @version 0.6.3 + * @version 3.0.0 */ class LiltCreateContentPreferences { /** diff --git a/src/model/LiltCreateContentRequest.js b/src/model/LiltCreateContentRequest.js new file mode 100644 index 0000000..1bd317c --- /dev/null +++ b/src/model/LiltCreateContentRequest.js @@ -0,0 +1,115 @@ +/** + * Lilt REST API + * Lilt REST API Support: https://lilt.atlassian.net/servicedesk/customer/portals The Lilt REST API enables programmatic access to the full-range of Lilt backend services including: * Training of and translating with interactive, adaptive machine translation * Large-scale translation memory * The Lexicon (a large-scale termbase) * Programmatic control of the Lilt CAT environment * Translation memory synchronization Requests and responses are in JSON format. The REST API only responds to HTTPS / SSL requests. The base url for this REST API is `https://api.lilt.com/`. ## Authentication Requests are authenticated via REST API key, which requires the Business plan. Requests are authenticated using [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication). Add your REST API key as both the `username` and `password`. For development, you may also pass the REST API key via the `key` query parameter. This is less secure than HTTP Basic Auth, and is not recommended for production use. ## Quotas Our services have a general quota of 4000 requests per minute. Should you hit the maximum requests per minute, you will need to wait 60 seconds before you can send another request. + * + * The version of the OpenAPI document: v3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; +import LiltCreateContentPreferences from './LiltCreateContentPreferences'; +import LiltCreateContentTemplateParams from './LiltCreateContentTemplateParams'; + +/** + * The LiltCreateContentRequest model module. + * @module model/LiltCreateContentRequest + * @version 3.0.0 + */ +class LiltCreateContentRequest { + /** + * Constructs a new LiltCreateContentRequest. + * Content Parameters for LiltCreate. + * @alias module:model/LiltCreateContentRequest + * @param language {String} The language of the content. + * @param template {String} The template of the content. + * @param templateParams {module:model/LiltCreateContentTemplateParams} + */ + constructor(language, template, templateParams) { + + LiltCreateContentRequest.initialize(this, language, template, templateParams); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj, language, template, templateParams) { + obj['language'] = language; + obj['template'] = template; + obj['templateParams'] = templateParams; + } + + /** + * Constructs a LiltCreateContentRequest from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/LiltCreateContentRequest} obj Optional instance to populate. + * @return {module:model/LiltCreateContentRequest} The populated LiltCreateContentRequest instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new LiltCreateContentRequest(); + + if (data.hasOwnProperty('name')) { + obj['name'] = ApiClient.convertToType(data['name'], 'String'); + } + if (data.hasOwnProperty('language')) { + obj['language'] = ApiClient.convertToType(data['language'], 'String'); + } + if (data.hasOwnProperty('template')) { + obj['template'] = ApiClient.convertToType(data['template'], 'String'); + } + if (data.hasOwnProperty('templateParams')) { + obj['templateParams'] = LiltCreateContentTemplateParams.constructFromObject(data['templateParams']); + } + if (data.hasOwnProperty('preferences')) { + obj['preferences'] = LiltCreateContentPreferences.constructFromObject(data['preferences']); + } + } + return obj; + } + + +} + +/** + * A name for the request content. + * @member {String} name + */ +LiltCreateContentRequest.prototype['name'] = undefined; + +/** + * The language of the content. + * @member {String} language + */ +LiltCreateContentRequest.prototype['language'] = undefined; + +/** + * The template of the content. + * @member {String} template + */ +LiltCreateContentRequest.prototype['template'] = undefined; + +/** + * @member {module:model/LiltCreateContentTemplateParams} templateParams + */ +LiltCreateContentRequest.prototype['templateParams'] = undefined; + +/** + * @member {module:model/LiltCreateContentPreferences} preferences + */ +LiltCreateContentRequest.prototype['preferences'] = undefined; + + + + + + +export default LiltCreateContentRequest; + diff --git a/src/model/LiltCreateContentTemplateParams.js b/src/model/LiltCreateContentTemplateParams.js index c513595..92789e8 100644 --- a/src/model/LiltCreateContentTemplateParams.js +++ b/src/model/LiltCreateContentTemplateParams.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The LiltCreateContentTemplateParams model module. * @module model/LiltCreateContentTemplateParams - * @version 0.6.3 + * @version 3.0.0 */ class LiltCreateContentTemplateParams { /** diff --git a/src/model/Memory.js b/src/model/Memory.js index 47b99f7..ef38b91 100644 --- a/src/model/Memory.js +++ b/src/model/Memory.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The Memory model module. * @module model/Memory - * @version 0.6.3 + * @version 3.0.0 */ class Memory { /** diff --git a/src/model/MemoryCreateParameters.js b/src/model/MemoryCreateParameters.js index a868a02..b75b914 100644 --- a/src/model/MemoryCreateParameters.js +++ b/src/model/MemoryCreateParameters.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The MemoryCreateParameters model module. * @module model/MemoryCreateParameters - * @version 0.6.3 + * @version 3.0.0 */ class MemoryCreateParameters { /** diff --git a/src/model/MemoryDeleteResponse.js b/src/model/MemoryDeleteResponse.js index 8a6dbed..f075ad4 100644 --- a/src/model/MemoryDeleteResponse.js +++ b/src/model/MemoryDeleteResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The MemoryDeleteResponse model module. * @module model/MemoryDeleteResponse - * @version 0.6.3 + * @version 3.0.0 */ class MemoryDeleteResponse { /** diff --git a/src/model/MemoryImportResponse.js b/src/model/MemoryImportResponse.js index 2a5544b..ebf64fc 100644 --- a/src/model/MemoryImportResponse.js +++ b/src/model/MemoryImportResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The MemoryImportResponse model module. * @module model/MemoryImportResponse - * @version 0.6.3 + * @version 3.0.0 */ class MemoryImportResponse { /** diff --git a/src/model/MemoryUpdateParameters.js b/src/model/MemoryUpdateParameters.js index 12ff0bd..5ba071a 100644 --- a/src/model/MemoryUpdateParameters.js +++ b/src/model/MemoryUpdateParameters.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The MemoryUpdateParameters model module. * @module model/MemoryUpdateParameters - * @version 0.6.3 + * @version 3.0.0 */ class MemoryUpdateParameters { /** diff --git a/src/model/Project.js b/src/model/Project.js index 8b6e493..99dbee9 100644 --- a/src/model/Project.js +++ b/src/model/Project.js @@ -17,7 +17,7 @@ import DocumentWithoutSegments from './DocumentWithoutSegments'; /** * The Project model module. * @module model/Project - * @version 0.6.3 + * @version 3.0.0 */ class Project { /** diff --git a/src/model/ProjectCreateParameters.js b/src/model/ProjectCreateParameters.js index 255d415..78deb24 100644 --- a/src/model/ProjectCreateParameters.js +++ b/src/model/ProjectCreateParameters.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The ProjectCreateParameters model module. * @module model/ProjectCreateParameters - * @version 0.6.3 + * @version 3.0.0 */ class ProjectCreateParameters { /** diff --git a/src/model/ProjectDeleteResponse.js b/src/model/ProjectDeleteResponse.js index 6ea5080..3e0ae62 100644 --- a/src/model/ProjectDeleteResponse.js +++ b/src/model/ProjectDeleteResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The ProjectDeleteResponse model module. * @module model/ProjectDeleteResponse - * @version 0.6.3 + * @version 3.0.0 */ class ProjectDeleteResponse { /** diff --git a/src/model/ProjectStats.js b/src/model/ProjectStats.js index 0d15e47..51fd999 100644 --- a/src/model/ProjectStats.js +++ b/src/model/ProjectStats.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The ProjectStats model module. * @module model/ProjectStats - * @version 0.6.3 + * @version 3.0.0 */ class ProjectStats { /** diff --git a/src/model/SDLXLIFFFilter.js b/src/model/SDLXLIFFFilter.js index 106676b..1bd4d70 100644 --- a/src/model/SDLXLIFFFilter.js +++ b/src/model/SDLXLIFFFilter.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The SDLXLIFFFilter model module. * @module model/SDLXLIFFFilter - * @version 0.6.3 + * @version 3.0.0 */ class SDLXLIFFFilter { /** diff --git a/src/model/Segment.js b/src/model/Segment.js index aee1e96..1a6e5fe 100644 --- a/src/model/Segment.js +++ b/src/model/Segment.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The Segment model module. * @module model/Segment - * @version 0.6.3 + * @version 3.0.0 */ class Segment { /** diff --git a/src/model/SignLiltCreateTermsResponse.js b/src/model/SignLiltCreateTermsResponse.js index 69129d7..cccb3c3 100644 --- a/src/model/SignLiltCreateTermsResponse.js +++ b/src/model/SignLiltCreateTermsResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The SignLiltCreateTermsResponse model module. * @module model/SignLiltCreateTermsResponse - * @version 0.6.3 + * @version 3.0.0 */ class SignLiltCreateTermsResponse { /** diff --git a/src/model/SourceFile.js b/src/model/SourceFile.js index b92075c..8c3d17e 100644 --- a/src/model/SourceFile.js +++ b/src/model/SourceFile.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The SourceFile model module. * @module model/SourceFile - * @version 0.6.3 + * @version 3.0.0 */ class SourceFile { /** diff --git a/src/model/TermbaseExportResponse.js b/src/model/TermbaseExportResponse.js index 2c4bb7b..5ec75d7 100644 --- a/src/model/TermbaseExportResponse.js +++ b/src/model/TermbaseExportResponse.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The TermbaseExportResponse model module. * @module model/TermbaseExportResponse - * @version 0.6.3 + * @version 3.0.0 */ class TermbaseExportResponse { /** diff --git a/src/model/TranslateSegmentBody.js b/src/model/TranslateSegmentBody.js index f238b7f..eab1836 100644 --- a/src/model/TranslateSegmentBody.js +++ b/src/model/TranslateSegmentBody.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The TranslateSegmentBody model module. * @module model/TranslateSegmentBody - * @version 0.6.3 + * @version 3.0.0 */ class TranslateSegmentBody { /** diff --git a/src/model/Translation.js b/src/model/Translation.js index 9a47671..0e3ef55 100644 --- a/src/model/Translation.js +++ b/src/model/Translation.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The Translation model module. * @module model/Translation - * @version 0.6.3 + * @version 3.0.0 */ class Translation { /** diff --git a/src/model/TranslationInfo.js b/src/model/TranslationInfo.js index 79798c7..0486e02 100644 --- a/src/model/TranslationInfo.js +++ b/src/model/TranslationInfo.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The TranslationInfo model module. * @module model/TranslationInfo - * @version 0.6.3 + * @version 3.0.0 */ class TranslationInfo { /** diff --git a/src/model/TranslationList.js b/src/model/TranslationList.js index 0199b56..835b386 100644 --- a/src/model/TranslationList.js +++ b/src/model/TranslationList.js @@ -17,7 +17,7 @@ import Translation from './Translation'; /** * The TranslationList model module. * @module model/TranslationList - * @version 0.6.3 + * @version 3.0.0 */ class TranslationList { /** diff --git a/src/model/TranslationMemoryEntry.js b/src/model/TranslationMemoryEntry.js index 9d134cf..f789f0e 100644 --- a/src/model/TranslationMemoryEntry.js +++ b/src/model/TranslationMemoryEntry.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The TranslationMemoryEntry model module. * @module model/TranslationMemoryEntry - * @version 0.6.3 + * @version 3.0.0 */ class TranslationMemoryEntry { /** diff --git a/src/model/WorkflowStageAssignment.js b/src/model/WorkflowStageAssignment.js index da7610e..6090b72 100644 --- a/src/model/WorkflowStageAssignment.js +++ b/src/model/WorkflowStageAssignment.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The WorkflowStageAssignment model module. * @module model/WorkflowStageAssignment - * @version 0.6.3 + * @version 3.0.0 */ class WorkflowStageAssignment { /** diff --git a/src/model/WorkflowStageTemplate.js b/src/model/WorkflowStageTemplate.js index 430ab1e..7955877 100644 --- a/src/model/WorkflowStageTemplate.js +++ b/src/model/WorkflowStageTemplate.js @@ -16,7 +16,7 @@ import ApiClient from '../ApiClient'; /** * The WorkflowStageTemplate model module. * @module model/WorkflowStageTemplate - * @version 0.6.3 + * @version 3.0.0 */ class WorkflowStageTemplate { /** diff --git a/src/model/WorkflowTemplate.js b/src/model/WorkflowTemplate.js index 3538fda..42f8da8 100644 --- a/src/model/WorkflowTemplate.js +++ b/src/model/WorkflowTemplate.js @@ -17,7 +17,7 @@ import WorkflowStageTemplate from './WorkflowStageTemplate'; /** * The WorkflowTemplate model module. * @module model/WorkflowTemplate - * @version 0.6.3 + * @version 3.0.0 */ class WorkflowTemplate { /** diff --git a/test/model/LiltCreateContentRequest.spec.js b/test/model/LiltCreateContentRequest.spec.js new file mode 100644 index 0000000..87a1cca --- /dev/null +++ b/test/model/LiltCreateContentRequest.spec.js @@ -0,0 +1,89 @@ +/** + * Lilt REST API + * Lilt REST API Support: https://lilt.atlassian.net/servicedesk/customer/portals The Lilt REST API enables programmatic access to the full-range of Lilt backend services including: * Training of and translating with interactive, adaptive machine translation * Large-scale translation memory * The Lexicon (a large-scale termbase) * Programmatic control of the Lilt CAT environment * Translation memory synchronization Requests and responses are in JSON format. The REST API only responds to HTTPS / SSL requests. The base url for this REST API is `https://api.lilt.com/`. ## Authentication Requests are authenticated via REST API key, which requires the Business plan. Requests are authenticated using [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication). Add your REST API key as both the `username` and `password`. For development, you may also pass the REST API key via the `key` query parameter. This is less secure than HTTP Basic Auth, and is not recommended for production use. ## Quotas Our services have a general quota of 4000 requests per minute. Should you hit the maximum requests per minute, you will need to wait 60 seconds before you can send another request. + * + * The version of the OpenAPI document: v3.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.LiltNode); + } +}(this, function(expect, LiltNode) { + 'use strict'; + + var instance; + + beforeEach(function() { + instance = new LiltNode.LiltCreateContentRequest(); + }); + + var getProperty = function(object, getter, property) { + // Use getter method if present; otherwise, get the property directly. + if (typeof object[getter] === 'function') + return object[getter](); + else + return object[property]; + } + + var setProperty = function(object, setter, property, value) { + // Use setter method if present; otherwise, set the property directly. + if (typeof object[setter] === 'function') + object[setter](value); + else + object[property] = value; + } + + describe('LiltCreateContentRequest', function() { + it('should create an instance of LiltCreateContentRequest', function() { + // uncomment below and update the code to test LiltCreateContentRequest + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be.a(LiltNode.LiltCreateContentRequest); + }); + + it('should have the property name (base name: "name")', function() { + // uncomment below and update the code to test the property name + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be(); + }); + + it('should have the property language (base name: "language")', function() { + // uncomment below and update the code to test the property language + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be(); + }); + + it('should have the property template (base name: "template")', function() { + // uncomment below and update the code to test the property template + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be(); + }); + + it('should have the property templateParams (base name: "templateParams")', function() { + // uncomment below and update the code to test the property templateParams + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be(); + }); + + it('should have the property preferences (base name: "preferences")', function() { + // uncomment below and update the code to test the property preferences + //var instane = new LiltNode.LiltCreateContentRequest(); + //expect(instance).to.be(); + }); + + }); + +})); diff --git a/workflow_tests/resources/getDocuments.json b/workflow_tests/resources/getDocuments.json new file mode 100644 index 0000000..e60f2d2 --- /dev/null +++ b/workflow_tests/resources/getDocuments.json @@ -0,0 +1,36 @@ +{ + "id": 46530, + "project_id": 287, + "srclang": "en", + "trglang": "de", + "name": "Introduction.xliff", + "import_in_progress": false, + "import_succeeded": false, + "import_error_message": "Could not parse XML.", + "export_in_progress": false, + "export_succeeded": false, + "export_error_message": "Could not parse XML.", + "is_pretranslating": false, + "status": { + "pretranslation": "idle" + }, + "translator_email": "translator@example.com", + "reviewer_email": "reviewer@example.com", + "created_at": 1489147692, + "updated_at": 1489147692, + "segments": [ + { + "id": 84480010, + "created_at": 1489147692, + "updated_at": 1489147692, + "document_id": 1234, + "memory_id": 5678, + "source": "The red bus.", + "srclang": "en", + "target": "Le bus rouge.", + "trglang": "fr", + "is_confirmed": true, + "is_reviewed": true + } + ] + } diff --git a/workflow_tests/resources/test-frToEn.tmx b/workflow_tests/resources/test-frToEn.tmx new file mode 100644 index 0000000..a44825d --- /dev/null +++ b/workflow_tests/resources/test-frToEn.tmx @@ -0,0 +1,14 @@ + + +
+ + + + chatte + + + cat + + + + diff --git a/workflow_tests/resources/translate-frToEn.txt b/workflow_tests/resources/translate-frToEn.txt new file mode 100644 index 0000000..bacf715 --- /dev/null +++ b/workflow_tests/resources/translate-frToEn.txt @@ -0,0 +1,2 @@ +chatte +bonjour diff --git a/workflow_tests/testCreateContent.js b/workflow_tests/testCreateContent.js new file mode 100644 index 0000000..0e7f1da --- /dev/null +++ b/workflow_tests/testCreateContent.js @@ -0,0 +1,277 @@ +require("dotenv").config(); + +let signCases = [ + "none", + "signed", + "unsigned", + "nonBoolean1", + "nonBoolean0", +]; + +let generateContentCharCases = [ + "none", + "normal", + "over500", + "nonString" +]; + +let generateContentSectionsCases = [ + "none", + "one", + "multiple" +]; + +function getSign(signCase) { + switch (signCase) { + case "none": + return null; + case "unsigned": + return false; + case "signed": + return true; + case "nonBoolean1": + return 1; + case "nonBoolean0": + return 0; + } +} + +function getSummary(charCase) { + switch (charCase) { + case "none": + return ""; + case "normal": + return "a blog post about how important bees are to my honey farm"; + case "over500": + return "a blog post about how important bees are to my honey farm" * 10; + case "nonString": + return 1; + } +} + +function getSection(sectionCase) { + switch (sectionCase) { + case "none": + return []; + case "one": + return ["Bees and me"]; + case "multiple": + return ["Bees and me", "Honey for you", "Conclusion"]; + } +} + +function expectedChars(charCase) { + switch (charCase) { + case "none": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me", "Honey for you", "Conclusion"], + summary: "", + }, + }; + case "normal": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me", "Honey for you", "Conclusion"], + summary: "a blog post about how important bees are to my honey farm", + }, + }; + case "over500": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me", "Honey for you", "Conclusion"], + summary: `a blog post about how important bees are to + my honey farma blog post about how important + bees are to my honey farma blog post about + how important bees are to my honey farma blog + post about how important bees are to my honey + farma blog post about how important bees are + to my honey farma blog post about how + important bees are to my honey farma blog + post about how important bees are to my honey + farma blog post about how important bees are + to my honey farma blog post about how + important bees are to my honey farma blog + post about how important bees are to my honey + farm`, + }, + }; + case "nonString": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me", "Honey for you", "Conclusion"], + summary: "1", + }, + }; + } +} + +function expectedSection(sectionCase) { + switch (sectionCase) { + case "none": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: "[]", + summary: "a blog post about how important bees are to my honey farm", + }, + }; + case "one": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me"], + summary: "a blog post about how important bees are to my honey farm", + }, + }; + case "multiple": + return { + language: "en-US", + preferences: null, + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + sections: ["Bees and me", "Honey for you", "Conclusion"], + summary: "a blog post about how important bees are to my honey farm", + }, + }; + } +} + +function expectResponse(expect, createContentObj, expected) { + expect(createContentObj.language).to.equal(expected["language"]); + expect(createContentObj.template).to.equal(expected["template"]); + let templateParams = createContentObj.templateParams; + expect(templateParams.contentLength).to.equal(templateParams["contentLength"]); + expect(templateParams.language).to.equal(templateParams["language"]); + expect(templateParams.sections).to.equal(templateParams["sections"]); + expect(templateParams.summary).to.equal(templateParams["summary"]); +} + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + // AMD. + define(["expect.js", process.cwd()+"/src/index"], factory); + } else if (typeof module === "object" && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require("expect.js"), require(process.cwd()+"/src/index")); + } else { + // Browser globals (root is window) + factory(root.expect, root.LiltNode); + } +}(this, function(expect, LiltNode) { + let defaultClient = LiltNode.ApiClient.instance; + let ApiKeyAuth = defaultClient.authentications["ApiKeyAuth"]; + defaultClient.defaultHeaders = { + "x-is-automated-test": "true", + "x-is-expected-error": "true" + }; + ApiKeyAuth.apiKey = process.env.API_KEY; + defaultClient.basePath = process.env.API_HOST; + + describe("LiltCreateWorkflow", () => { + describe("sign Lilt Terms and Conditions", () => { + signCases.forEach(function (signCase) { + it(`should sign terms and conditions for ${signCase}`, async () => { + let apiInstance = new LiltNode.CreateApi(); + let sign = getSign(signCase); + let signedAgreement = new LiltNode.CreateConverterConfigParameters(sign); + try { + let data = await apiInstance.signLiltCreateTerms(signedAgreement); + expect(data.signedAgreement).to.be(Boolean(sign)); + } catch (error) { + if (signCase === "none") { + return + } else { + console.log(error); + throw error + } + } + }); + }); + }); + describe("generate Lilt Create content", () => { + generateContentCharCases.forEach(function (charCase) { + it(`should generate content with ${charCase} characters`, async () => { + let apiInstance = new LiltNode.CreateApi(); + let signedAgreement = new LiltNode.CreateConverterConfigParameters(true); + await apiInstance.signLiltCreateTerms(signedAgreement); + let requestBody = new LiltNode.LiltCreateContent.constructFromObject({ + language: "en-US", + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + summary: getSummary(charCase), + sections: ["Bees and me", "Honey for you", "Conclusion"] + }, + preferences: { + tone: "formal" + } + }); + await apiInstance.generateLiltCreateContent(requestBody) + let data = await apiInstance.getLiltCreateContent(requestBody); + let createContentObjs = data.contents; + let createContentObj = createContentObjs[createContentObjs.length - 1] + expectResponse(expect, createContentObj, expectedChars(charCase)); + await apiInstance.deleteLiltCreateContent(createContentObj.id); + }); + }); + generateContentSectionsCases.forEach(function (sectionCase) { + it(`should generate content with specified ${sectionCase} sections`, async () => { + let apiInstance = new LiltNode.CreateApi(); + let signedAgreement = new LiltNode.CreateConverterConfigParameters(true); + await apiInstance.signLiltCreateTerms(signedAgreement); + let requestBody = new LiltNode.LiltCreateContent.constructFromObject({ + language: "en-US", + template: "blog-post", + templateParams: { + contentLength: 1000, + language: "en-US", + summary: "a blog post about how important bees are to my honey farm", + sections: getSection(sectionCase), + }, + preferences: { + tone: "formal" + } + }); + await apiInstance.generateLiltCreateContent(requestBody) + let data = await apiInstance.getLiltCreateContent(); + let createContentObjs = data.contents; + let createContentObj = createContentObjs[createContentObjs.length - 1] + expectResponse(expect, createContentObj, expectedSection(sectionCase)); + await apiInstance.deleteLiltCreateContent(createContentObj.id); + }); + }); + }); + }); +})); diff --git a/workflow_tests/testDataSource.js b/workflow_tests/testDataSource.js new file mode 100644 index 0000000..1131e02 --- /dev/null +++ b/workflow_tests/testDataSource.js @@ -0,0 +1,270 @@ +const fs = require('fs'); +require('dotenv').config(); + +let createDataSourceCases = [ + "noneSrc", + "noneTrg", + "noneBoth", + "english", + "nonEnglish", + "sourceIsTarget", + "unsupportedLanguages" +] + +let tmxFileCases = [ + "wrongData", + "normal" +] + +function getDataSourceParameters(dataSourceCase) { + switch (dataSourceCase) { + case "noneSrc": + return { + "name": "test-non-src", + "srclang": null, + "trglang": "en", + "srclocale": "US", + "trglocale": null + } + case "noneTrg": + return { + "name": "test-none-trg", + "srclang": "en", + "trglang": null, + "srclocale": "US", + "trglocale": null + } + case "noneBoth": + return { + "name": "test-none-both", + "srclang": null, + "trglang": null, + "srclocale": "US", + "trglocale": null + } + case "english": + return { + "name": "test-english", + "srclang": "en", + "trglang": "es", + "srclocale": "US", + "trglocale": null + } + case "nonEnglish": + return { + "name": "test-non-english", + "srclang": "de", + "trglang": "fr", + "srclocale": "DE", + "trglocale": "FR" + } + case "sourceIsTarget": + return { + "name": "test-source-is-target", + "srclang": "fr", + "trglang": "fr", + "srclocale": "FR", + "trglocale": "FR" + } + case "unsupportedLanguages": + return { + "name": "test-unsupported-languages", + "srclang": "ac", + "trglang": "ad", + "srclocale": null, + "trglocale": null + } + case "frToEn": + return { + "name": "test-fr-to-en", + "srclang": "fr", + "trglang": "en", + "srclocale": "FR", + "trglocale": "US" + } + } +} + +function getTmxSettings(tmxFileCase) { + switch (tmxFileCase) { + case "wrongData": + return { + "name": "getDocuments.json", + "body": "./workflow_tests/resources/getDocuments.json" + } + case "normal": + return { + "name": "frToEn.tmx", + "body": "./workflow_tests/resources/test-frToEn.tmx" + } + } +} + +function getExpectedDataSource(dataSourceCase) { + switch (dataSourceCase) { + case "english": + return { + "isProcessing": null, + "name": "test-english", + "srclang": "en", + "srclocale": "US", + "trglang": "es", + "trglocale": null, + "version": 0 + } + case "nonEnglish": + return { + "isProcessing": null, + "name": "test-non-english", + "srclang": "de", + "srclocale": "DE", + "trglang": "fr", + "trglocale": "FR", + "version": 0 + } + case "sourceIsTarget": + return { + "isProcessing": null, + "name": "test-source-is-target", + "srclang": "fr", + "srclocale": "FR", + "trglang": "fr", + "trglocale": "FR", + "version": 0 + } + case "frToEn": + return { + "isProcessing": null, + "name": "test-fr-to-en", + "srclang": "fr", + "srclocale": "FR", + "trglang": "en", + "trglocale": "US", + "version": 0 + } + } +} + +function getExpectedQuery() { + return { + "metadata": { + "resourceName": "frToEn.tmx", + "userEmail": ["apikeyuser", "@lilt.com"] + }, + "score": 100, + "source": "chatte", + "target": "cat" + } +} + +function expectDataSourceResponse(expect, dataSourceObject, expected) { + expect(dataSourceObject.is_processing).to.equal(expected["isProcessing"]) + expect(dataSourceObject.name).to.equal(expected["name"]) + expect(dataSourceObject.srclang).to.equal(expected["srclang"]) + expect(dataSourceObject.srclocale).to.equal(expected["srclocale"]) + expect(dataSourceObject.trglang).to.equal(expected["trglang"]) + expect(dataSourceObject.trglocale).to.equal(expected["trglocale"]) + expect(dataSourceObject.version).to.equal(expected["version"]) + expect(dataSourceObject.created_at).to.not.be.null + expect(dataSourceObject.updated_at).to.not.be.null + expect(dataSourceObject.id).to.not.be.null +} + +function expectQueryResponse(expect, queryObject, expected) { + let metadata = queryObject.metadata + let expected_metadata = expected["metadata"] + expect(metadata["resource_name"]).to.equal(expected_metadata["resourceName"]) + expect(metadata["user_email"]).to.match(new RegExp(expected_metadata["userEmail"][0] + ".*" + expected_metadata["userEmail"][1])) + expect(metadata["created_at"]).to.not.be.null + expect(queryObject.score).to.equal(expected["score"]) + expect(queryObject.source).to.equal(expected["source"]) + expect(queryObject.target).to.equal(expected["target"]) +} + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.LiltNode); + } +}(this, function(expect, LiltNode) { + let defaultClient = LiltNode.ApiClient.instance; + let ApiKeyAuth = defaultClient.authentications["ApiKeyAuth"]; + defaultClient.defaultHeaders = { + "x-is-automated-test": "true", + "x-is-expected-error": "true" + }; + ApiKeyAuth.apiKey = process.env.API_KEY; + defaultClient.basePath = process.env.API_HOST; + + describe('DataSourceWorkflow', () => { + describe('createMemory', () => { + createDataSourceCases.forEach(function(dataSourceCase) { + it(`should create a data source with ${dataSourceCase} parameters`, async () => { + let apiInstance = new LiltNode.MemoriesApi(); + let dataSourceParameters = getDataSourceParameters(dataSourceCase); + let body = new LiltNode.MemoryCreateParameters.constructFromObject(dataSourceParameters) + try { + let data = await apiInstance.createMemory(body) + expectDataSourceResponse(expect, data, getExpectedDataSource(dataSourceCase)) + await apiInstance.deleteMemory(data.id) + } catch (e) { + if (["noneSrc", "noneTrg", "noneBoth", "unsupportedLanguages"].includes(dataSourceCase)) { + expect(e.status).to.equal(400) + } else { + throw e + } + } + }); + }); + }); + describe('importMemoryFile', () => { + tmxFileCases.forEach(function(tmxFileCase) { + it(`should upload a TMX file with ${tmxFileCase} data`, async () => { + let apiInstance = new LiltNode.MemoriesApi(); + let dataSourceParameters = getDataSourceParameters("frToEn"); + let body = new LiltNode.MemoryCreateParameters.constructFromObject(dataSourceParameters) + let createMemoryData = await apiInstance.createMemory(body) + expectDataSourceResponse(expect, createMemoryData, getExpectedDataSource("frToEn")) + let memoryId = createMemoryData.id + console.log(`Memory ID: ${memoryId}`) + + let tmxSettings = getTmxSettings(tmxFileCase); + let fileBody = await fs.readFileSync(tmxSettings["body"]) + let fileUploadData = await apiInstance.importMemoryFile(memoryId, tmxSettings["name"], fileBody) + let isProcessing = fileUploadData.isProcessing + expect(fileUploadData.id).to.equal(memoryId) + expect(isProcessing).to.equal(1) + + let numMonitored = 0 + while (isProcessing == 1) { + await new Promise(resolve => setTimeout(resolve, 5000)) + let monitorResponse = await apiInstance.getMemory(memoryId); + isProcessing = monitorResponse.isProcessing + console.log(`Memory status: ${isProcessing} || Request No: ${numMonitored}`) + numMonitored++ + if (numMonitored > 20) { + console.log("Memory import exceeding time limit. Failing test") + throw new Error("Memory import exceeding time limit") + } + } + + let query = "chatte" + let queryData = await apiInstance.queryMemory(memoryId, query) + if (tmxFileCase == "wrongData") { + expect(queryData.length).to.equal(0) + } else { + expect(queryData.length).to.be.greaterThan(0) + expectQueryResponse(expect, queryData[0], getExpectedQuery()) + } + await apiInstance.deleteMemory(memoryId) + }); + }); + }); + }); +})); diff --git a/workflow_tests/testInstantTranslation.js b/workflow_tests/testInstantTranslation.js new file mode 100644 index 0000000..cc1afce --- /dev/null +++ b/workflow_tests/testInstantTranslation.js @@ -0,0 +1,96 @@ +const fs = require('fs'); +require('dotenv').config(); + +let translateFilePath = "./workflow_tests/resources" +let STAGING_MEMORY_ID = 23583 +let STAGING_TRANSLATION_ID = 17680 + +function expectUploadResponse(expect, response) { + expect(response.category).to.equal('API') + expect(response.createdAt).to.not.be.null + expect(response.fileHash).to.not.be.null + expect(response.id).to.not.be.null + expect(response.name).to.equal('translate-frToEn.txt') + expect(response.updatedAt).to.not.be.null +} + +function expectTranslateResponse(expect, response, fileId) { + expect(response.id).to.not.be.null + expect(response.fileId).to.equal(fileId) + expect(["InProgress", "ReadyForDownload", "Complete"]).to.contain(response.status) + expect(response.createdAt).to.not.be.null +} + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.LiltNode); + } +}(this, function(expect, LiltNode) { + let defaultClient = LiltNode.ApiClient.instance; + let ApiKeyAuth = defaultClient.authentications["ApiKeyAuth"]; + defaultClient.defaultHeaders = { + "x-is-automated-test": "true", + "x-is-expected-error": "true" + }; + ApiKeyAuth.apiKey = process.env.API_KEY; + defaultClient.basePath = process.env.API_HOST; + + describe('InstantTranslationWorkflow', () => { + let fileInstance = new LiltNode.FilesApi(defaultClient); + let translateInstance = new LiltNode.TranslateApi(defaultClient); + + it(`should translate a file`, async () => { + let name = "translate-frToEn.txt" + let body = await fs.readFileSync(`${translateFilePath}/translate-frToEn.txt`) + + let uploadResponse = await fileInstance.uploadFile(name, body) + expectUploadResponse(expect, uploadResponse) + let fileId = uploadResponse.id + console.log(`File uploaded with ID: ${fileId}`) + + let memoryId = STAGING_MEMORY_ID + let apiResponse = await translateInstance.batchTranslateFile(fileId, memoryId) + let translationResponse = apiResponse[0] + let translationId = translationResponse.id + let translationStatus = translationResponse.status + expectTranslateResponse(expect, translationResponse, fileId) + + let numMonitored = 0 + while (translationStatus != "ReadyForDownload") { + await new Promise(resolve => setTimeout(resolve, 5000)) + let monitorResponse = await translateInstance.monitorFileTranslation({ + "translationIds": translationId + }) + translationResponse = monitorResponse[0] + translationStatus = translationResponse.status + expectTranslateResponse(expect, translationResponse, fileId) + console.log(`Translation status: ${translationStatus} || Request No: ${numMonitored}`) + numMonitored++ + if (numMonitored > 12) { + translationId = STAGING_TRANSLATION_ID + console.log("Translation exceeding time limit. Switching to finished translation.") + break + } + } + + console.log(`Downloading translation: ${translationId}`) + let downloadResponse = await translateInstance.downloadFile(translationId) + let downloadString = downloadResponse.toString() + console.log(downloadString) + expect(downloadString).to.contain("cat") + expect(downloadString.toLowerCase()).to.contain("hello") + + await fileInstance.deleteFile(fileId) + }); + }); +})); + + + diff --git a/workflow_tests/testVerifiedTranslation.js b/workflow_tests/testVerifiedTranslation.js new file mode 100644 index 0000000..1c7faaa --- /dev/null +++ b/workflow_tests/testVerifiedTranslation.js @@ -0,0 +1,161 @@ +require('dotenv').config(); + +let AdmZip = require("adm-zip"); + +function expectUploadResponse(expect, response) { + expect(response.category).to.equal("API") + expect(response.createdAt).to.not.be.null + expect(response.fileHash).to.not.be.null + expect(response.id).to.not.be.null + expect(response.name).to.equal("test_file.txt") + expect(response.updatedAt).to.not.be.null +} + +function expectDataSourceResponse(expect, dataSourceObject) { + expect(dataSourceObject.is_processing).to.equal(null) + expect(dataSourceObject.name).to.equal("test-memory") + expect(dataSourceObject.srclang).to.equal("en") + expect(dataSourceObject.srclocale).to.equal("US") + expect(dataSourceObject.trglang).to.equal("de") + expect(dataSourceObject.trglocale).to.equal("DE") + expect(dataSourceObject.version).to.equal(0) + expect(dataSourceObject.created_at).to.not.be.null + expect(dataSourceObject.updated_at).to.not.be.null + expect(dataSourceObject.id).to.not.be.null +} + +function expectCreateJobResponse(expect, createJobResponse) { + expect(createJobResponse.name).to.equal("test_job") + expect(createJobResponse.creationStatus).to.equal("COMPLETE") + expect(createJobResponse.deliveredAt).to.equal(null) + expect(createJobResponse.status).to.equal("active") + expect(createJobResponse.due).to.not.be.null + expect(createJobResponse.id).to.not.be.null + expect(createJobResponse.isProcessing).to.equal(0) + expect(createJobResponse.stats.exactWords).to.equal(0) + expect(createJobResponse.stats.fuzzyWords).to.equal(0) + expect(createJobResponse.stats.newWords).to.equal(0) + expect(createJobResponse.stats.numDeliveredProjects).to.equal(0) + expect(createJobResponse.stats.numLanguagePairs).to.equal(1) + expect(createJobResponse.stats.numProjects).to.equal(1) + expect(createJobResponse.stats.percentReviewed).to.equal(0) + expect(createJobResponse.stats.percentTranslated).to.equal(0) + expect(createJobResponse.stats.projects).to.be.an('array') + expect(createJobResponse.stats.sourceWords).to.equal(0) + expect(createJobResponse.stats.uniqueLanguagePairs).to.equal(1) + expect(createJobResponse.stats.uniqueLinguists).to.equal(0) + expect(createJobResponse.stats.workflowStatus).to.equal("READY_TO_START") +} + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.LiltNode); + } +}(this, function(expect, LiltNode) { + let defaultClient = LiltNode.ApiClient.instance; + let ApiKeyAuth = defaultClient.authentications["ApiKeyAuth"]; + defaultClient.defaultHeaders = { + "x-is-automated-test": "true", + "x-is-expected-error": "true" + }; + ApiKeyAuth.apiKey = process.env.API_KEY; + defaultClient.basePath = process.env.API_HOST; + + describe('VerifiedTranslationWorkflow', () => { + let fileInstance = new LiltNode.FilesApi(defaultClient); + let memoryInstance = new LiltNode.MemoriesApi(defaultClient); + let jobInstance = new LiltNode.JobsApi(defaultClient); + + it(`should translate a file`, async () => { + let file_name = "test_file.txt" + let uploadResponse = await fileInstance.uploadFile(file_name, "hello world") + expectUploadResponse(expect, uploadResponse) + let fileId = uploadResponse.id + console.log(`File uploaded with ID: ${fileId}`) + + let dataSourceParameters = { + "name": "test-memory", + "srclang": "en", + "trglang": "de", + "srclocale": "US", + "trglocale": "DE" + } + let createMemoryBody = new LiltNode.MemoryCreateParameters.constructFromObject(dataSourceParameters) + let createMemoryData = await memoryInstance.createMemory(createMemoryBody) + expectDataSourceResponse(expect, createMemoryData) + let memoryId = createMemoryData.id + console.log(`Memory created with ID: ${memoryId}`) + + let lang = new LiltNode.LanguagePair.constructFromObject({ + "trgLang": createMemoryData.trglang, + "memoryId": memoryId + }) + let createJobBody = new LiltNode.JobCreateParameters.constructFromObject({ + "name": "test_job", + "srcLang": "en", + "srcLocale": "US", + "languagePairs": [lang], + "fileIds": [fileId] + }) + let createJobResponse = await jobInstance.createJob(createJobBody) + let jobId = createJobResponse.id + console.log(`Job created with ID: ${jobId}`) + expectCreateJobResponse(expect, createJobResponse) + + let numMonitored = 0 + let jobs = [] + while (jobs.length == 0) { + await new Promise(resolve => setTimeout(resolve, 5000)) + await jobInstance.deliverJob(jobId) + jobs = await jobInstance.retrieveAllJobs({ + "isDelivered": "true", + "isArchived": "false" + }) + console.log(`Jobs length: ${jobs.length} || Request No: ${numMonitored}`) + numMonitored++ + if (numMonitored > 12) { + throw new Error("Job creation exceeding time limit") + } + } + expect(jobs.length).to.be.greaterThan(0) + + numMonitored = 0 + await jobInstance.exportJob(jobId, "files") + let exportJobResponse = await jobInstance.getJob(jobId) + let isProcessing = exportJobResponse.isProcessing + while (isProcessing == 1) { + await new Promise(resolve => setTimeout(resolve, 5000)) + exportJobResponse = await jobInstance.getJob(jobId) + isProcessing = exportJobResponse.isProcessing + console.log(`Job status: ${isProcessing} || Request No: ${numMonitored}`) + numMonitored++ + if (numMonitored > 12) { + throw new Error("Job export exceeding time limit") + } + } + + let downloadJobResponse = await jobInstance.downloadJob(jobId) + let zip = new AdmZip(downloadJobResponse) + let zipEntries = zip.getEntries() + expect(zipEntries.length).to.equal(2) + let zipContents = zipEntries[1].getData().toString() + expect(zipContents).to.equal("hello world") + + await jobInstance.archiveJob(jobId) + let updatedJob = await jobInstance.getJob(jobId) + expect(updatedJob.status).to.equal("archived") + + await fileInstance.deleteFile(fileId) + await jobInstance.deleteJob(jobId) + await memoryInstance.deleteMemory(memoryId) + + }); + }); +}));