diff --git a/cspell.json b/cspell.json index e1ee4b2..3fae701 100644 --- a/cspell.json +++ b/cspell.json @@ -1,4 +1,15 @@ { - "ignorePaths": ["**/node_modules/**", "**/third-party/**"], - "words": ["appload", "domcontentloaded", "networkidle", "outfile", "tada", "upvote"] + "ignorePaths": [ + "**/node_modules/**", + "**/third-party/**" + ], + "words": [ + "appload", + "deepmerge", + "domcontentloaded", + "networkidle", + "outfile", + "tada", + "upvote" + ] } diff --git a/package-lock.json b/package-lock.json index 42cd470..7c20135 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.1.0", "license": "MIT", "dependencies": { - "glob": "^10.3.10", - "lodash.merge": "^4.6.2" + "deepmerge": "^4.3.1", + "glob": "^10.3.10" }, "devDependencies": { "@ionic/prettier-config": "^4.0.0", @@ -18,7 +18,6 @@ "@stencil/core": "^4.13.0", "@types/eslint": "^8.56.2", "@types/jest": "^29.5.12", - "@types/lodash.merge": "^4.6.9", "@types/node": "^20.11.19", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", @@ -2674,21 +2673,6 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, - "node_modules/@types/lodash": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz", - "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==", - "dev": true - }, - "node_modules/@types/lodash.merge": { - "version": "4.6.9", - "resolved": "https://registry.npmjs.org/@types/lodash.merge/-/lodash.merge-4.6.9.tgz", - "integrity": "sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==", - "dev": true, - "dependencies": { - "@types/lodash": "*" - } - }, "node_modules/@types/node": { "version": "20.11.25", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", @@ -3970,7 +3954,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6709,7 +6692,8 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lru-cache": { "version": "5.1.1", diff --git a/package.json b/package.json index 28e9c3a..02390b9 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,6 @@ "@stencil/core": "^4.13.0", "@types/eslint": "^8.56.2", "@types/jest": "^29.5.12", - "@types/lodash.merge": "^4.6.9", "@types/node": "^20.11.19", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", @@ -72,7 +71,7 @@ }, "prettier": "@ionic/prettier-config", "dependencies": { - "glob": "^10.3.10", - "lodash.merge": "^4.6.2" + "deepmerge": "^4.3.1", + "glob": "^10.3.10" } } diff --git a/src/create-config.ts b/src/create-config.ts index 875df2a..aae45e3 100644 --- a/src/create-config.ts +++ b/src/create-config.ts @@ -1,5 +1,5 @@ import { PlaywrightTestConfig } from '@playwright/test'; -import merge from 'lodash.merge'; +import merge from 'deepmerge'; import { loadConfigMeta } from './load-config-meta'; import { ProcessConstants } from './process-constants'; @@ -20,7 +20,9 @@ type DeepPartial = T extends object * @param overrides Values to override in the default config. Any Playwright config option can be overridden. * @returns A {@link PlaywrightTestConfig} object */ -export const createConfig = async (overrides?: DeepPartial): Promise => { +export const createConfig = async ( + overrides: DeepPartial = {}, +): Promise => { const { webServerUrl, baseURL, stencilEntryPath, stencilNamespace } = await loadConfigMeta(); // Set the Stencil namespace and entry path as environment variables so we can use them when constructing @@ -29,7 +31,7 @@ export const createConfig = async (overrides?: DeepPartial process.env[ProcessConstants.STENCIL_NAMESPACE] = stencilNamespace; process.env[ProcessConstants.STENCIL_ENTRY_PATH] = stencilEntryPath; - return merge( + return merge>( { testMatch: '*.e2e.ts', use: {