* chore: 🤖 add @openapitools/openapi-generator-cli * chore: 🤖 Add @nestjs/core and @openapitools/openapi-generator-cli to ignoredBuiltDependencies These packages use postinstall for a opencollective notice * chore: 🤖 add package.json scripts for open-api client gen * chore: 🤖 add openapi generated files * chore: 🤖 add boundary api client fixture * chore: 🤖 incorporate api client fixture with base fixture * chore: 🤖 migrate existing test to use boundary api fixture * refactor: 💡 remove org cleanup from test * refactor: 💡 update sorting e2e test to use api client * refactor: 💡 clean up api client resource clean up logging * docs: ✏️ update jsdoc links for domain clients * chore: 🤖 avoid adding copywright headers to generated api * Add missing copyright headers * chore: 🤖 remove fetch argument from api client class The hope was to use request.fetch but playwright's fetch is a non-standard fetch which causes the generated api client to fail when using .clone() on the response * chore: 🤖 add optional OPENAPI_SWAGGER_URL_OR_FILE for openapi-client generation The OPENAPI_SWAGGER_URL_OR_FILE env var can be used to specify the -i flag the generate:api-client script with either: * a relative path * an absolute path * a url like: https://raw.githubusercontent.com/hashicorp/boundary/refs/heads/main/internal/gen/controller.swagger.json * refactor: 💡 clean up and refactor boundary-api-client fixture * chore: 🤖 add extra doc links and delete methods * test: 💍 add test to ensure that api-client fixture works * test: 💍 update existing e2e test examples with api-client * docs: ✏️ add comment for api-client e2e test * docs: ✏️ add additional links to service docs for api clients * refactor: 💡 cleanup api-client and corresponding test * docs: ✏️ add api client fixture docs to e2e README * fix: 🐛 fix regex * remove unnecessary capture group * add "-" to regex to allow for url segments like "storage-buckets" in "/v1/storage-buckets" * docs: ✏️ comment potential edge case in e2e api client cleanup * docs: ✏️ fix comment typo Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com> * docs: ✏️ remove auth flag for generating e2e client * docs: ✏️ add mention that java is required for generate:api * chore: 🤖 implement pr feedback * chore: 🤖 Clean up api client and add more extensive test * chore: 🤖 fix casing in api-client test Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com> --------- Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
56 lines
2.2 KiB
JSON
56 lines
2.2 KiB
JSON
{
|
|
"name": "e2e-tests",
|
|
"version": "0.0.0",
|
|
"description": "End to end tests for boundary UI",
|
|
"author": "HashiCorp",
|
|
"license": "BUSL-1.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"doc:toc": "doctoc README.md",
|
|
"lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
|
|
"lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
|
|
"lint:js": "eslint .",
|
|
"lint:js:fix": "eslint . --fix",
|
|
"format": "concurrently \"npm:format:*\" --names \"format:\"",
|
|
"format:js": "prettier --write './**/*.{js,mjs}'",
|
|
"generate:api-client": "pnpm clean:api-client && openapi-generator-cli generate -g typescript-fetch -o api-client -i ${OPENAPI_SWAGGER_URL_OR_FILE-https://raw.githubusercontent.com/hashicorp/boundary/main/internal/gen/controller.swagger.json}",
|
|
"clean:api-client": "rm -rf api-client || true",
|
|
"admin": "pnpm playwright test --config admin/playwright.config.js",
|
|
"admin:ce:aws": "pnpm run admin --grep \"(?=.*@ce)(?=.*@aws)\"",
|
|
"admin:ce:docker": "pnpm run admin --grep \"(?=.*@ce)(?=.*@docker)\"",
|
|
"admin:ent:aws": "pnpm run admin --grep \"(?=.*@ent)(?=.*@aws)\"",
|
|
"admin:ent:docker": "pnpm run admin --grep \"(?=.*@ent)(?=.*@docker)\"",
|
|
"admin:dev:chrome": "pnpm run admin --project=chromium --headed",
|
|
"admin:dev:firefox": "pnpm run admin --project=firefox --headed",
|
|
"admin:dev:safari": "pnpm run admin --project=webkit --headed",
|
|
"desktop": "pnpm run --filter desktop build && pnpm run desktop:dev",
|
|
"desktop:dev": "pnpm playwright test --config desktop/playwright.config.js --reporter=html"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.26.10",
|
|
"@babel/eslint-parser": "^7.21.3",
|
|
"@openapitools/openapi-generator-cli": "^2.20.2",
|
|
"@playwright/test": "^1.49.0",
|
|
"concurrently": "^9.1.0",
|
|
"dotenv": "^16.4.5",
|
|
"eslint": "^8.54.0",
|
|
"eslint-config-prettier": "^9.0.0",
|
|
"eslint-plugin-n": "^16.3.1",
|
|
"eslint-plugin-playwright": "^2.2.0",
|
|
"nanoid": "^5.0.9",
|
|
"prettier": "^3.0.0",
|
|
"tesseract.js": "^5.1.1"
|
|
},
|
|
"engines": {
|
|
"node": "20.* || 22.*"
|
|
},
|
|
"lint-staged": {
|
|
"*.js": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
],
|
|
"*.{scss,yaml}": "prettier --write"
|
|
}
|
|
}
|