diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..ae39812 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,31 @@ +# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [12.x, 14.x, 16.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run build --if-present + - run: npm test diff --git a/browsers/brave-beta.js b/browsers/brave-beta.js new file mode 100644 index 0000000..41ada6d --- /dev/null +++ b/browsers/brave-beta.js @@ -0,0 +1,4 @@ +module.exports = { + linux: ['brave-browser-beta'], + // TODO darwin and win paths +}; diff --git a/browsers/brave-nightly.js b/browsers/brave-nightly.js new file mode 100644 index 0000000..4547ce6 --- /dev/null +++ b/browsers/brave-nightly.js @@ -0,0 +1,4 @@ +module.exports = { + linux: ['brave-browser-nightly'], + // TODO darwin and win paths +}; diff --git a/browsers/chrome-beta.js b/browsers/chrome-beta.js new file mode 100644 index 0000000..92acc7a --- /dev/null +++ b/browsers/chrome-beta.js @@ -0,0 +1,4 @@ +module.exports = { + linux: ['google-chrome-beta'], + // TODO darwin and win paths +}; diff --git a/browsers/firefox-beta.js b/browsers/firefox-beta.js new file mode 100644 index 0000000..e0b0df9 --- /dev/null +++ b/browsers/firefox-beta.js @@ -0,0 +1,4 @@ +module.exports = { + linux: ['firefox-beta'], + // TODO win and darwin +}; diff --git a/browsers/firefox-nightly.js b/browsers/firefox-nightly.js index 377a2a8..54df4b4 100644 --- a/browsers/firefox-nightly.js +++ b/browsers/firefox-nightly.js @@ -1,4 +1,5 @@ module.exports = { + linux: ['firefox-nightly'], darwin: ['/Applications/Firefox Nightly.app/Contents/MacOS/firefox-bin'], win32: [ process.env.LOCALAPPDATA + '\\Firefox Nightly\\firefox.exe', diff --git a/browsers/firefox.js b/browsers/firefox.js index ef68494..368dbd9 100644 --- a/browsers/firefox.js +++ b/browsers/firefox.js @@ -1,5 +1,5 @@ module.exports = { - linux: ['firefox'], + linux: ['firefox', 'firefox-stable'], darwin: ['/Applications/Firefox.app/Contents/MacOS/firefox-bin'], win32: [ process.env.LOCALAPPDATA + '\\Mozilla Firefox\\firefox.exe', diff --git a/browsers/index.js b/browsers/index.js index 9824b3c..b52c25d 100644 --- a/browsers/index.js +++ b/browsers/index.js @@ -11,5 +11,9 @@ module.exports = { 'Opera': require('./opera'), 'Safari Technology Preview': require('./safari-tech-preview'), 'Safari': require('./safari'), - 'Vivaldi': require('./vivaldi') + 'Vivaldi': require('./vivaldi'), + 'Brave Nightly': require('./brave-nightly'), + 'Brave Beta': require('./brave-beta'), + 'Chrome Beta': require('./chrome-beta'), + 'Firefox Beta': require('./firefox-beta'), }; diff --git a/package-lock.json b/package-lock.json index 73af3e7..a87d74f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -812,9 +812,9 @@ } }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -1962,9 +1962,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "html-encoding-sniffer": { @@ -2929,9 +2929,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.sortby": { @@ -3326,9 +3326,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "performance-now": { @@ -4247,9 +4247,9 @@ "dev": true }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-fast-properties": { @@ -4601,9 +4601,9 @@ } }, "ws": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", - "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", "dev": true }, "xml-name-validator": { @@ -4619,9 +4619,9 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index c02f80b..eef8602 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "repository": "https://github.com/Subash/detect-browsers", "license": "MIT", "main": "index.js", + "scripts": { + "test": "jest" + }, "dependencies": { "which": "^2.0.2" },