@azure/create-playwright 1.0.1-alpha.20251231.2 → 1.0.1-alpha.20260105.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -111,7 +111,7 @@ export default defineConfig(
111
111
  If you're already using other reporters, add them to this array.
112
112
  */
113
113
  // reporter: [
114
- // ["html"],
114
+ // ["html", { open: "never" }],
115
115
  // ["@azure/playwright/reporter"],
116
116
  // ],
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PromptObject } from \"prompts\";\nimport prompts from \"prompts\";\nimport fs from \"node:fs\";\nimport { Extensions, Languages, Messages } from \"./constants.js\";\nimport type {\n OverridePromptResponse,\n PackageManager,\n PlaywrightServiceInitConfig,\n} from \"./types.js\";\nimport { executeCommand, getFileReferenceForImport } from \"./utils.js\";\nimport { getPackageManager } from \"./packageManager.js\";\n\nconst questions: PromptObject[] = [\n {\n type: \"confirm\",\n name: \"canOverride\",\n message: Messages.CAN_OVERRIDE_MESSAGE,\n initial: true,\n },\n {\n type: (prev: boolean) => (prev ? null : \"confirm\"),\n name: \"confirmationForExit\",\n message: Messages.CONFIRMATION_FOR_EXIT_MESSAGE,\n initial: true,\n },\n];\n\nexport class PlaywrightServiceInitialize {\n private _setupConfig: PlaywrightServiceInitConfig;\n private _packageManager: PackageManager;\n\n constructor(setupConfig: PlaywrightServiceInitConfig) {\n this._setupConfig = setupConfig;\n this._packageManager = getPackageManager();\n }\n\n public addServiceSupportToTestSuite = async (): Promise<void> => {\n const canProceedWithServiceInitialization = await this.checkIfServiceConfigCanBeAdded(); // if service config already present, ask user for overwrite permission\n if (!canProceedWithServiceInitialization) return;\n await this.installServicePackage(); // install service packages\n await this.createServiceConfig(); // create service config file\n this.displayAdditionalInformation(); // display additional information\n };\n\n private checkIfServiceConfigCanBeAdded = async (): Promise<boolean> => {\n if (!this.isServiceConfigFileAlreadyPresent()) return true;\n const response = (await prompts.prompt(questions, {\n onCancel: this.promptOnCancel,\n })) as OverridePromptResponse;\n if (response.canOverride) return true;\n if (!response.confirmationForExit) return this.checkIfServiceConfigCanBeAdded();\n\n console.log(`\\n${Messages.SETUP_PROCESS_EXIT_MESSAGE}`);\n return false;\n };\n\n private promptOnCancel = (): never => {\n process.exit(0);\n };\n\n private isServiceConfigFileAlreadyPresent = (): boolean => {\n return fs.existsSync(this.createAzurePlaywrightConfigFileName());\n };\n\n private displayAdditionalInformation = (): void => {\n const runCommandParallelWorkers = this._packageManager.runCommand(\n \"playwright\",\n `test -c ${this.createAzurePlaywrightConfigFileName()} --workers=20`,\n );\n\n console.log(`\\n\\nTo run playwrights tests using Playwright Workspaces\\n`);\n console.log(`\\t${runCommandParallelWorkers}\\n`);\n\n console.log(\"Getting Started - https://aka.ms/pww/docs/quickstart\\n\");\n\n console.log(\n \"If you're already using the Playwright Workspaces, please review the quickstart guide [https://aka.ms/pww/docs/quickstart] to ensure your tests continue running smoothly.\",\n );\n };\n\n private installServicePackage = async (): Promise<void> => {\n const command = this._packageManager.installDevDependencyCommand(\n \"@azure/playwright @azure/identity\",\n );\n console.log(`Installing Service package (${command})`);\n await executeCommand(command);\n };\n\n private createServiceConfig = async (): Promise<void> => {\n const serviceConfigFile = this.createAzurePlaywrightConfigFileName();\n const serviceConfigFileContent = this.createAzurePlaywrightConfigContent();\n await fs.promises.writeFile(serviceConfigFile, serviceConfigFileContent);\n console.log(`Success! Created service configuration file - ${serviceConfigFile}`);\n };\n\n private createAzurePlaywrightConfigContent = (): string => {\n const customerConfigFileName = getFileReferenceForImport(\n this._setupConfig.playwrightConfigFile,\n );\n\n const importCommandTypeScript = `import { defineConfig } from '@playwright/test';\nimport { createAzurePlaywrightConfig, ServiceOS } from '@azure/playwright';\nimport { DefaultAzureCredential } from '@azure/identity';\nimport config from '${customerConfigFileName}';\n`;\n\n const importCommandJavaScript = `const { defineConfig } = require('@playwright/test');\nconst { createAzurePlaywrightConfig, ServiceOS } = require('@azure/playwright');\nconst { DefaultAzureCredential } = require('@azure/identity');\nconst config = require('${customerConfigFileName}');\n`;\n\n const importCommand =\n this._setupConfig.projectLanguage === Languages.TypeScript\n ? importCommandTypeScript\n : importCommandJavaScript;\n\n const content =\n importCommand +\n `\n/* Learn more about service configuration at https://aka.ms/pww/docs/config */\nexport default defineConfig(\n config,\n createAzurePlaywrightConfig(config, {\n exposeNetwork: '<loopback>',\n connectTimeout: 3 * 60 * 1000, // 3 minutes\n os: ServiceOS.LINUX,\n credential: new DefaultAzureCredential(),\n }),\n {\n /*\n Enable Playwright Workspaces Reporter:\n Uncomment the reporter section below to upload test results and reports to Playwright Workspaces.\n\n Note: The HTML reporter must be included before Playwright Workspaces Reporter.\n This configuration will replace any existing reporter settings from your base config.\n If you're already using other reporters, add them to this array.\n */\n // reporter: [\n // [\"html\"],\n // [\"@azure/playwright/reporter\"],\n // ],\n }\n);\n`;\n return content;\n };\n\n private createAzurePlaywrightConfigFileName = (): string => {\n return \"playwright.service.config\" + Extensions[this._setupConfig.projectLanguage];\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PromptObject } from \"prompts\";\nimport prompts from \"prompts\";\nimport fs from \"node:fs\";\nimport { Extensions, Languages, Messages } from \"./constants.js\";\nimport type {\n OverridePromptResponse,\n PackageManager,\n PlaywrightServiceInitConfig,\n} from \"./types.js\";\nimport { executeCommand, getFileReferenceForImport } from \"./utils.js\";\nimport { getPackageManager } from \"./packageManager.js\";\n\nconst questions: PromptObject[] = [\n {\n type: \"confirm\",\n name: \"canOverride\",\n message: Messages.CAN_OVERRIDE_MESSAGE,\n initial: true,\n },\n {\n type: (prev: boolean) => (prev ? null : \"confirm\"),\n name: \"confirmationForExit\",\n message: Messages.CONFIRMATION_FOR_EXIT_MESSAGE,\n initial: true,\n },\n];\n\nexport class PlaywrightServiceInitialize {\n private _setupConfig: PlaywrightServiceInitConfig;\n private _packageManager: PackageManager;\n\n constructor(setupConfig: PlaywrightServiceInitConfig) {\n this._setupConfig = setupConfig;\n this._packageManager = getPackageManager();\n }\n\n public addServiceSupportToTestSuite = async (): Promise<void> => {\n const canProceedWithServiceInitialization = await this.checkIfServiceConfigCanBeAdded(); // if service config already present, ask user for overwrite permission\n if (!canProceedWithServiceInitialization) return;\n await this.installServicePackage(); // install service packages\n await this.createServiceConfig(); // create service config file\n this.displayAdditionalInformation(); // display additional information\n };\n\n private checkIfServiceConfigCanBeAdded = async (): Promise<boolean> => {\n if (!this.isServiceConfigFileAlreadyPresent()) return true;\n const response = (await prompts.prompt(questions, {\n onCancel: this.promptOnCancel,\n })) as OverridePromptResponse;\n if (response.canOverride) return true;\n if (!response.confirmationForExit) return this.checkIfServiceConfigCanBeAdded();\n\n console.log(`\\n${Messages.SETUP_PROCESS_EXIT_MESSAGE}`);\n return false;\n };\n\n private promptOnCancel = (): never => {\n process.exit(0);\n };\n\n private isServiceConfigFileAlreadyPresent = (): boolean => {\n return fs.existsSync(this.createAzurePlaywrightConfigFileName());\n };\n\n private displayAdditionalInformation = (): void => {\n const runCommandParallelWorkers = this._packageManager.runCommand(\n \"playwright\",\n `test -c ${this.createAzurePlaywrightConfigFileName()} --workers=20`,\n );\n\n console.log(`\\n\\nTo run playwrights tests using Playwright Workspaces\\n`);\n console.log(`\\t${runCommandParallelWorkers}\\n`);\n\n console.log(\"Getting Started - https://aka.ms/pww/docs/quickstart\\n\");\n\n console.log(\n \"If you're already using the Playwright Workspaces, please review the quickstart guide [https://aka.ms/pww/docs/quickstart] to ensure your tests continue running smoothly.\",\n );\n };\n\n private installServicePackage = async (): Promise<void> => {\n const command = this._packageManager.installDevDependencyCommand(\n \"@azure/playwright @azure/identity\",\n );\n console.log(`Installing Service package (${command})`);\n await executeCommand(command);\n };\n\n private createServiceConfig = async (): Promise<void> => {\n const serviceConfigFile = this.createAzurePlaywrightConfigFileName();\n const serviceConfigFileContent = this.createAzurePlaywrightConfigContent();\n await fs.promises.writeFile(serviceConfigFile, serviceConfigFileContent);\n console.log(`Success! Created service configuration file - ${serviceConfigFile}`);\n };\n\n private createAzurePlaywrightConfigContent = (): string => {\n const customerConfigFileName = getFileReferenceForImport(\n this._setupConfig.playwrightConfigFile,\n );\n\n const importCommandTypeScript = `import { defineConfig } from '@playwright/test';\nimport { createAzurePlaywrightConfig, ServiceOS } from '@azure/playwright';\nimport { DefaultAzureCredential } from '@azure/identity';\nimport config from '${customerConfigFileName}';\n`;\n\n const importCommandJavaScript = `const { defineConfig } = require('@playwright/test');\nconst { createAzurePlaywrightConfig, ServiceOS } = require('@azure/playwright');\nconst { DefaultAzureCredential } = require('@azure/identity');\nconst config = require('${customerConfigFileName}');\n`;\n\n const importCommand =\n this._setupConfig.projectLanguage === Languages.TypeScript\n ? importCommandTypeScript\n : importCommandJavaScript;\n\n const content =\n importCommand +\n `\n/* Learn more about service configuration at https://aka.ms/pww/docs/config */\nexport default defineConfig(\n config,\n createAzurePlaywrightConfig(config, {\n exposeNetwork: '<loopback>',\n connectTimeout: 3 * 60 * 1000, // 3 minutes\n os: ServiceOS.LINUX,\n credential: new DefaultAzureCredential(),\n }),\n {\n /*\n Enable Playwright Workspaces Reporter:\n Uncomment the reporter section below to upload test results and reports to Playwright Workspaces.\n\n Note: The HTML reporter must be included before Playwright Workspaces Reporter.\n This configuration will replace any existing reporter settings from your base config.\n If you're already using other reporters, add them to this array.\n */\n // reporter: [\n // [\"html\", { open: \"never\" }],\n // [\"@azure/playwright/reporter\"],\n // ],\n }\n);\n`;\n return content;\n };\n\n private createAzurePlaywrightConfigFileName = (): string => {\n return \"playwright.service.config\" + Extensions[this._setupConfig.projectLanguage];\n };\n}\n"]}
@@ -107,7 +107,7 @@ export default defineConfig(
107
107
  If you're already using other reporters, add them to this array.
108
108
  */
109
109
  // reporter: [
110
- // ["html"],
110
+ // ["html", { open: "never" }],
111
111
  // ["@azure/playwright/reporter"],
112
112
  // ],
113
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PromptObject } from \"prompts\";\nimport prompts from \"prompts\";\nimport fs from \"node:fs\";\nimport { Extensions, Languages, Messages } from \"./constants.js\";\nimport type {\n OverridePromptResponse,\n PackageManager,\n PlaywrightServiceInitConfig,\n} from \"./types.js\";\nimport { executeCommand, getFileReferenceForImport } from \"./utils.js\";\nimport { getPackageManager } from \"./packageManager.js\";\n\nconst questions: PromptObject[] = [\n {\n type: \"confirm\",\n name: \"canOverride\",\n message: Messages.CAN_OVERRIDE_MESSAGE,\n initial: true,\n },\n {\n type: (prev: boolean) => (prev ? null : \"confirm\"),\n name: \"confirmationForExit\",\n message: Messages.CONFIRMATION_FOR_EXIT_MESSAGE,\n initial: true,\n },\n];\n\nexport class PlaywrightServiceInitialize {\n private _setupConfig: PlaywrightServiceInitConfig;\n private _packageManager: PackageManager;\n\n constructor(setupConfig: PlaywrightServiceInitConfig) {\n this._setupConfig = setupConfig;\n this._packageManager = getPackageManager();\n }\n\n public addServiceSupportToTestSuite = async (): Promise<void> => {\n const canProceedWithServiceInitialization = await this.checkIfServiceConfigCanBeAdded(); // if service config already present, ask user for overwrite permission\n if (!canProceedWithServiceInitialization) return;\n await this.installServicePackage(); // install service packages\n await this.createServiceConfig(); // create service config file\n this.displayAdditionalInformation(); // display additional information\n };\n\n private checkIfServiceConfigCanBeAdded = async (): Promise<boolean> => {\n if (!this.isServiceConfigFileAlreadyPresent()) return true;\n const response = (await prompts.prompt(questions, {\n onCancel: this.promptOnCancel,\n })) as OverridePromptResponse;\n if (response.canOverride) return true;\n if (!response.confirmationForExit) return this.checkIfServiceConfigCanBeAdded();\n\n console.log(`\\n${Messages.SETUP_PROCESS_EXIT_MESSAGE}`);\n return false;\n };\n\n private promptOnCancel = (): never => {\n process.exit(0);\n };\n\n private isServiceConfigFileAlreadyPresent = (): boolean => {\n return fs.existsSync(this.createAzurePlaywrightConfigFileName());\n };\n\n private displayAdditionalInformation = (): void => {\n const runCommandParallelWorkers = this._packageManager.runCommand(\n \"playwright\",\n `test -c ${this.createAzurePlaywrightConfigFileName()} --workers=20`,\n );\n\n console.log(`\\n\\nTo run playwrights tests using Playwright Workspaces\\n`);\n console.log(`\\t${runCommandParallelWorkers}\\n`);\n\n console.log(\"Getting Started - https://aka.ms/pww/docs/quickstart\\n\");\n\n console.log(\n \"If you're already using the Playwright Workspaces, please review the quickstart guide [https://aka.ms/pww/docs/quickstart] to ensure your tests continue running smoothly.\",\n );\n };\n\n private installServicePackage = async (): Promise<void> => {\n const command = this._packageManager.installDevDependencyCommand(\n \"@azure/playwright @azure/identity\",\n );\n console.log(`Installing Service package (${command})`);\n await executeCommand(command);\n };\n\n private createServiceConfig = async (): Promise<void> => {\n const serviceConfigFile = this.createAzurePlaywrightConfigFileName();\n const serviceConfigFileContent = this.createAzurePlaywrightConfigContent();\n await fs.promises.writeFile(serviceConfigFile, serviceConfigFileContent);\n console.log(`Success! Created service configuration file - ${serviceConfigFile}`);\n };\n\n private createAzurePlaywrightConfigContent = (): string => {\n const customerConfigFileName = getFileReferenceForImport(\n this._setupConfig.playwrightConfigFile,\n );\n\n const importCommandTypeScript = `import { defineConfig } from '@playwright/test';\nimport { createAzurePlaywrightConfig, ServiceOS } from '@azure/playwright';\nimport { DefaultAzureCredential } from '@azure/identity';\nimport config from '${customerConfigFileName}';\n`;\n\n const importCommandJavaScript = `const { defineConfig } = require('@playwright/test');\nconst { createAzurePlaywrightConfig, ServiceOS } = require('@azure/playwright');\nconst { DefaultAzureCredential } = require('@azure/identity');\nconst config = require('${customerConfigFileName}');\n`;\n\n const importCommand =\n this._setupConfig.projectLanguage === Languages.TypeScript\n ? importCommandTypeScript\n : importCommandJavaScript;\n\n const content =\n importCommand +\n `\n/* Learn more about service configuration at https://aka.ms/pww/docs/config */\nexport default defineConfig(\n config,\n createAzurePlaywrightConfig(config, {\n exposeNetwork: '<loopback>',\n connectTimeout: 3 * 60 * 1000, // 3 minutes\n os: ServiceOS.LINUX,\n credential: new DefaultAzureCredential(),\n }),\n {\n /*\n Enable Playwright Workspaces Reporter:\n Uncomment the reporter section below to upload test results and reports to Playwright Workspaces.\n\n Note: The HTML reporter must be included before Playwright Workspaces Reporter.\n This configuration will replace any existing reporter settings from your base config.\n If you're already using other reporters, add them to this array.\n */\n // reporter: [\n // [\"html\"],\n // [\"@azure/playwright/reporter\"],\n // ],\n }\n);\n`;\n return content;\n };\n\n private createAzurePlaywrightConfigFileName = (): string => {\n return \"playwright.service.config\" + Extensions[this._setupConfig.projectLanguage];\n };\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/initialize.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PromptObject } from \"prompts\";\nimport prompts from \"prompts\";\nimport fs from \"node:fs\";\nimport { Extensions, Languages, Messages } from \"./constants.js\";\nimport type {\n OverridePromptResponse,\n PackageManager,\n PlaywrightServiceInitConfig,\n} from \"./types.js\";\nimport { executeCommand, getFileReferenceForImport } from \"./utils.js\";\nimport { getPackageManager } from \"./packageManager.js\";\n\nconst questions: PromptObject[] = [\n {\n type: \"confirm\",\n name: \"canOverride\",\n message: Messages.CAN_OVERRIDE_MESSAGE,\n initial: true,\n },\n {\n type: (prev: boolean) => (prev ? null : \"confirm\"),\n name: \"confirmationForExit\",\n message: Messages.CONFIRMATION_FOR_EXIT_MESSAGE,\n initial: true,\n },\n];\n\nexport class PlaywrightServiceInitialize {\n private _setupConfig: PlaywrightServiceInitConfig;\n private _packageManager: PackageManager;\n\n constructor(setupConfig: PlaywrightServiceInitConfig) {\n this._setupConfig = setupConfig;\n this._packageManager = getPackageManager();\n }\n\n public addServiceSupportToTestSuite = async (): Promise<void> => {\n const canProceedWithServiceInitialization = await this.checkIfServiceConfigCanBeAdded(); // if service config already present, ask user for overwrite permission\n if (!canProceedWithServiceInitialization) return;\n await this.installServicePackage(); // install service packages\n await this.createServiceConfig(); // create service config file\n this.displayAdditionalInformation(); // display additional information\n };\n\n private checkIfServiceConfigCanBeAdded = async (): Promise<boolean> => {\n if (!this.isServiceConfigFileAlreadyPresent()) return true;\n const response = (await prompts.prompt(questions, {\n onCancel: this.promptOnCancel,\n })) as OverridePromptResponse;\n if (response.canOverride) return true;\n if (!response.confirmationForExit) return this.checkIfServiceConfigCanBeAdded();\n\n console.log(`\\n${Messages.SETUP_PROCESS_EXIT_MESSAGE}`);\n return false;\n };\n\n private promptOnCancel = (): never => {\n process.exit(0);\n };\n\n private isServiceConfigFileAlreadyPresent = (): boolean => {\n return fs.existsSync(this.createAzurePlaywrightConfigFileName());\n };\n\n private displayAdditionalInformation = (): void => {\n const runCommandParallelWorkers = this._packageManager.runCommand(\n \"playwright\",\n `test -c ${this.createAzurePlaywrightConfigFileName()} --workers=20`,\n );\n\n console.log(`\\n\\nTo run playwrights tests using Playwright Workspaces\\n`);\n console.log(`\\t${runCommandParallelWorkers}\\n`);\n\n console.log(\"Getting Started - https://aka.ms/pww/docs/quickstart\\n\");\n\n console.log(\n \"If you're already using the Playwright Workspaces, please review the quickstart guide [https://aka.ms/pww/docs/quickstart] to ensure your tests continue running smoothly.\",\n );\n };\n\n private installServicePackage = async (): Promise<void> => {\n const command = this._packageManager.installDevDependencyCommand(\n \"@azure/playwright @azure/identity\",\n );\n console.log(`Installing Service package (${command})`);\n await executeCommand(command);\n };\n\n private createServiceConfig = async (): Promise<void> => {\n const serviceConfigFile = this.createAzurePlaywrightConfigFileName();\n const serviceConfigFileContent = this.createAzurePlaywrightConfigContent();\n await fs.promises.writeFile(serviceConfigFile, serviceConfigFileContent);\n console.log(`Success! Created service configuration file - ${serviceConfigFile}`);\n };\n\n private createAzurePlaywrightConfigContent = (): string => {\n const customerConfigFileName = getFileReferenceForImport(\n this._setupConfig.playwrightConfigFile,\n );\n\n const importCommandTypeScript = `import { defineConfig } from '@playwright/test';\nimport { createAzurePlaywrightConfig, ServiceOS } from '@azure/playwright';\nimport { DefaultAzureCredential } from '@azure/identity';\nimport config from '${customerConfigFileName}';\n`;\n\n const importCommandJavaScript = `const { defineConfig } = require('@playwright/test');\nconst { createAzurePlaywrightConfig, ServiceOS } = require('@azure/playwright');\nconst { DefaultAzureCredential } = require('@azure/identity');\nconst config = require('${customerConfigFileName}');\n`;\n\n const importCommand =\n this._setupConfig.projectLanguage === Languages.TypeScript\n ? importCommandTypeScript\n : importCommandJavaScript;\n\n const content =\n importCommand +\n `\n/* Learn more about service configuration at https://aka.ms/pww/docs/config */\nexport default defineConfig(\n config,\n createAzurePlaywrightConfig(config, {\n exposeNetwork: '<loopback>',\n connectTimeout: 3 * 60 * 1000, // 3 minutes\n os: ServiceOS.LINUX,\n credential: new DefaultAzureCredential(),\n }),\n {\n /*\n Enable Playwright Workspaces Reporter:\n Uncomment the reporter section below to upload test results and reports to Playwright Workspaces.\n\n Note: The HTML reporter must be included before Playwright Workspaces Reporter.\n This configuration will replace any existing reporter settings from your base config.\n If you're already using other reporters, add them to this array.\n */\n // reporter: [\n // [\"html\", { open: \"never\" }],\n // [\"@azure/playwright/reporter\"],\n // ],\n }\n);\n`;\n return content;\n };\n\n private createAzurePlaywrightConfigFileName = (): string => {\n return \"playwright.service.config\" + Extensions[this._setupConfig.projectLanguage];\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/create-playwright",
3
- "version": "1.0.1-alpha.20251231.2",
3
+ "version": "1.0.1-alpha.20260105.1",
4
4
  "description": "Package to setup @azure/playwright",
5
5
  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/loadtesting/create-playwright/README.md",
6
6
  "sdk-type": "client",
@@ -51,8 +51,8 @@
51
51
  "typescript": "~5.9.3",
52
52
  "vitest": "^4.0.8",
53
53
  "@azure/dev-tool": "^1.0.0",
54
- "@azure/eslint-plugin-azure-sdk": "^3.0.0",
55
- "@azure-tools/test-utils-vitest": "^2.0.1"
54
+ "@azure-tools/test-utils-vitest": "^2.0.1",
55
+ "@azure/eslint-plugin-azure-sdk": "^3.0.0"
56
56
  },
57
57
  "prettier": "@azure/eslint-plugin-azure-sdk/prettier.json",
58
58
  "//sampleConfiguration": {