Skip to content

nuxtlabs/vue-telescope-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vue Telescope Analyzer

CLI to analyze a website and detect Vue and its ecosystem ✨

Discover Vue websites in your browser using the Vue Telescope Chrome / Firefox / Edge extension 💚

Installation

npm i -g vue-telescope-analyzer

Usage

vta [url]

# Example
vta https://nuxt.com

render1585566509798

It supports multiple frameworks, UI libraries and Vue plugins.

Frameworks

To support a new Vue framework, please look at detectors/frameworks.json.

UI Libraries

To support a new UI library, please look at detectors/uis.json.

Vue Plugins

To support a new Vue plugin, please look at detectors/plugins.json.

Nuxt Info

When Nuxt is detected as a framework, it will also detect:

  • If the website is server-rendered (mode: 'universal')
  • If the website is static (nuxt generate)

See detectors/nuxt.meta.json for the detection.

It will also detect the Nuxt modules used, refer to detectors/nuxt.modules.json to support new Nuxt modules.

NPM Module

You can use vue-telescope-analyzer locally on your project:

npm install vue-telescope-analyzer # Or yarn add vue-telescope-analyzer

Then you can use the module in your project:

const analyze = require('vue-telescope-analyzer')

analyze('https://nuxt.com')
  .then(result => console.log(result))
  .catch(error => console.error(error))

Result:

{ url: 'https//nuxt.com/',
  hostname: 'nuxt.com',
  domain: 'nuxt.com',
  meta:
   { language: 'en',
     title: 'Nuxt: The Intuitive Vue Framework · Nuxt',
     description:
      'Nuxt is an open source framework that makes web development intuitive and powerful. Create performant and production-grade full-stack web apps and websites with confidence.',
     siteName: 'Nuxt',
     isAdultContent: false },
  vueVersion: '3.4.21',
  hasSSR: true,
  isStatic: true,
  framework:
   { slug: 'nuxtjs',
     name: 'Nuxt',
     imgPath: '/framework/nuxt.svg',
     url: 'https://nuxt.com',
     version: '3.10.3' },
  plugins:
   [ { slug: 'vue-router',
       name: 'vue-router',
       imgPath: null,
       url: 'https://router.vuejs.org/' } ],
  ui:
   { slug: 'tailwind-css',
     name: 'Tailwind CSS',
     imgPath: '/ui/tailwind.svg',
     url: 'https://tailwindcss.com/' },
  frameworkModules:
   [ { slug: 'nuxt-content',
       name: '@nuxt/content',
       imgPath: null,
       url: 'https://content.nuxtjs.org' },
     { slug: 'nuxtjs-color-mode',
       name: '@nuxtjs/color-mode',
       imgPath: null,
       url: 'https://color-mode.nuxtjs.org' },
     { slug: 'nuxt-ui', name: '@nuxt/ui', imgPath: null, url: 'https://ui.nuxt.com' },
     { slug: 'nuxt-ui-pro',
       name: '@nuxt/ui-pro',
       imgPath: null,
       url: 'https://ui.nuxt.com/pro' } ],
  screenshot: '/var/folders/.../00b97a2040a9aeffc8d5c9d855d2643a.jpg' }

Contributing

  1. Clone this repository
  2. Install dependencies using yarn install or npm install
  3. Update the code right inside src/ or detectors/
  4. Test it with ./bin/vta.js https://your-url-to-test
  5. If you add a new detector, please add the icon in icons/ (SVG cleaned with SVGOMG)

License

MIT License