]*id=\"pb-root\"",
- "icon": "Arc-Publishing.svg",
+ "description": "Arc XP is a cloud-based digital experience platform that helps enterprise companies, retail brands and media and entertainment organization create and distribute content, drive digital commerce, and deliver powerful experiences.",
+ "dom": "#pb-root",
+ "icon": "Arc XP.svg",
"js": {
"Fusion.arcSite": ""
},
- "website": "https://www.arcpublishing.com/"
+ "pricing": [
+ "recurring",
+ "poa",
+ "high"
+ ],
+ "saas": true,
+ "website": "https://www.arcxp.com"
},
"ArcGIS API for JavaScript": {
"cats": [
@@ -2970,6 +3093,16 @@
},
"website": "http://www.arvancloud.com"
},
+ "Asana": {
+ "cats": [
+ 13
+ ],
+ "description": "Asana is a web and mobile application designed to help teams organize, track, and manage their work.",
+ "dom": "a[href*='form.asana.com'], a[href*='app.asana.com']",
+ "icon": "Asana.svg",
+ "saas": true,
+ "website": "https://asana.com"
+ },
"AsciiDoc": {
"cats": [
1,
@@ -3033,26 +3166,6 @@
"scriptSrc": "themes/astra\\S*\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
"website": "https://wpastra.com/"
},
- "Astro": {
- "cats": [
- 57,
- 12
- ],
- "description": "Astro is a new JavaScript-based static site builder.",
- "icon": "Astro.svg",
- "dom": {
- "link[href*='/_astro/']": {
- "attributes": {
- "href": "/_astro/(?:common|index)-[\\d\\w]+\\.css"
- }
- }
- },
- "oss": true,
- "pricing": [
- "freemium"
- ],
- "website": "https://astro.build"
- },
"Astra Widgets": {
"cats": [
87,
@@ -3076,6 +3189,26 @@
],
"website": "https://wpastra.com/did-you-know-astra-is-widget-ready"
},
+ "Astro": {
+ "cats": [
+ 57,
+ 12
+ ],
+ "description": "Astro is a new JavaScript-based static site builder.",
+ "dom": {
+ "link[href*='/_astro/']": {
+ "attributes": {
+ "href": "/_astro/(?:common|index)-[\\d\\w]+\\.css"
+ }
+ }
+ },
+ "icon": "Astro.svg",
+ "oss": true,
+ "pricing": [
+ "freemium"
+ ],
+ "website": "https://astro.build"
+ },
"Astute Solutions": {
"cats": [
53
@@ -3274,15 +3407,18 @@
"cats": [
12
],
- "html": [
- "<[^>]+aurelia-app=[^>]",
- "<[^>]+data-main=[^>]aurelia-bootstrapper",
- "<[^>]+au-target-id=[^>]\\d"
- ],
+ "description": "Aurelia is an open-source UI JavaScript framework designed to create single page applications.",
+ "dom": "div[aurelia-app], body[aurelia-app], a[au-target-id]",
"icon": "Aurelia.svg",
- "scriptSrc": [
- "aurelia(?:\\.min)?\\.js"
+ "js": {
+ "_aureliaConfigureModuleLoader": "",
+ "localAurelia": ""
+ },
+ "oss": true,
+ "pricing": [
+ "freemium"
],
+ "scriptSrc": "/aurelia[\\d\\w\\-\\.]+\\.js",
"website": "http://aurelia.io"
},
"Auryc": {
@@ -3373,14 +3509,16 @@
"cats": [
6
],
- "html": "
]* href=\"https?://edge\\.avangate\\.net/",
+ "description": "Avangate (2Checkout) is a digital ecommerce platform for businesses that sell physical goods or digital products.",
"icon": "Avangate.svg",
+ "implies": "Verifone 2Checkout",
"js": {
- "__avng8_": "",
- "avng8_": ""
+ "AvaCart.version": "(.+)\\;version:\\1",
+ "__avng8_callbacks": "",
+ "avaSlugify": ""
},
"scriptSrc": "^https?://edge\\.avangate\\.net/",
- "website": "http://avangate.com"
+ "website": "https://www.2checkout.com"
},
"Avasize": {
"cats": [
@@ -3735,15 +3873,5 @@
"icon": "augmented-ui.png",
"oss": true,
"website": "http://augmented-ui.com"
- },
- "Asana": {
- "cats": [
- 13
- ],
- "description": "Asana is a web and mobile application designed to help teams organize, track, and manage their work.",
- "dom": "a[href*='form.asana.com'], a[href*='app.asana.com']",
- "icon": "Asana.svg",
- "saas": true,
- "website": "https://asana.com"
}
-}
+}
\ No newline at end of file
diff --git a/src/technologies/b.json b/src/technologies/b.json
index b98fc18f7..4ef32210e 100644
--- a/src/technologies/b.json
+++ b/src/technologies/b.json
@@ -13,21 +13,27 @@
"cats": [
12
],
+ "description": "BEM (Block, Element, Modifier) is a naming convention for classes in HTML and CSS what was developed by Yandex.",
"html": "<[^>]+data-bem",
"icon": "BEM.png",
+ "oss": true,
+ "pricing": [
+ "freemium"
+ ],
"website": "http://en.bem.info"
},
"BIGACE": {
"cats": [
1
],
- "html": "(?:Powered by
]+BIGACE|",
- "icon": "yahoo.png",
+ "icon": "Yahoo.svg",
"scriptSrc": "b\\.yjtag\\.jp/iframe",
"website": "https://tagmanager.yahoo.co.jp/"
},
+ "Yampi Virtual store": {
+ "cats": [
+ 6
+ ],
+ "description": "Yampi Virtual store is an ecommerce platform from Brazil.",
+ "icon": "Yampi.svg",
+ "implies": "Yampi Checkout",
+ "js": {
+ "Yampi.api_domain": "",
+ "Yampi.cart_token": ""
+ },
+ "scriptSrc": "cdn\\.yampi\\.io/",
+ "saas": true,
+ "pricing": [
+ "recurring",
+ "poa"
+ ],
+ "website": "https://www.yampi.com.br/loja-virtual"
+ },
+ "Yampi Checkout": {
+ "cats": [
+ 41
+ ],
+ "description": "Yampi Checkout is an payment processor from Brazil.",
+ "icon": "Yampi.svg",
+ "js": {
+ "yampiCheckoutUrl": ""
+ },
+ "saas": true,
+ "pricing": [
+ "payg"
+ ],
+ "website": "https://www.yampi.com.br/checkout"
+ },
"Yahoo! Web Analytics": {
"cats": [
10
],
- "icon": "yahoo.png",
+ "icon": "Yahoo.svg",
"js": {
"YWA": ""
},
diff --git a/src/technologies/z.json b/src/technologies/z.json
index 53b23a970..c14090ed7 100644
--- a/src/technologies/z.json
+++ b/src/technologies/z.json
@@ -40,6 +40,59 @@
"url": "\\/zabbix\\/\\;confidence:30",
"website": "http://zabbix.com"
},
+ "Zakeke": {
+ "cats": [
+ 76
+ ],
+ "description": "Zakeke is a product customisation tool compatible with services and apps mostly used to manage ecommerce store.",
+ "icon": "Zakeke.png",
+ "js": {
+ "zakekeBoot": "",
+ "zakekeCustomizeLabel": "",
+ "zakekeLoading": "",
+ "zakekeProductPage": ""
+ },
+ "pricing": [
+ "recurring",
+ "low"
+ ],
+ "saas": true,
+ "website": "https://www.zakeke.com"
+ },
+ "Zakeke Interactive Product Designer": {
+ "cats": [
+ 87,
+ 76
+ ],
+ "description": "Zakeke Interactive Product Designer lets customers personalise any product and visualise how they’ll look before checking out.",
+ "icon": "Zakeke.png",
+ "implies": "Zakeke",
+ "pricing": [
+ "recurring",
+ "low"
+ ],
+ "requires": "WooCommerce",
+ "saas": true,
+ "scriptSrc": "/wp-content/plugins/zakeke-interactive-product-designer/.+\\.js(?:\\?ver=(\\d+(?:\\.\\d+)+))?\\;version:\\1",
+ "website": "https://www.zakeke.com"
+ },
+ "Zakeke Visual Customizer": {
+ "cats": [
+ 100,
+ 76
+ ],
+ "description": "Zakeke Visual Customizer is a cloud-connected visual ecommerce tool that allows brands and retailers to offer live, personalised, 2D, 3D, and augmented reality (AR) functionality for their products.",
+ "icon": "Zakeke.png",
+ "implies": "Zakeke",
+ "pricing": [
+ "recurring",
+ "low"
+ ],
+ "requires": "Shopify",
+ "saas": true,
+ "scriptSrc": "\\.zakeke\\.com/Scripts/integration/shopify/",
+ "website": "https://www.zakeke.com"
+ },
"Zakra": {
"cats": [
80
diff --git a/src/wappalyzer.js b/src/wappalyzer.js
index 65bbae6c0..a4481b4fa 100644
--- a/src/wappalyzer.js
+++ b/src/wappalyzer.js
@@ -554,10 +554,17 @@ const Wappalyzer = {
return technology[type].reduce((technologies, pattern) => {
const startTime = Date.now()
- if (pattern.regex.test(value)) {
+ const matches = pattern.regex.exec(value)
+
+ if (matches) {
technologies.push({
technology,
- pattern,
+ pattern: {
+ ...pattern,
+ type,
+ value,
+ match: matches[0],
+ },
version: Wappalyzer.resolveVersion(pattern, value),
})
}
@@ -581,10 +588,17 @@ const Wappalyzer = {
patterns.forEach((pattern) => {
const startTime = Date.now()
- if (pattern.regex.test(value)) {
+ const matches = pattern.regex.exec(value)
+
+ if (matches) {
technologies.push({
technology,
- pattern,
+ pattern: {
+ ...pattern,
+ type,
+ value,
+ match: matches[0],
+ },
version: Wappalyzer.resolveVersion(pattern, value),
})
}
@@ -618,10 +632,17 @@ const Wappalyzer = {
values.forEach((value) => {
const startTime = Date.now()
- if (pattern.regex.test(value)) {
+ const matches = pattern.regex.exec(value)
+
+ if (matches) {
technologies.push({
technology,
- pattern,
+ pattern: {
+ ...pattern,
+ type,
+ value,
+ match: matches[0],
+ },
version: Wappalyzer.resolveVersion(pattern, value),
})
}