diff --git a/bin/validate.js b/bin/validate.js index 75a674638..f28ecb17a 100755 --- a/bin/validate.js +++ b/bin/validate.js @@ -58,6 +58,7 @@ try { } }) + // Validate regular expression try { // eslint-disable-next-line no-new new RegExp(regex) @@ -65,6 +66,7 @@ try { throw new Error(`${error.message} (${id})`) } + // Count capture groups const groups = new RegExp(`${regex}|`).exec('').length - 1 if (groups > maxGroups) { diff --git a/package.json b/package.json index 11b8fbaff..1fb93d26b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,8 @@ "dependencies": { "@prantlf/jsonlint": "^10.2.0", "adm-zip": "^0.4.14", - "convert-svg-to-png": "^0.5.0" + "convert-svg-to-png": "^0.5.0", + "languagedetect": "^2.0.0" }, "devDependencies": { "@nuxtjs/eslint-config": "^1.0.1", @@ -20,6 +21,7 @@ "validate": "yarn run lint && jsonlint -qV ./schema.json ./src/apps.json && node ./bin/validate.js", "convert": "cd ./src/drivers/webextension/images/icons ; cp *.svg converted ; cd converted ; convert-svg-to-png *.svg --width 32 --height 32 ; rm *.svg", "prettify": "jsonlint -si --trim-trailing-commas --enforce-double-quotes ./src/apps.json", - "build": "yarn run link && yarn run validate && yarn run prettify && yarn run convert && node ./bin/build.js" + "build": "yarn run link && yarn run validate && yarn run prettify && yarn run convert && node ./bin/build.js", + "build:safari": "xcrun safari-web-extension-converter --swift --project-location build --force src/drivers/webextension" } } diff --git a/run b/run deleted file mode 100755 index 6e8c89a10..000000000 --- a/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -cd "$(dirname $0)" - -if [[ -z "$(which docker)" ]]; then - echo "Please install Docker from https://www.docker.com" - - exit 1 -fi - -cmd="docker run --rm -v "$(pwd):/opt/wappalyzer" -it wappalyzer/dev" - -$cmd sh -c "\ - yarn install; \ - cd ../npm; \ - yarn install" - -$cmd ./bin/run links -$cmd ./bin/run $@ diff --git a/src/README.md b/src/README.md index 3c475aa18..bf37bfeab 100644 --- a/src/README.md +++ b/src/README.md @@ -16,7 +16,8 @@ $ npm i wappalyzer-core const fs = require('fs') const Wappalyzer = require('./wappalyzer') -// See https://www.wappalyzer.com/docs/dev/specification +// See https://www.wappalyzer.com/docs/dev/specification or use +// https://raw.githubusercontent.com/AliasIO/wappalyzer/master/src/apps.json const { apps: technologies, categories } = JSON.parse( fs.readFileSync('./apps.json') ) diff --git a/src/apps.json b/src/apps.json index d777d3938..7ba0682f9 100644 --- a/src/apps.json +++ b/src/apps.json @@ -39,6 +39,16 @@ "script": "https\\:\\/\\/track\\.91app\\.io\\/track\\.js\\?", "website": "https://www.91app.com/" }, + "@sulu/web": { + "cats": [ + 59 + ], + "icon": "Sulu.svg", + "js": { + "web.startComponents": "" + }, + "website": "https://github.com/sulu/web-js" + }, "A-Frame": { "cats": [ 25 @@ -80,7 +90,10 @@ "cats": [ 12 ], - "html": "]* (?:amp|⚡)[^-]", + "html": [ + "]* (?:amp|⚡)[^-]", + "]+aria-labelledby=\"pi-american_express", + "icon": "Amex.svg", + "website": "https://www.americanexpress.com" + }, "Ametys": { "cats": [ 1 @@ -942,6 +1014,17 @@ "script": "adnxs\\.(?:net|com)", "website": "http://appnexus.com" }, + "Apple Pay": { + "cats": [ + 41 + ], + "html": [ + "<[^>]+aria-labelledby=\"pi-apple_pay", + "