This is an automated email from the ASF dual-hosted git repository.
erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-browser.git
The following commit(s) were added to refs/heads/master by this push:
new 9688f08 chore(test): migrate to node:test runner (#161)
9688f08 is described below
commit 9688f08034077442cd3fb816a007c962743a8c91
Author: エリス <[email protected]>
AuthorDate: Fri Jun 19 14:18:33 2026 +0900
chore(test): migrate to node:test runner (#161)
* Move 'spec' to 'test'
* Use 'node:test' and 'node:assert'
* Remove npm package 'jasmine' and 'c8'
* Update npm test script
* Add 'lcov.info' to ignore lists
* Update 'createPlatform' in 'lib/Api.js' to call 'new Api'
---
.gitignore | 1 +
.rat-excludes | 1 +
lib/Api.js | 10 +-
package-lock.json | 883 +++++++----------------------
package.json | 18 +-
spec/browser_handler.spec.js | 108 ----
spec/support/jasmine.json | 10 -
test/browser_handler.spec.js | 128 +++++
{spec => test}/create.spec.js | 46 +-
{spec => test}/fixtures/default-config.xml | 0
{spec => test}/projectApi.spec.js | 78 +--
11 files changed, 395 insertions(+), 888 deletions(-)
diff --git a/.gitignore b/.gitignore
index 4ba5ff6..a9cd2c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,7 @@ node_modules/
coverage/
.nyc_output/
temp
+lcov.info
# Output of 'npm pack'
*.tgz
diff --git a/.rat-excludes b/.rat-excludes
index dc327fc..fba2043 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -18,3 +18,4 @@
.git/
coverage/
node_modules/
+lcov.info
diff --git a/lib/Api.js b/lib/Api.js
index db3e97b..e253303 100644
--- a/lib/Api.js
+++ b/lib/Api.js
@@ -102,15 +102,9 @@ class Api {
const name = config.name().normalize('NFD');
try {
- // we create the project using our scripts in this platform
+ // Creates the project and returns an instance of Api.
return createProject(dest, config.packageName(), name, options,
config)
- .then(function () {
- // after platform is created we return Api instance based
on new Api.js location
- // Api.js has been copied to the new project
- // This is required to correctly resolve paths in the
future api calls
- const PlatformApi = require(path.resolve(dest,
'cordova/Api'));
- return new PlatformApi('browser', dest,
externalEventEmitter);
- });
+ .then(() => new Api('browser', dest, externalEventEmitter));
} catch (e) {
externalEventEmitter.emit('error', 'createPlatform is not callable
from the browser project API.');
throw (e);
diff --git a/package-lock.json b/package-lock.json
index 6b8f59b..02ad2da 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,25 +14,13 @@
},
"devDependencies": {
"@cordova/eslint-config": "^6.0.1",
- "c8": "^11.0.0",
"cordova-js": "^6.1.0",
- "jasmine": "^6.1.0",
- "tmp": "^0.2.5"
+ "tmp": "^0.2.7"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@bcoe/v8-coverage": {
- "version": "1.0.2",
- "resolved":
"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
- "integrity":
"sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@cordova/eslint-config": {
"version": "6.0.1",
"resolved":
"https://registry.npmjs.org/@cordova/eslint-config/-/eslint-config-6.0.1.tgz",
@@ -258,29 +246,43 @@
}
},
"node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity":
"sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz",
+ "integrity":
"sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==",
"dev": true,
"license": "Apache-2.0",
+ "dependencies": {
+ "@humanfs/types": "^0.15.0"
+ },
"engines": {
"node": ">=18.18.0"
}
},
"node_modules/@humanfs/node": {
- "version": "0.16.7",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
- "integrity":
"sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
+ "version": "0.16.8",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz",
+ "integrity":
"sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@humanfs/core": "^0.19.1",
+ "@humanfs/core": "^0.19.2",
+ "@humanfs/types": "^0.15.0",
"@humanwhocodes/retry": "^0.4.0"
},
"engines": {
"node": ">=18.18.0"
}
},
+ "node_modules/@humanfs/types": {
+ "version": "0.15.0",
+ "resolved":
"https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz",
+ "integrity":
"sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
+ },
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved":
"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -309,51 +311,6 @@
"url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved":
"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity":
"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jasminejs/reporters": {
- "version": "1.0.0",
- "resolved":
"https://registry.npmjs.org/@jasminejs/reporters/-/reporters-1.0.0.tgz",
- "integrity":
"sha512-rM3GG4vx2H1Gp5kYCTr9aKlOEJFd43pzpiMAiy5b1+FUc2ub4e6bS6yCi/WQNDzAa5MVp9++dwcoEtcIfoEnhA==",
- "dev": true,
- "license": "MIT"
- },
- "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==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved":
"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity":
"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved":
"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity":
"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
"node_modules/@netflix/nerror": {
"version": "1.1.3",
"resolved":
"https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
@@ -408,16 +365,9 @@
"license": "MIT"
},
"node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved":
"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity":
"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/istanbul-lib-coverage": {
- "version": "2.0.6",
- "resolved":
"https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
- "integrity":
"sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "version": "1.0.9",
+ "resolved":
"https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
+ "integrity":
"sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
"dev": true,
"license": "MIT"
},
@@ -436,12 +386,12 @@
"license": "MIT"
},
"node_modules/@xmldom/xmldom": {
- "version": "0.8.13",
- "resolved":
"https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz",
- "integrity":
"sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==",
+ "version": "0.9.10",
+ "resolved":
"https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz",
+ "integrity":
"sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==",
"license": "MIT",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=14.6"
}
},
"node_modules/accepts": {
@@ -490,9 +440,9 @@
}
},
"node_modules/ajv": {
- "version": "6.14.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
- "integrity":
"sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
+ "version": "6.15.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz",
+ "integrity":
"sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -512,16 +462,6 @@
"integrity":
"sha512-iFY7JCgHbepc0b82yLaw4IMortylNb6wG4kL+4R0C3iv6i+RHGHux/yUX5BTiRvSX/shMnngjR1YyNMnXEFh5A==",
"license": "MIT"
},
- "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": "4.3.0",
"resolved":
"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -800,9 +740,9 @@
}
},
"node_modules/brace-expansion": {
- "version": "1.1.13",
- "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
- "integrity":
"sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
+ "version": "1.1.15",
+ "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz",
+ "integrity":
"sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -831,50 +771,16 @@
"node": ">= 0.8"
}
},
- "node_modules/c8": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/c8/-/c8-11.0.0.tgz",
- "integrity":
"sha512-e/uRViGHSVIJv7zsaDKM7VRn2390TgHXqUSvYwPHBQaU6L7E9L0n9JbdkwdYPvshDT0KymBmmlwSpms3yBaMNg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@bcoe/v8-coverage": "^1.0.1",
- "@istanbuljs/schema": "^0.1.3",
- "find-up": "^5.0.0",
- "foreground-child": "^3.1.1",
- "istanbul-lib-coverage": "^3.2.0",
- "istanbul-lib-report": "^3.0.1",
- "istanbul-reports": "^3.1.6",
- "test-exclude": "^8.0.0",
- "v8-to-istanbul": "^9.0.0",
- "yargs": "^17.7.2",
- "yargs-parser": "^21.1.1"
- },
- "bin": {
- "c8": "bin/c8.js"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "peerDependencies": {
- "monocart-coverage-reports": "^2"
- },
- "peerDependenciesMeta": {
- "monocart-coverage-reports": {
- "optional": true
- }
- }
- },
"node_modules/call-bind": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
- "integrity":
"sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz",
+ "integrity":
"sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
- "es-define-property": "^1.0.0",
- "get-intrinsic": "^1.2.4",
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "get-intrinsic": "^1.3.0",
"set-function-length": "^1.2.2"
},
"engines": {
@@ -936,21 +842,6 @@
"node": ">=8"
}
},
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity":
"sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved":
"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -1027,13 +918,6 @@
"node": ">= 0.6"
}
},
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved":
"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity":
"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/cookie": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
@@ -1306,13 +1190,6 @@
"node": ">= 0.4.0"
}
},
- "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/encodeurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
@@ -1334,23 +1211,23 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.20.1",
- "resolved":
"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz",
- "integrity":
"sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==",
+ "version": "5.23.0",
+ "resolved":
"https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.23.0.tgz",
+ "integrity":
"sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.4",
- "tapable": "^2.3.0"
+ "tapable": "^2.3.3"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/es-abstract": {
- "version": "1.24.1",
- "resolved":
"https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
- "integrity":
"sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==",
+ "version": "1.24.2",
+ "resolved":
"https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz",
+ "integrity":
"sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1435,9 +1312,9 @@
}
},
"node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved":
"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity":
"sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "version": "1.1.2",
+ "resolved":
"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
+ "integrity":
"sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
@@ -1493,16 +1370,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "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-html": {
"version": "1.0.3",
"resolved":
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -1599,9 +1466,9 @@
}
},
"node_modules/eslint-compat-utils/node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity":
"sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz",
+ "integrity":
"sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg==",
"dev": true,
"license": "ISC",
"bin": {
@@ -1612,15 +1479,15 @@
}
},
"node_modules/eslint-import-resolver-node": {
- "version": "0.3.9",
- "resolved":
"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
- "integrity":
"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
+ "version": "0.3.10",
+ "resolved":
"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz",
+ "integrity":
"sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "^3.2.7",
- "is-core-module": "^2.13.0",
- "resolve": "^1.22.4"
+ "is-core-module": "^2.16.1",
+ "resolve": "^2.0.0-next.6"
}
},
"node_modules/eslint-import-resolver-node/node_modules/debug": {
@@ -1641,9 +1508,9 @@
"license": "MIT"
},
"node_modules/eslint-module-utils": {
- "version": "2.12.1",
- "resolved":
"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
- "integrity":
"sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
+ "version": "2.13.0",
+ "resolved":
"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.13.0.tgz",
+ "integrity":
"sha512-bLohSkT6469rRs8czj0tLTD8vaeIS/whvPRJVjDr7IuoTT1k5DYDERlNycjDj/HkOlvQdYurmfZ/g3fG5bgeLQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1789,9 +1656,9 @@
}
},
"node_modules/eslint-plugin-n/node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity":
"sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz",
+ "integrity":
"sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg==",
"dev": true,
"license": "ISC",
"bin": {
@@ -1802,9 +1669,9 @@
}
},
"node_modules/eslint-plugin-promise": {
- "version": "7.2.1",
- "resolved":
"https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz",
- "integrity":
"sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==",
+ "version": "7.3.0",
+ "resolved":
"https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.3.0.tgz",
+ "integrity":
"sha512-6uGiOR0INuujr6PEQmeSSP7GbIMJ/ebEXXiEzb/nOj68LknH5Pxzb/AbZivmr6VE6TkTE8rTjRK9zhKpK6HsRA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1817,7 +1684,7 @@
"url": "https://opencollective.com/eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
+ "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0"
}
},
"node_modules/eslint-scope": {
@@ -1989,13 +1856,6 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/execa/node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved":
"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity":
"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/express": {
"version": "4.22.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz",
@@ -2212,23 +2072,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/foreground-child": {
- "version": "3.3.1",
- "resolved":
"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity":
"sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -2313,16 +2156,6 @@
"node": ">= 0.4"
}
},
- "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-intrinsic": {
"version": "1.3.0",
"resolved":
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -2392,9 +2225,9 @@
}
},
"node_modules/get-tsconfig": {
- "version": "4.13.7",
- "resolved":
"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz",
- "integrity":
"sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==",
+ "version": "4.14.0",
+ "resolved":
"https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz",
+ "integrity":
"sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2404,24 +2237,6 @@
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
- "node_modules/glob": {
- "version": "13.0.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz",
- "integrity":
"sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.2.2",
- "minipass": "^7.1.3",
- "path-scurry": "^2.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved":
"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -2435,45 +2250,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/glob/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved":
"https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity":
"sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity":
"sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved":
"https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity":
"sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/globals": {
"version": "16.5.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz",
@@ -2631,9 +2407,9 @@
}
},
"node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity":
"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
+ "integrity":
"sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -2642,13 +2418,6 @@
"node": ">= 0.4"
}
},
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved":
"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity":
"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/http-errors": {
"version": "2.0.1",
"resolved":
"https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
@@ -2843,13 +2612,13 @@
}
},
"node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved":
"https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity":
"sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "version": "2.16.2",
+ "resolved":
"https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz",
+ "integrity":
"sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "hasown": "^2.0.2"
+ "hasown": "^2.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -2933,16 +2702,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "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-generator-function": {
"version": "1.1.2",
"resolved":
"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
@@ -3210,72 +2969,21 @@
"integrity":
"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"license": "ISC"
},
- "node_modules/istanbul-lib-coverage": {
- "version": "3.2.2",
- "resolved":
"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity":
"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "resolved":
"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity":
"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.2.0",
- "resolved":
"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
- "integrity":
"sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jasmine": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-6.1.0.tgz",
- "integrity":
"sha512-WPphPqEMY0uBRMjuhRHoVoxQNvJuxIMqz0yIcJ3k3oYxBedeGoH60/NXNgasxnx2FvfXrq5/r+2wssJ7WE8ABw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jasminejs/reporters": "^1.0.0",
- "glob": "^10.2.2 || ^11.0.3 || ^12.0.0 || ^13.0.0",
- "jasmine-core": "~6.1.0"
- },
- "bin": {
- "jasmine": "bin/jasmine.js"
- }
- },
- "node_modules/jasmine-core": {
- "version": "6.1.0",
- "resolved":
"https://registry.npmjs.org/jasmine-core/-/jasmine-core-6.1.0.tgz",
- "integrity":
"sha512-p/tjBw58O6vxKIWMlrU+yys8lqR3+l3UrqwNTT7wpj+dQ7N4etQekFM8joI+cWzPDYqZf54kN+hLC1+s5TvZvg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity":
"sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
+ "integrity":
"sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/puzrin"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/nodeca"
+ }
+ ],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -3319,9 +3027,9 @@
}
},
"node_modules/jsonfile": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
- "integrity":
"sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz",
+ "integrity":
"sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3384,45 +3092,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/lru-cache": {
- "version": "11.2.7",
- "resolved":
"https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz",
- "integrity":
"sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/make-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
- "integrity":
"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "7.7.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
- "integrity":
"sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved":
"https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -3563,16 +3232,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/minipass": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
- "integrity":
"sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
"node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -3595,6 +3254,25 @@
"node": ">= 0.6"
}
},
+ "node_modules/node-exports-info": {
+ "version": "1.6.0",
+ "resolved":
"https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz",
+ "integrity":
"sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array.prototype.flatmap": "^1.3.3",
+ "es-errors": "^1.3.0",
+ "object.entries": "^1.1.9",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/npm-run-path": {
"version": "4.0.1",
"resolved":
"https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -3651,6 +3329,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/object.entries": {
+ "version": "1.1.9",
+ "resolved":
"https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
+ "integrity":
"sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/object.fromentries": {
"version": "2.0.8",
"resolved":
"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
@@ -3880,23 +3574,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/path-scurry": {
- "version": "2.0.2",
- "resolved":
"https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz",
- "integrity":
"sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/path-to-regexp": {
"version": "0.1.13",
"resolved":
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz",
@@ -3926,12 +3603,12 @@
}
},
"node_modules/plist": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz",
- "integrity":
"sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz",
+ "integrity":
"sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==",
"license": "MIT",
"dependencies": {
- "@xmldom/xmldom": "^0.8.8",
+ "@xmldom/xmldom": "^0.9.10",
"base64-js": "^1.5.1",
"xmlbuilder": "^15.1.1"
},
@@ -4085,24 +3762,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "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.22.11",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
- "integrity":
"sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
+ "version": "2.0.0-next.7",
+ "resolved":
"https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz",
+ "integrity":
"sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "is-core-module": "^2.16.1",
+ "es-errors": "^1.3.0",
+ "is-core-module": "^2.16.2",
+ "node-exports-info": "^1.6.0",
+ "object-keys": "^1.1.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -4170,15 +3840,15 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.1.3",
- "resolved":
"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
- "integrity":
"sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
+ "version": "1.1.4",
+ "resolved":
"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz",
+ "integrity":
"sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
+ "call-bind": "^1.0.9",
+ "call-bound": "^1.0.4",
+ "get-intrinsic": "^1.3.0",
"has-symbols": "^1.1.0",
"isarray": "^2.0.5"
},
@@ -4390,14 +4060,14 @@
}
},
"node_modules/side-channel": {
- "version": "1.1.0",
- "resolved":
"https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity":
"sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "version": "1.1.1",
+ "resolved":
"https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
+ "integrity":
"sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "object-inspect": "^1.13.3",
- "side-channel-list": "^1.0.0",
+ "object-inspect": "^1.13.4",
+ "side-channel-list": "^1.0.1",
"side-channel-map": "^1.0.1",
"side-channel-weakmap": "^1.0.2"
},
@@ -4409,13 +4079,13 @@
}
},
"node_modules/side-channel-list": {
- "version": "1.0.0",
- "resolved":
"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
- "integrity":
"sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "version": "1.0.1",
+ "resolved":
"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
+ "integrity":
"sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "object-inspect": "^1.13.3"
+ "object-inspect": "^1.13.4"
},
"engines": {
"node": ">= 0.4"
@@ -4462,17 +4132,11 @@
}
},
"node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved":
"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity":
"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "version": "3.0.7",
+ "resolved":
"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity":
"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
+ "license": "ISC"
},
"node_modules/slash": {
"version": "3.0.0",
@@ -4507,35 +4171,21 @@
"node": ">= 0.4"
}
},
- "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/string.prototype.trim": {
- "version": "1.2.10",
- "resolved":
"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
- "integrity":
"sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
+ "version": "1.2.11",
+ "resolved":
"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz",
+ "integrity":
"sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
+ "call-bind": "^1.0.9",
+ "call-bound": "^1.0.4",
"define-data-property": "^1.1.4",
"define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-object-atoms": "^1.0.0",
- "has-property-descriptors": "^1.0.2"
+ "es-abstract": "^1.24.2",
+ "es-object-atoms": "^1.1.2",
+ "has-property-descriptors": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
@@ -4545,16 +4195,16 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.9",
- "resolved":
"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
- "integrity":
"sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
+ "version": "1.0.10",
+ "resolved":
"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz",
+ "integrity":
"sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
+ "call-bind": "^1.0.9",
+ "call-bound": "^1.0.4",
"define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
+ "es-object-atoms": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
@@ -4581,19 +4231,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "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-bom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
@@ -4653,9 +4290,9 @@
}
},
"node_modules/tapable": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz",
- "integrity":
"sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
+ "integrity":
"sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4666,64 +4303,10 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/test-exclude": {
- "version": "8.0.0",
- "resolved":
"https://registry.npmjs.org/test-exclude/-/test-exclude-8.0.0.tgz",
- "integrity":
"sha512-ZOffsNrXYggvU1mDGHk54I96r26P8SyMjO5slMKSc7+IWmtB/MQKnEC2fP51imB3/pT6YK5cT5E8f+Dd9KdyOQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^13.0.6",
- "minimatch": "^10.2.2"
- },
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/test-exclude/node_modules/balanced-match": {
- "version": "4.0.4",
- "resolved":
"https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
- "integrity":
"sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/test-exclude/node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved":
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity":
"sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^4.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- }
- },
- "node_modules/test-exclude/node_modules/minimatch": {
- "version": "10.2.4",
- "resolved":
"https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
- "integrity":
"sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "brace-expansion": "^5.0.2"
- },
- "engines": {
- "node": "18 || 20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/tmp": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.6.tgz",
- "integrity":
"sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA==",
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz",
+ "integrity":
"sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4884,18 +4467,18 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.7",
- "resolved":
"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
- "integrity":
"sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+ "version": "1.0.8",
+ "resolved":
"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz",
+ "integrity":
"sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0",
- "reflect.getprototypeof": "^1.0.6"
+ "call-bind": "^1.0.9",
+ "for-each": "^0.3.5",
+ "gopd": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "possible-typed-array-names": "^1.1.0",
+ "reflect.getprototypeof": "^1.0.10"
},
"engines": {
"node": ">= 0.4"
@@ -4905,9 +4488,9 @@
}
},
"node_modules/typescript": {
- "version": "6.0.2",
- "resolved":
"https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz",
- "integrity":
"sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
+ "version": "6.0.3",
+ "resolved":
"https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
+ "integrity":
"sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
@@ -4976,21 +4559,6 @@
"node": ">= 0.4.0"
}
},
- "node_modules/v8-to-istanbul": {
- "version": "9.3.0",
- "resolved":
"https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
- "integrity":
"sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.12",
- "@types/istanbul-lib-coverage": "^2.0.1",
- "convert-source-map": "^2.0.0"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -5083,14 +4651,14 @@
}
},
"node_modules/which-typed-array": {
- "version": "1.1.20",
- "resolved":
"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
- "integrity":
"sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
+ "version": "1.1.22",
+ "resolved":
"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz",
+ "integrity":
"sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==",
"dev": true,
"license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
+ "call-bind": "^1.0.9",
"call-bound": "^1.0.4",
"for-each": "^0.3.5",
"get-proto": "^1.0.1",
@@ -5114,24 +4682,6 @@
"node": ">=0.10.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/xmlbuilder": {
"version": "15.1.1",
"resolved":
"https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz",
@@ -5141,45 +4691,6 @@
"node": ">=8.0"
}
},
- "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/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity":
"sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved":
"https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity":
"sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved":
"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index a2212d2..ec9bd89 100644
--- a/package.json
+++ b/package.json
@@ -12,11 +12,9 @@
],
"scripts": {
"prepare": "cordova-js build > templates/www/cordova.js",
- "cover": "c8 jasmine",
"lint": "eslint .",
"lint:fix": "npm run lint -- --fix",
- "jasmine": "jasmine",
- "test": "npm run lint && npm run cover"
+ "test": "npm run lint && node --test --experimental-test-coverage
--test-reporter=spec --test-reporter=lcov --test-reporter-destination=stdout
--test-reporter-destination=lcov.info"
},
"dependencies": {
"cordova-common": "^6.0.0",
@@ -24,24 +22,12 @@
},
"devDependencies": {
"@cordova/eslint-config": "^6.0.1",
- "c8": "^11.0.0",
"cordova-js": "^6.1.0",
- "jasmine": "^6.1.0",
- "tmp": "^0.2.5"
+ "tmp": "^0.2.7"
},
"author": "Apache Software Foundation",
"license": "Apache-2.0",
"engines": {
"node": "^20.17.0 || >=22.9.0"
- },
- "c8": {
- "include": [
- "lib/**",
- "templates/cordova/**"
- ],
- "reporter": [
- "lcov",
- "text"
- ]
}
}
diff --git a/spec/browser_handler.spec.js b/spec/browser_handler.spec.js
deleted file mode 100644
index e3cc39f..0000000
--- a/spec/browser_handler.spec.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-*/
-
-const fs = require('node:fs');
-const path = require('node:path');
-
-const browser_handler = require('../lib/browser_handler');
-
-describe('Asset install tests', function () {
- let fsstatMock;
- const asset = {
- itemType: 'asset',
- src: path.join('someSrc', 'ServiceWorker.js'),
- target: 'ServiceWorker.js'
- };
- const assetWithPath = {
- itemType: 'asset',
- src: path.join('someSrc', 'reformat.js'),
- target: path.join('js', 'deepdown', 'reformat.js')
- };
- const assetWithPath2 = {
- itemType: 'asset',
- src: path.join('someSrc', 'reformat.js'),
- target: path.join('js', 'deepdown', 'reformat2.js')
- };
-
- const plugin_dir = 'pluginDir';
- const wwwDest = 'dest';
-
- it('if src is a directory, should be called with cpSync recursive force',
function () {
- const cp = spyOn(fs, 'cpSync').and.callFake(() => {});
- const mkdirSync = spyOn(fs, 'mkdirSync').and.callFake(() => {});
-
- fsstatMock = {
- isDirectory: function () {
- return true;
- }
- };
- spyOn(fs, 'statSync').and.returnValue(fsstatMock);
- browser_handler.asset.install(asset, plugin_dir, wwwDest);
- expect(mkdirSync).toHaveBeenCalledWith(wwwDest, {
- recursive: true
- });
- expect(cp).toHaveBeenCalledWith(jasmine.any(String), path.join('dest',
asset.target), {
- recursive: true,
- force: true
- });
- });
- it('if src is not a directory and asset has no path, should be called with
cp, -f', function () {
- const cp = spyOn(fs, 'cpSync').and.callFake(() => {});
- const mkdir = spyOn(fs, 'mkdirSync');
- spyOn(fs, 'existsSync').and.returnValue(true);
- fsstatMock = {
- isDirectory: function () {
- return false;
- }
- };
- spyOn(fs, 'statSync').and.returnValue(fsstatMock);
- browser_handler.asset.install(asset, plugin_dir, wwwDest);
- expect(mkdir).not.toHaveBeenCalled();
- expect(cp).toHaveBeenCalledWith(path.join('pluginDir', asset.src),
path.join('dest', asset.target), {
- force: true
- });
- });
- it('if src is not a directory and asset has a path, should be called with
cp, -f', function () {
- /*
- Test that a dest directory gets created if it does not exist
- */
- const cp = spyOn(fs, 'cpSync').and.callFake(() => {});
- const mkdir = spyOn(fs, 'mkdirSync');
- fsstatMock = {
- isDirectory: function () {
- return false;
- }
- };
- spyOn(fs, 'statSync').and.returnValue(fsstatMock);
-
- browser_handler.asset.install(assetWithPath, plugin_dir, wwwDest);
- expect(mkdir).toHaveBeenCalledWith(path.join('dest', 'js',
'deepdown'), {
- recursive: true
- });
- expect(cp).toHaveBeenCalledWith(path.join('pluginDir',
assetWithPath.src), path.join('dest', assetWithPath.target), {
- force: true
- });
- /*
- Now test that a second call to the same dest folder skips mkdir
because the first asset call should have created it.
- */
- spyOn(fs, 'existsSync').and.returnValue(true);
- browser_handler.asset.install(assetWithPath2, plugin_dir, wwwDest);
- expect(mkdir.calls.count()).toBe(1); // not called again
- });
-});
diff --git a/spec/support/jasmine.json b/spec/support/jasmine.json
deleted file mode 100644
index 7122dfd..0000000
--- a/spec/support/jasmine.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "spec_dir": "spec",
- "spec_files": [
- "*[sS]pec.js"
- ],
- "helpers": [
- ],
- "stopSpecOnExpectationFailure": false,
- "random": false
-}
\ No newline at end of file
diff --git a/test/browser_handler.spec.js b/test/browser_handler.spec.js
new file mode 100644
index 0000000..84e4b8d
--- /dev/null
+++ b/test/browser_handler.spec.js
@@ -0,0 +1,128 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+
+const { describe, it, mock } = require('node:test');
+const assert = require('node:assert');
+const fs = require('node:fs');
+const path = require('node:path');
+
+const browser_handler = require('../lib/browser_handler');
+
+describe('Asset install tests', () => {
+ const asset = {
+ itemType: 'asset',
+ src: path.join('someSrc', 'ServiceWorker.js'),
+ target: 'ServiceWorker.js'
+ };
+ const assetWithPath = {
+ itemType: 'asset',
+ src: path.join('someSrc', 'reformat.js'),
+ target: path.join('js', 'deepdown', 'reformat.js')
+ };
+ const assetWithPath2 = {
+ itemType: 'asset',
+ src: path.join('someSrc', 'reformat.js'),
+ target: path.join('js', 'deepdown', 'reformat2.js')
+ };
+
+ const plugin_dir = 'pluginDir';
+ const wwwDest = 'dest';
+
+ it('if src is a directory, should be called with cpSync recursive force',
() => {
+ const cpSyncSpy = mock.method(fs, 'cpSync', () => {});
+ const mkdirSyncSpy = mock.method(fs, 'mkdirSync', () => {});
+ mock.method(fs, 'statSync', () => ({
+ isDirectory: () => true
+ }));
+
+ browser_handler.asset.install(asset, plugin_dir, wwwDest);
+
+ assert.ok(
+ mkdirSyncSpy.mock.calls.some(({ arguments: args }) => (
+ args[0] === wwwDest &&
+ args[1]?.recursive === true
+ ))
+ );
+
+ assert.ok(
+ cpSyncSpy.mock.calls.some(({ arguments: args }) => (
+ typeof args[0] === 'string' &&
+ args[1] === path.join('dest', asset.target) &&
+ args[2]?.recursive === true &&
+ args[2]?.force === true
+ ))
+ );
+ });
+
+ it('if src is not a directory and asset has no path, should be called with
cp, -f', () => {
+ const cpSyncSpy = mock.method(fs, 'cpSync', () => {});
+ const mkdirSyncSpy = mock.method(fs, 'mkdirSync');
+ mock.method(fs, 'existsSync', () => true);
+ mock.method(fs, 'statSync', () => ({
+ isDirectory: () => false
+ }));
+
+ browser_handler.asset.install(asset, plugin_dir, wwwDest);
+
+ assert.strictEqual(mkdirSyncSpy.mock.calls.length, 0); // not was
called
+ assert.ok(
+ cpSyncSpy.mock.calls.some(({ arguments: args }) => (
+ args[0] === path.join('pluginDir', asset.src) &&
+ args[1] === path.join('dest', asset.target) &&
+ args[2]?.force === true
+ ))
+ );
+ });
+
+ it('if src is not a directory and asset has a path, should be called with
cp, -f', () => {
+ /*
+ Test that a dest directory gets created if it does not exist
+ */
+ const cpSyncSpy = mock.method(fs, 'cpSync', () => {});
+ const mkdirSyncSpy = mock.method(fs, 'mkdirSync');
+ mock.method(fs, 'statSync', () => ({
+ isDirectory: () => false
+ }));
+ mock.method(fs, 'existsSync', () => false);
+
+ browser_handler.asset.install(assetWithPath, plugin_dir, wwwDest);
+
+ assert.ok(
+ mkdirSyncSpy.mock.calls.some(({ arguments: args }) => (
+ args[0] === path.join('dest', 'js', 'deepdown') &&
+ args[1]?.recursive === true
+ ))
+ );
+
+ assert.ok(
+ cpSyncSpy.mock.calls.some(({ arguments: args }) => (
+ args[0] === path.join('pluginDir', assetWithPath.src) &&
+ args[1] === path.join('dest', assetWithPath.target) &&
+ args[2]?.force === true
+ ))
+ );
+
+ /*
+ Now test that a second call to the same dest folder skips mkdir
because the first asset call should have created it.
+ */
+ mock.method(fs, 'existsSync', () => true);
+ browser_handler.asset.install(assetWithPath2, plugin_dir, wwwDest);
+ assert.strictEqual(mkdirSyncSpy.mock.calls.length, 1); // not called
again
+ });
+});
diff --git a/spec/create.spec.js b/test/create.spec.js
similarity index 72%
rename from spec/create.spec.js
rename to test/create.spec.js
index 6c1b13a..ecf735b 100644
--- a/spec/create.spec.js
+++ b/test/create.spec.js
@@ -17,6 +17,8 @@
under the License.
*/
+const { describe, it, beforeEach, afterEach } = require('node:test');
+const assert = require('node:assert');
const fs = require('node:fs');
const path = require('node:path');
const tmp = require('tmp');
@@ -37,8 +39,8 @@ function makeTempDir () {
* @param {String} projectName
*/
function verifyProjectFiles (tmpDir, projectName) {
- expect(fs.existsSync(path.join(tmpDir, 'www'))).toBe(true);
- expect(fs.existsSync(path.join(tmpDir, 'platform_www'))).toBe(true);
+ assert.ok(fs.existsSync(path.join(tmpDir, 'www')));
+ assert.ok(fs.existsSync(path.join(tmpDir, 'platform_www')));
}
/**
@@ -56,28 +58,28 @@ async function verifyCreatedProject (tmpDir, packageName,
projectName) {
function verifyManifestFiles (tmpDir, projectName) {
const manifestPath = path.join(tmpDir, 'platform_www/manifest.json');
- expect(fs.existsSync(manifestPath)).toBe(true);
+ assert.ok(fs.existsSync(manifestPath));
const manifestObj = require(manifestPath);
- expect(manifestObj.name).toBe(projectName);
+ assert.strictEqual(manifestObj.name, projectName);
// start_url
- expect(manifestObj.start_url).toBe('index.html');
+ assert.strictEqual(manifestObj.start_url, 'index.html');
// display
- expect(manifestObj.display).toBe('standalone');
+ assert.strictEqual(manifestObj.display, 'standalone');
// description
- expect(manifestObj.description).toBeDefined();
+ assert.notStrictEqual(manifestObj.description, undefined);
// background_color
- expect(manifestObj.background_color).toBeDefined();
+ assert.notStrictEqual(manifestObj.background_color, undefined);
// theme_color
- expect(manifestObj.theme_color).toBeDefined();
+ assert.notStrictEqual(manifestObj.theme_color, undefined);
// scope
- expect(manifestObj.scope).toBeDefined();
+ assert.notStrictEqual(manifestObj.scope, undefined);
// orientation
- expect(manifestObj.orientation).toBeDefined();
+ assert.notStrictEqual(manifestObj.orientation, undefined);
// icons
- expect(manifestObj.icons).toBeDefined();
- expect(Array.isArray(manifestObj.icons)).toBe(true);
- expect(manifestObj.icons.length).toBeDefined();
- expect(manifestObj.icons.length).toBeGreaterThan(0);
+ assert.notStrictEqual(manifestObj.icons, undefined);
+ assert.ok(Array.isArray(manifestObj.icons));
+ assert.notStrictEqual(manifestObj.icons.length, undefined);
+ assert.ok(manifestObj.icons.length > 0);
}
describe('create', () => {
@@ -91,43 +93,43 @@ describe('create', () => {
fs.rmSync(tmpDir, { recursive: true, force: true });
});
- it('create project with ascii name, no spaces', function () {
+ it('create project with ascii name, no spaces', () => {
const projectName = 'testcreate';
const packageName = 'com.test.app1';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('create project with ascii name, and spaces', function () {
+ it('create project with ascii name, and spaces', () => {
const projectName = 'test create';
const packageName = 'com.test.app2';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('create project with unicode name, no spaces', function () {
+ it('create project with unicode name, no spaces', () => {
const projectName = '応応応応用用用用';
const packageName = 'com.test.app3';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('create project with unicode name, and spaces', function () {
+ it('create project with unicode name, and spaces', () => {
const projectName = '応応応応 用用用用';
const packageName = 'com.test.app4';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('create project with ascii+unicode name, no spaces', function () {
+ it('create project with ascii+unicode name, no spaces', () => {
const projectName = '応応応応hello用用用用';
const packageName = 'com.test.app5';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('create project with ascii+unicode name, and spaces', function () {
+ it('create project with ascii+unicode name, and spaces', () => {
const projectName = '応応応応 hello 用用用用';
const packageName = 'com.test.app6';
return verifyCreatedProject(tmpDir, packageName, projectName);
});
- it('should have manifest.json', function () {
+ it('should have manifest.json', () => {
const projectName = 'testcreate';
const packageName = 'com.test.app1';
return verifyCreatedProject(tmpDir, packageName, projectName)
diff --git a/spec/fixtures/default-config.xml b/test/fixtures/default-config.xml
similarity index 100%
rename from spec/fixtures/default-config.xml
rename to test/fixtures/default-config.xml
diff --git a/spec/projectApi.spec.js b/test/projectApi.spec.js
similarity index 53%
rename from spec/projectApi.spec.js
rename to test/projectApi.spec.js
index bc18cb4..c35e979 100644
--- a/spec/projectApi.spec.js
+++ b/test/projectApi.spec.js
@@ -17,6 +17,8 @@
under the License.
*/
+const { describe, it, before } = require('node:test');
+const assert = require('node:assert');
const path = require('node:path');
const { Module } = require('node:module');
const EventEmitter = require('node:events');
@@ -34,19 +36,19 @@ function makeTempDir () {
return path.join(tempdir.name,
`cordova-browser-create-test-${Date.now()}`);
}
-describe('can get the Api', function () {
- it('should be defined', function () {
- expect(Api).toBeDefined();
+describe('can get the Api', () => {
+ it('should be defined', () => {
+ assert.notStrictEqual(Api, undefined);
});
- it('should export static createPlatform function', function () {
- expect(Api.createPlatform).toBeDefined();
- expect(typeof Api.createPlatform).toBe('function');
+ it('should export static createPlatform function', () => {
+ assert.notStrictEqual(Api.createPlatform, undefined);
+ assert.strictEqual(typeof Api.createPlatform, 'function');
});
- it('should export static updatePlatform function', function () {
- expect(Api.updatePlatform).toBeDefined();
- expect(typeof Api.updatePlatform).toBe('function');
+ it('should export static updatePlatform function', () => {
+ assert.notStrictEqual(Api.updatePlatform, undefined);
+ assert.strictEqual(typeof Api.updatePlatform, 'function');
});
describe('static createPlatform method', () => {
@@ -60,16 +62,16 @@ describe('can get the Api', function () {
return Api.createPlatform(testDir, config, testOpts, new
EventEmitter())
.then(api => {
- expect(api).toBeInstanceOf(Api);
+ assert.ok(api instanceof Api);
});
});
});
});
-describe('project level Api', function () {
+describe('project level Api', () => {
let testApi = null;
- beforeAll(() => {
+ before(() => {
const testDir = makeTempDir();
const testOpts = {};
@@ -82,47 +84,47 @@ describe('project level Api', function () {
});
});
- it('can be created', function () {
- expect(testApi).toBeDefined();
+ it('can be created', () => {
+ assert.notStrictEqual(testApi, undefined);
});
- it('has a requirements method', function () {
- expect(testApi.requirements).toBeDefined();
- expect(typeof testApi.requirements).toBe('function');
+ it('has a requirements method', () => {
+ assert.notStrictEqual(testApi.requirements, undefined);
+ assert.strictEqual(typeof testApi.requirements, 'function');
});
- it('has a clean method', function () {
- expect(testApi.clean).toBeDefined();
- expect(typeof testApi.clean).toBe('function');
+ it('has a clean method', () => {
+ assert.notStrictEqual(testApi.clean, undefined);
+ assert.strictEqual(typeof testApi.clean, 'function');
});
- it('has a run method', function () {
- expect(testApi.run).toBeDefined();
- expect(typeof testApi.run).toBe('function');
+ it('has a run method', () => {
+ assert.notStrictEqual(testApi.run, undefined);
+ assert.strictEqual(typeof testApi.run, 'function');
});
- it('has a build method', function () {
- expect(testApi.build).toBeDefined();
- expect(typeof testApi.build).toBe('function');
+ it('has a build method', () => {
+ assert.notStrictEqual(testApi.build, undefined);
+ assert.strictEqual(typeof testApi.build, 'function');
});
- it('has a removePlugin method', function () {
- expect(testApi.removePlugin).toBeDefined();
- expect(typeof testApi.removePlugin).toBe('function');
+ it('has a removePlugin method', () => {
+ assert.notStrictEqual(testApi.removePlugin, undefined);
+ assert.strictEqual(typeof testApi.removePlugin, 'function');
});
- it('has a addPlugin method', function () {
- expect(testApi.addPlugin).toBeDefined();
- expect(typeof testApi.addPlugin).toBe('function');
+ it('has a addPlugin method', () => {
+ assert.notStrictEqual(testApi.addPlugin, undefined);
+ assert.strictEqual(typeof testApi.addPlugin, 'function');
});
- it('has a prepare method', function () {
- expect(testApi.prepare).toBeDefined();
- expect(typeof testApi.prepare).toBe('function');
+ it('has a prepare method', () => {
+ assert.notStrictEqual(testApi.prepare, undefined);
+ assert.strictEqual(typeof testApi.prepare, 'function');
});
- it('has a getPlatformInfo method', function () {
- expect(testApi.getPlatformInfo).toBeDefined();
- expect(typeof testApi.getPlatformInfo).toBe('function');
+ it('has a getPlatformInfo method', () => {
+ assert.notStrictEqual(testApi.getPlatformInfo, undefined);
+ assert.strictEqual(typeof testApi.getPlatformInfo, 'function');
});
});
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]